Support new data

This commit is contained in:
wjsjwr 2023-03-15 21:16:16 +08:00
parent f2055389a8
commit e1dc0fb189
25 changed files with 431 additions and 492 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.5.2 (C:\Users\wjs\Anaconda3\python.exe)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="C:\Users\wjs\anaconda3" project-jdk-type="Python SDK" />
</project>

View File

@ -1,12 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.idea/inspectionProfiles" />
<excludeFolder url="file://$MODULE_DIR$/graph" />
<excludeFolder url="file://$MODULE_DIR$/new-cr" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-2022-pd" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-2022-sd" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-casual" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-compete" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-latest" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-new" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-no-tr" />
<excludeFolder url="file://$MODULE_DIR$/wos-data-sanitized" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="py.test" />
<option name="PROJECT_TEST_RUNNER" value="py.test" />
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -1,149 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AnalysisUIOptions">
<option name="ANALYZE_INJECTED_CODE" value="false" />
<option name="SCOPE_TYPE" value="3" />
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="3b8f67a0-ea53-4209-a86f-9effd70f9663" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/plot_cluster_size.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/sb_variant.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/sb_vs_human.py" afterDir="false" />
<list default="true" id="9f251ebf-45a1-4c0b-8e8b-b8f0712eb973" name="Changes" comment="sync">
<change afterPath="$PROJECT_DIR$/s_r.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/swdata.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/swdata.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cluster_stat.py" beforeDir="false" afterPath="$PROJECT_DIR$/cluster_stat.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/calc_reward3.py" beforeDir="false" afterPath="$PROJECT_DIR$/calc_reward3.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/calc_survivals.py" beforeDir="false" afterPath="$PROJECT_DIR$/calc_survivals.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gen_neighborhood_new.py" beforeDir="false" afterPath="$PROJECT_DIR$/gen_neighborhood_new.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CRAW_NEW_BA.json" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CRAW_NEW_BA.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CRAW_NEW_WS.json" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CRAW_NEW_WS.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G1142.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G1142.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G1156.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G1156.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G1162.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G1162.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G646.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G646.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G903.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G903.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_G975.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_G975.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_NEW_BA.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_NEW_BA.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/CR_NEW_WS.csv" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/CR_NEW_WS.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/THETA_new_detail.json" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/THETA_new_detail.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/neighborhood_new.json" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/neighborhood_new.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/outputs/survivals_new.json" beforeDir="false" afterPath="$PROJECT_DIR$/outputs/survivals_new.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/theta_r.py" beforeDir="false" afterPath="$PROJECT_DIR$/theta_r.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/winners.json" beforeDir="false" afterPath="$PROJECT_DIR$/winners.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/wos-award/part2/history.py" beforeDir="false" afterPath="$PROJECT_DIR$/wos-award/part2/history.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/wos-award/q.sh" beforeDir="false" afterPath="$PROJECT_DIR$/wos-award/q.sh" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="true" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FUSProjectUsageTrigger">
<session id="445450180">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="1" />
<entry key="project.open.time.4" value="1" />
<entry key="project.opened" value="1" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/br_plot.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="38">
<caret line="7" column="14" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="14" />
<folding>
<element signature="e#0#18#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/draw_network.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="855">
<caret line="48" column="109" selection-start-line="48" selection-start-column="109" selection-end-line="48" selection-end-column="109" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cluster_stat.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="912">
<caret line="52" column="14" selection-start-line="52" selection-start-column="14" selection-end-line="52" selection-end-column="14" />
<folding>
<element signature="e#20#30#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/sb_variant.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="551">
<caret line="30" column="10" selection-start-line="30" selection-start-column="10" selection-end-line="30" selection-end-column="10" />
<folding>
<element signature="e#30#48#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/calc_reward.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/calc_winner_pid.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="532">
<caret line="30" column="33" selection-start-line="12" selection-start-column="8" selection-end-line="30" selection-end-column="33" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/sb_vs_human.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="437">
<caret line="32" column="42" lean-forward="true" selection-start-line="32" selection-start-column="42" selection-end-line="32" selection-end-column="42" />
<folding>
<element signature="e#65#76#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/wos-data-compete/G354.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83676">
<caret line="4404" column="16" selection-start-line="4404" selection-start-column="12" selection-end-line="4404" selection-end-column="16" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/plot_cluster_size.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="15" column="10" selection-start-line="15" selection-start-column="10" selection-end-line="15" selection-end-column="10" />
<folding>
<element signature="e#23#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/eid_plot.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="6" column="16" selection-start-line="6" selection-start-column="7" selection-end-line="6" selection-end-column="16" />
<folding>
<element signature="e#0#18#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
<component name="ChangesViewManager" show_ignored="true">
<option name="groupingKeys">
<option value="directory" />
</option>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
@ -152,73 +52,67 @@
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>4627</find>
<find>4614</find>
</findStrings>
<component name="FlaskConsoleOptions" custom-start-script="import sys&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;from flask.cli import ScriptInfo&#10;locals().update(ScriptInfo(create_app=None).load_app().make_shell_context())&#10;print(&quot;Python %s on %s\nApp: %s [%s]\nInstance: %s&quot; % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))">
<envs>
<env key="FLASK_APP" value="app" />
</envs>
<option name="myCustomStartScript" value="import sys&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;from flask.cli import ScriptInfo&#10;locals().update(ScriptInfo(create_app=None).load_app().make_shell_context())&#10;print(&quot;Python %s on %s\nApp: %s [%s]\nInstance: %s&quot; % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))" />
<option name="myEnvs">
<map>
<entry key="FLASK_APP" value="app" />
</map>
</option>
</component>
<component name="Git.Settings">
<option name="PUSH_AUTO_UPDATE" value="true" />
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="UPDATE_TYPE" value="REBASE" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/draw_network.py" />
<option value="$PROJECT_DIR$/cluster_stat.py" />
<option value="$PROJECT_DIR$/plot_cluster_size.py" />
<option value="$PROJECT_DIR$/sb_variant.py" />
<option value="$PROJECT_DIR$/sb_vs_human.py" />
</list>
</option>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="2560" />
<option name="height" value="1440" />
<component name="ProjectId" id="2LE0Qy9qz1h8d0jphuRbDZcVCRo" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="swdata" type="b2602c69:ProjectViewProjectNode" />
<item name="swdata" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="swdata" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"ASKED_ADD_EXTERNAL_FILES": "true",
"Notification.DisplayName-DoNotAsk-File Watcher Messages": "检测到文件系统同步问题",
"Notification.DoNotAsk-File Watcher Messages": "true",
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"ignore.virus.scanning.warn.message": "true",
"last_opened_file_path": "D:/code/swdata/wos-data-2022-12-16",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"run.code.analysis.last.selected.profile": "aDefault",
"settings.editor.selected.configurable": "ssh.settings",
"vue.rearranger.settings.migration": "true"
},
"keyToStringList": {
"GitStage.ChangesTree.GroupingKeys": [
"directory",
"module",
"repository"
]
}
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\code\swdata\wos-data-2022-12-16" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="\\10.80.15.2\smb\python\swdata\wos-data-2022-pd" />
<recent name="\\10.80.15.2\smb\python\swdata\wos-data-2022-sd" />
</key>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Python.sb_vs_human">
<configuration name="cluster_stat" type="PythonConfigurationType" factoryName="Python" temporary="true">
<component name="RunManager" selected="Python.history">
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -226,20 +120,21 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/cluster_stat.py" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="draw_network" type="PythonConfigurationType" factoryName="Python" temporary="true">
<configuration name="calc_reward3" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -251,16 +146,17 @@
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/draw_network.py" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/calc_reward3.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="plot_cluster_size" type="PythonConfigurationType" factoryName="Python" temporary="true">
<configuration name="gen_neighborhood_new" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -272,16 +168,17 @@
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/plot_cluster_size.py" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/gen_neighborhood_new.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="sb_variant" type="PythonConfigurationType" factoryName="Python" temporary="true">
<configuration name="history" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -289,20 +186,21 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/wos-data-2022-12-16" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/sb_variant.py" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/wos-data-2022-12-16/history.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="sb_vs_human" type="PythonConfigurationType" factoryName="Python" temporary="true">
<configuration name="s_r" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -314,9 +212,32 @@
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/sb_vs_human.py" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/s_r.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="t" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="swdata" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/t.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
@ -324,186 +245,105 @@
<method v="2" />
</configuration>
<list>
<item itemvalue="Python.draw_network" />
<item itemvalue="Python.cluster_stat" />
<item itemvalue="Python.plot_cluster_size" />
<item itemvalue="Python.sb_variant" />
<item itemvalue="Python.sb_vs_human" />
<item itemvalue="Python.calc_reward3" />
<item itemvalue="Python.history" />
<item itemvalue="Python.t" />
<item itemvalue="Python.gen_neighborhood_new" />
<item itemvalue="Python.s_r" />
</list>
<recent_temporary>
<list>
<item itemvalue="Python.sb_vs_human" />
<item itemvalue="Python.sb_variant" />
<item itemvalue="Python.plot_cluster_size" />
<item itemvalue="Python.cluster_stat" />
<item itemvalue="Python.draw_network" />
<item itemvalue="Python.history" />
<item itemvalue="Python.t" />
<item itemvalue="Python.calc_reward3" />
<item itemvalue="Python.s_r" />
<item itemvalue="Python.gen_neighborhood_new" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="SvnConfiguration">
<configuration />
<configuration>C:\Users\wjs\AppData\Roaming\Subversion</configuration>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="3b8f67a0-ea53-4209-a86f-9effd70f9663" name="Default" comment="" />
<created>1542406343161</created>
<created>1675420922555</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1542406343161</updated>
<updated>1675420922555</updated>
<workItem from="1675420924138" duration="2000" />
<workItem from="1675420987807" duration="2000" />
<workItem from="1675421088572" duration="2433000" />
<workItem from="1676030062387" duration="489000" />
<workItem from="1676032233971" duration="183000" />
<workItem from="1676033037926" duration="2000" />
<workItem from="1676046566305" duration="4131000" />
<workItem from="1676906141902" duration="107000" />
<workItem from="1676906257776" duration="155000" />
<workItem from="1676906477224" duration="543000" />
<workItem from="1676907026987" duration="2000" />
<workItem from="1676907060187" duration="1498000" />
<workItem from="1677593734700" duration="2920000" />
<workItem from="1677596708403" duration="5000" />
<workItem from="1677596806445" duration="504000" />
<workItem from="1677597386015" duration="1323000" />
<workItem from="1677598722786" duration="226000" />
<workItem from="1677598983357" duration="1121000" />
<workItem from="1677680449892" duration="2390000" />
<workItem from="1677683534841" duration="928000" />
<workItem from="1678607947994" duration="6650000" />
<workItem from="1678885054861" duration="860000" />
</task>
<task id="LOCAL-00001" summary="sync">
<created>1677599568974</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1677599568974</updated>
</task>
<option name="localTasksCounter" value="2" />
<servers />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="2576" height="1416" extended-state="6" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.13950716" />
<window_info id="Structure" order="1" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Event Log" order="0" side_tool="true" />
<window_info anchor="bottom" id="Message" order="1" />
<window_info anchor="bottom" id="Find" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="right" id="Python Console" order="3" weight="0.39228934" />
<window_info anchor="right" id="Terminal" order="4" weight="0.3298887" />
<window_info anchor="right" id="Version Control" order="5" weight="0.3298887" />
<window_info anchor="right" id="TODO" order="6" weight="0.3298887" />
<window_info anchor="right" id="Run" order="7" visible="true" weight="0.32869634" />
</layout>
<component name="Vcs.Log.History.Properties">
<option name="COLUMN_ID_ORDER">
<list>
<option value="Default.Root" />
<option value="Default.Subject" />
<option value="Default.Author" />
<option value="Default.Date" />
<option value="Space.CommitStatus" />
</list>
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="master" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/wos-data-compete/G302.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-17524" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/wos-data-compete/G421.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-99675" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/wos-data-compete/G448.json">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/wos-data-compete/G481.json">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/wos-data-compete/G254.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-51724" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/br_plot.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="38">
<caret line="7" column="14" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="14" />
<folding>
<element signature="e#0#18#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/draw_network.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="855">
<caret line="48" column="109" selection-start-line="48" selection-start-column="109" selection-end-line="48" selection-end-column="109" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cluster_stat.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="912">
<caret line="52" column="14" selection-start-line="52" selection-start-column="14" selection-end-line="52" selection-end-column="14" />
<folding>
<element signature="e#20#30#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/sb_variant.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="551">
<caret line="30" column="10" selection-start-line="30" selection-start-column="10" selection-end-line="30" selection-end-column="10" />
<folding>
<element signature="e#30#48#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/calc_reward.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/calc_winner_pid.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="532">
<caret line="30" column="33" selection-start-line="12" selection-start-column="8" selection-end-line="30" selection-end-column="33" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/wos-data-compete/G354.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83676">
<caret line="4404" column="16" selection-start-line="4404" selection-start-column="12" selection-end-line="4404" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/plot_cluster_size.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="266">
<caret line="15" column="10" selection-start-line="15" selection-start-column="10" selection-end-line="15" selection-end-column="10" />
<folding>
<element signature="e#23#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/eid_plot.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="19">
<caret line="6" column="16" selection-start-line="6" selection-start-column="7" selection-end-line="6" selection-end-column="16" />
<folding>
<element signature="e#0#18#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/sb_vs_human.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="437">
<caret line="32" column="42" lean-forward="true" selection-start-line="32" selection-start-column="42" selection-end-line="32" selection-end-column="42" />
<folding>
<element signature="e#65#76#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<component name="VcsManagerConfiguration">
<MESSAGE value="Changes" />
<MESSAGE value="sync" />
<option name="LAST_COMMIT_MESSAGE" value="sync" />
</component>
</project>

View File

@ -7,10 +7,10 @@ from island.matches import Matches
user_data = {} # user_id => {m => match_count, s => total_score, w => total_win}
winners = {} # match_id => [user_id]
ms = Matches('wos-data-no-tr')
ms = Matches('wos-data-2022-12-16')
for m in ms.data:
print(m.name)
if m.name in ['G1196', 'G1214']:
if 'G' in m.name:
game_end_at = int(m.query('game', 'created').first()['info']['game_end_at'])
for r in m.query('user', 'fitness').raw_data:
if r['user'] not in user_data:

View File

@ -7,7 +7,7 @@ result = {}
# = game_end_at + 1
MAX_ROUND = 29
for f in Path('wos-data-2022-1').iterdir():
for f in Path('wos-data-2022-pd').iterdir():
p = Path(f)
if p.suffix == '.json':
name = p.stem
@ -22,11 +22,11 @@ for f in Path('wos-data-2022-1').iterdir():
foods[p['pid']] = conf['start_resource']
survivals[0].append(p['pid'])
for i in range(1, game_end_at+1):
for i in range(1, game_end_at + 1):
survivals[i] = []
for a in m.query('action', 'done').where(lambda x: x['rno'] == i).raw_data:
foods[a['a']] += conf['payoffs']["%s%s"%(a['act_a'], a['act_b'])][0] * a['tr'] / 1440.0
foods[a['b']] += conf['payoffs']["%s%s"%(a['act_a'], a['act_b'])][1] * a['tr'] / 1440.0
foods[a['a']] += conf['payoffs']["%s%s" % (a['act_a'], a['act_b'])][0] * a['tr'] / 1440.0
foods[a['b']] += conf['payoffs']["%s%s" % (a['act_a'], a['act_b'])][1] * a['tr'] / 1440.0
for j in foods.keys():
foods[j] -= conf['rounds']['consumption']
if foods[j] > 0:
@ -39,7 +39,7 @@ for f in Path('wos-data-2022-1').iterdir():
with open("outputs/survivals_new.json", 'w') as f:
json.dump(result, f)
average = [0]*MAX_ROUND
average = [0] * MAX_ROUND
for k, v in result.items():
for r, l in v.items():
average[int(r)] += len(l)
@ -47,11 +47,11 @@ for k, v in result.items():
for i in range(MAX_ROUND):
average[i] /= len(result)
idx=[]
s=[]
for i in range(1,MAX_ROUND):
idx = []
s = []
for i in range(1, MAX_ROUND):
idx.append(str(i))
s.append("%.1f"%average[i])
s.append("%.1f" % average[i])
print(" & ".join(idx))
print(" & ".join(s))

View File

@ -3,7 +3,7 @@ from island.matches import Matches
# matches = Matches.from_profile_expr(lambda r:True)
matches = Matches('wos-data-2022-1')
matches = Matches('wos-data-2022-pd')
neighbors = {}

View File

@ -1 +1 @@
[[0.9329268292682927, 0.926829268292683, 0.845679012345679, 0.8506493506493507, 0.8287671232876712, 0.8375, 0.7608695652173914, 0.8333333333333334, 0.7954545454545454, 0.7214285714285714, 0.7578125, 0.7622950819672131, 0.6384615384615384, 0.5819672131147541], [0.7837837837837838, 0.6785714285714286, 0.76, 0.7727272727272727, 0.7843137254901961, 0.7363636363636363, 0.7653061224489796, 0.7608695652173914, 0.7325581395348837, 0.6794871794871795, 0.7307692307692307], [0.8166666666666667, 0.73, 0.7941176470588235, 0.8292682926829268, 0.75, 0.7159090909090909, 0.7674418604651163, 0.7631578947368421, 0.7, 0.7051282051282052, 0.6219512195121951, 0.6309523809523809, 0.6351351351351351, 0.5697674418604651, 0.48484848484848486, 0.625, 0.6447368421052632, 0.6621621621621622, 0.6125, 0.578125, 0.5714285714285714, 0.5285714285714286, 0.5925925925925926, 0.5833333333333334, 0.5833333333333334, 0.5645161290322581, 0.6212121212121212, 0.65625]]
[[0.9516666666666667, 0.8694444444444446, 0.8660714285714286, 0.8505747126436781, 0.8630952380952381, 0.8392857142857143, 0.8448275862068966, 0.8846153846153846, 0.9022988505747127, 0.896551724137931, 0.8392857142857143, 0.7976190476190477, 0.7820512820512822, 0.8154761904761906, 0.8392857142857143, 0.6481481481481481, 0.7133333333333333, 0.82], [1.0, 0.8823529411764706, 0.7719298245614036, 0.875, 0.8235294117647058, 0.875, 0.8235294117647058, 0.8529411764705882, 0.875, 0.8055555555555556, 0.7352941176470589, 0.75, 0.8627450980392157, 0.6842105263157895, 0.7941176470588235, 0.7982456140350878, 0.8425925925925926, 0.7745098039215687, 0.8125, 0.78125, 0.6388888888888888, 0.8125, 0.712962962962963, 0.7352941176470589, 0.7058823529411765, 0.8]]

View File

@ -1 +1 @@
[[0.9274809160305344, 0.8943089430894309, 0.8925619834710744, 0.8878504672897196, 0.8773584905660378, 0.8387096774193549, 0.8333333333333334, 0.8411764705882353, 0.7658227848101266, 0.8035714285714286, 0.788235294117647, 0.7352941176470589, 0.689873417721519, 0.6818181818181818], [0.91015625, 0.9217391304347826, 0.9107142857142857, 0.9030612244897959, 0.8939393939393939, 0.907608695652174, 0.8764705882352941, 0.8166666666666667, 0.788235294117647, 0.7528089887640449, 0.65, 0.5602409638554217, 0.49375, 0.30246913580246915, 0.29411764705882354, 0.23026315789473684]]
[[0.7857142857142857, 0.6666666666666666, 0.8571428571428571, 0.8333333333333334, 0.7857142857142857, 0.8823529411764706, 0.8235294117647058, 0.8823529411764706, 0.875, 0.8571428571428571], [0.7727272727272727, 0.6923076923076923, 0.8181818181818182, 0.8181818181818182, 0.8333333333333334, 0.9166666666666666, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8]]

View File

@ -1 +1 @@
0.9274809160305344,0.8943089430894309,0.8925619834710744,0.8878504672897196,0.8773584905660378,0.8387096774193549,0.8333333333333334,0.8411764705882353,0.7658227848101266,0.8035714285714286,0.788235294117647,0.7352941176470589,0.689873417721519,0.6818181818181818
0.91869918699187,0.8779116465863454,0.8761044176706827,0.8419678714859437,0.8704819277108434,0.8082304526748971,0.8174897119341565,0.8685897435897437,0.7583333333333333,0.8206751054852318,0.7885416666666666,0.7133333333333334,0.6875000000000001,0.663377192982456

1 0.9274809160305344 0.91869918699187 0.8943089430894309 0.8779116465863454 0.8925619834710744 0.8761044176706827 0.8878504672897196 0.8419678714859437 0.8773584905660378 0.8704819277108434 0.8387096774193549 0.8082304526748971 0.8333333333333334 0.8174897119341565 0.8411764705882353 0.8685897435897437 0.7658227848101266 0.7583333333333333 0.8035714285714286 0.8206751054852318 0.788235294117647 0.7885416666666666 0.7352941176470589 0.7133333333333334 0.689873417721519 0.6875000000000001 0.6818181818181818 0.663377192982456

View File

@ -1 +1 @@
0.9329268292682927,0.926829268292683,0.845679012345679,0.8506493506493507,0.8287671232876712,0.8375,0.7608695652173914,0.8333333333333334,0.7954545454545454,0.7214285714285714,0.7578125,0.7622950819672131,0.6384615384615384,0.5819672131147541
0.9166666666666666,0.910958904109589,0.8527397260273972,0.8622685185185186,0.8020833333333334,0.8486842105263158,0.7441314553990611,0.8355555555555555,0.7700000000000001,0.708904109589041,0.7226190476190476,0.7345238095238095,0.6446759259259259,0.5657276995305165

1 0.9329268292682927 0.9166666666666666 0.926829268292683 0.910958904109589 0.845679012345679 0.8527397260273972 0.8506493506493507 0.8622685185185186 0.8287671232876712 0.8020833333333334 0.8375 0.8486842105263158 0.7608695652173914 0.7441314553990611 0.8333333333333334 0.8355555555555555 0.7954545454545454 0.7700000000000001 0.7214285714285714 0.708904109589041 0.7578125 0.7226190476190476 0.7622950819672131 0.7345238095238095 0.6384615384615384 0.6446759259259259 0.5819672131147541 0.5657276995305165

View File

@ -1 +1 @@
0.91015625,0.9217391304347826,0.9107142857142857,0.9030612244897959,0.8939393939393939,0.907608695652174,0.8764705882352941,0.8166666666666667,0.788235294117647,0.7528089887640449,0.65,0.5602409638554217,0.49375,0.30246913580246915,0.29411764705882354,0.23026315789473684
0.9016064257028114,0.8841463414634146,0.9084362139917694,0.8794871794871794,0.8910256410256411,0.8925438596491228,0.841111111111111,0.8066239316239315,0.775219298245614,0.7299086757990867,0.6166666666666667,0.5382882882882883,0.48912037037037037,0.2815315315315316,0.31280193236714976,0.2423423423423423

1 0.91015625 0.9016064257028114 0.9217391304347826 0.8841463414634146 0.9107142857142857 0.9084362139917694 0.9030612244897959 0.8794871794871794 0.8939393939393939 0.8910256410256411 0.907608695652174 0.8925438596491228 0.8764705882352941 0.841111111111111 0.8166666666666667 0.8066239316239315 0.788235294117647 0.775219298245614 0.7528089887640449 0.7299086757990867 0.65 0.6166666666666667 0.5602409638554217 0.5382882882882883 0.49375 0.48912037037037037 0.30246913580246915 0.2815315315315316 0.29411764705882354 0.31280193236714976 0.23026315789473684 0.2423423423423423

View File

@ -1 +1 @@
0.7837837837837838,0.6785714285714286,0.76,0.7727272727272727,0.7843137254901961,0.7363636363636363,0.7653061224489796,0.7608695652173914,0.7325581395348837,0.6794871794871795,0.7307692307692307
0.8706140350877194,0.7125541125541126,0.7596899224806203,0.774621212121212,0.7370370370370372,0.7,0.7642276422764227,0.7531746031746033,0.7137037037037038,0.696969696969697,0.7134146341463414

1 0.7837837837837838 0.8706140350877194 0.6785714285714286 0.7125541125541126 0.76 0.7596899224806203 0.7727272727272727 0.774621212121212 0.7843137254901961 0.7370370370370372 0.7363636363636363 0.7 0.7653061224489796 0.7642276422764227 0.7608695652173914 0.7531746031746033 0.7325581395348837 0.7137037037037038 0.6794871794871795 0.696969696969697 0.7307692307692307 0.7134146341463414

View File

@ -1 +1 @@
0.8166666666666667,0.73,0.7941176470588235,0.8292682926829268,0.75,0.7159090909090909,0.7674418604651163,0.7631578947368421,0.7,0.7051282051282052,0.6219512195121951,0.6309523809523809,0.6351351351351351,0.5697674418604651,0.48484848484848486,0.625,0.6447368421052632,0.6621621621621622,0.6125,0.578125,0.5714285714285714,0.5285714285714286,0.5925925925925926,0.5833333333333334,0.5833333333333334,0.5645161290322581,0.6212121212121212,0.65625
0.7779069767441861,0.694047619047619,0.7780487804878048,0.8154761904761905,0.7621951219512195,0.7281746031746031,0.8101626016260163,0.7812499999999999,0.7149122807017544,0.7094017094017093,0.6517094017094016,0.643162393162393,0.6885964912280701,0.6020833333333333,0.5131578947368421,0.6791666666666667,0.6604166666666667,0.6738738738738739,0.6184210526315789,0.5416666666666666,0.5307017543859649,0.5337837837837838,0.6388888888888888,0.6166666666666667,0.6053921568627452,0.5694444444444444,0.6476190476190476,0.6351351351351351

1 0.8166666666666667 0.7779069767441861 0.73 0.694047619047619 0.7941176470588235 0.7780487804878048 0.8292682926829268 0.8154761904761905 0.75 0.7621951219512195 0.7159090909090909 0.7281746031746031 0.7674418604651163 0.8101626016260163 0.7631578947368421 0.7812499999999999 0.7 0.7149122807017544 0.7051282051282052 0.7094017094017093 0.6219512195121951 0.6517094017094016 0.6309523809523809 0.643162393162393 0.6351351351351351 0.6885964912280701 0.5697674418604651 0.6020833333333333 0.48484848484848486 0.5131578947368421 0.625 0.6791666666666667 0.6447368421052632 0.6604166666666667 0.6621621621621622 0.6738738738738739 0.6125 0.6184210526315789 0.578125 0.5416666666666666 0.5714285714285714 0.5307017543859649 0.5285714285714286 0.5337837837837838 0.5925925925925926 0.6388888888888888 0.5833333333333334 0.6166666666666667 0.5833333333333334 0.6053921568627452 0.5645161290322581 0.5694444444444444 0.6212121212121212 0.6476190476190476 0.65625 0.6351351351351351

View File

@ -1 +1 @@
0.9038461538461539,0.831081081081081,0.8066666666666666,0.7246376811594203,0.7578125,0.7236842105263158,0.7364864864864865,0.7121212121212122,0.7071428571428572,0.717948717948718,0.6890243902439024,0.75,0.753968253968254
0.8700980392156863,0.8148148148148147,0.7988262910798122,0.7568493150684931,0.7675799086757991,0.7393162393162392,0.7222222222222222,0.7208333333333333,0.7025974025974026,0.7303921568627452,0.6941056910569106,0.7180365296803652,0.7534246575342466

1 0.9038461538461539 0.8700980392156863 0.831081081081081 0.8148148148148147 0.8066666666666666 0.7988262910798122 0.7246376811594203 0.7568493150684931 0.7578125 0.7675799086757991 0.7236842105263158 0.7393162393162392 0.7364864864864865 0.7222222222222222 0.7121212121212122 0.7208333333333333 0.7071428571428572 0.7025974025974026 0.717948717948718 0.7303921568627452 0.6890243902439024 0.6941056910569106 0.75 0.7180365296803652 0.753968253968254 0.7534246575342466

View File

@ -1 +1 @@
0.8631284916201117,0.800531914893617,0.8076923076923077,0.8208092485549133,0.7946428571428571,0.776536312849162,0.7639751552795031,0.7948717948717948,0.7516778523489933,0.706081081081081,0.7118055555555556,0.7087378640776699,0.6372549019607843,0.5769230769230769,0.48484848484848486,0.625,0.6447368421052632,0.6621621621621622,0.6125,0.578125,0.5714285714285714,0.5285714285714286,0.5925925925925926,0.5833333333333334,0.5833333333333334,0.5645161290322581,0.6212121212121212,0.65625
0.9704081632653061,0.874113475177305,0.8280141843971632,0.8592592592592592,0.8481481481481482,0.8522727272727273,0.8369565217391305,0.872093023255814,0.8925925925925927,0.8617021276595744,0.8,0.7803030303030304,0.813953488372093,0.7624113475177305,0.8222222222222222,0.710144927536232,0.7674418604651163,0.8015873015873017,0.8125,0.78125,0.6388888888888888,0.8125,0.712962962962963,0.7352941176470589,0.7058823529411765,0.8

1 0.8631284916201117 0.9704081632653061 0.800531914893617 0.874113475177305 0.8076923076923077 0.8280141843971632 0.8208092485549133 0.8592592592592592 0.7946428571428571 0.8481481481481482 0.776536312849162 0.8522727272727273 0.7639751552795031 0.8369565217391305 0.7948717948717948 0.872093023255814 0.7516778523489933 0.8925925925925927 0.706081081081081 0.8617021276595744 0.7118055555555556 0.8 0.7087378640776699 0.7803030303030304 0.6372549019607843 0.813953488372093 0.5769230769230769 0.7624113475177305 0.48484848484848486 0.8222222222222222 0.625 0.710144927536232 0.6447368421052632 0.7674418604651163 0.6621621621621622 0.8015873015873017 0.6125 0.8125 0.578125 0.78125 0.5714285714285714 0.6388888888888888 0.5285714285714286 0.8125 0.5925925925925926 0.712962962962963 0.5833333333333334 0.7352941176470589 0.5833333333333334 0.7058823529411765 0.5645161290322581 0.8 0.6212121212121212 0.65625

View File

@ -1 +1 @@
0.918918918918919,0.907563025210084,0.9012875536480687,0.8951219512195122,0.8853658536585366,0.8729729729729729,0.8532608695652174,0.8285714285714286,0.7774390243902439,0.7774566473988439,0.7212121212121212,0.6488095238095238,0.5911949685534591,0.4873417721518987,0.29411764705882354,0.23026315789473684,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
0.78,0.6774193548387096,0.84,0.8260869565217391,0.8076923076923077,0.896551724137931,0.8275862068965517,0.8620689655172413,0.8571428571428571,0.8333333333333334

1 0.918918918918919 0.78 0.907563025210084 0.6774193548387096 0.9012875536480687 0.84 0.8951219512195122 0.8260869565217391 0.8853658536585366 0.8076923076923077 0.8729729729729729 0.896551724137931 0.8532608695652174 0.8275862068965517 0.8285714285714286 0.8620689655172413 0.7774390243902439 0.8571428571428571 0.7774566473988439 0.8333333333333334 0.7212121212121212 0.6488095238095238 0.5911949685534591 0.4873417721518987 0.29411764705882354 0.23026315789473684 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

96
s_r.py Normal file
View File

@ -0,0 +1,96 @@
"""
计算s_r即当轮剩余可用时间总和
输出
json格式
{
"GID": [s_0, s_1, ..., s_n]
}
"""
import json
from island.match import Match
from island.matches import Matches
class Sr:
def __init__(self):
self.details = {}
self.survivals = {}
with open('outputs/survivals_new.json', 'r') as f:
self.survivals = json.load(f)
self.seasons = [
Matches('wos-data-2022-pd')
]
self.results = {}
def get_s_r(self, m: Match, r: int):
"""
获取该轮所有剩余时间
S_r = 存活人数*1440 - 每个成功完成的博弈时间*2
:param m: Match
:param r: Round ID
:returns: s_r
"""
actions = m.query('action', 'done').where(lambda x: x['rno'] == r).raw_data
total_tr = len(self.survivals[m.name][str(r)]) * 1440
for act in actions:
total_tr -= act['tr'] * 2
return total_tr
def calc_season(self, season: Matches):
"""
calc s_r
"""
result = {}
for m in season.data:
game_end_at = int(m.query('game', 'created').first()['info']['game_end_at'])
sr = []
for r in range(1, game_end_at + 1):
sr.append(self.get_s_r(m, r))
result[m.name] = sr
return result
def calc(self):
result = {}
for s in self.seasons:
result.update(self.calc_season(s))
with open('outputs/S_R.json', 'w') as f:
json.dump(result, f)
self.results = result
def save_plot(self, name: str):
if name not in self.results:
print(f'{name} not found')
return
import numpy as np
from matplotlib import pyplot as plt
result = self.results[name]
x = np.arange(1, len(result) + 1)
fig = plt.figure(figsize=(6, 3))
ax = fig.gca()
ax.plot(x, result, 'o--', color='limegreen', linewidth=2, label=r"S_r")
ax.tick_params(labelsize=14)
ax.set_xlim(1, len(result))
ax.set_xticks(x[::2])
ax.set_xlabel("Rounds", size=22)
ax.set_ylabel(r"$S_r$", family='sans-serif', size=22)
plt.legend(numpoints=2, fontsize=14)
plt.tight_layout()
# plt.show()
# plt.savefig("graph/theta_plot.eps")
plt.savefig(f'graph/s_r_{name}.pdf')
if __name__ == '__main__':
e = Sr()
e.calc()
e.save_plot("G646")
e.save_plot("G903")
e.save_plot("G936")
e.save_plot("G933")

View File

@ -22,25 +22,25 @@ import numpy as np
from island.match import Match
from island.matches import Matches
MAX_ROUND = 28 # game_end_at
MAX_ROUND = 28 # game_end_at
class theta_r_i:
def __init__(self):
self.details = {}
self.survivals = {}
with open('outputs/survivals_new.json','r') as f:
with open('outputs/survivals_new.json', 'r') as f:
self.survivals = json.load(f)
self.neighbors = {}
with open('outputs/neighborhood_new.json', 'r') as f:
self.neighbors = json.load(f)
self.seasons = [
dict(season=Matches('wos-data-2022-1', network_type='BA'), name='NEW_BA'),
dict(season=Matches('wos-data-2022-1', network_type='WS'), name='NEW_WS')
dict(season=Matches('wos-data-2022-pd', network_type='BA'), name='NEW_BA'),
dict(season=Matches('wos-data-2022-pd', network_type='WS'), name='NEW_WS')
]
# self.seasonSurvive = Matches.from_profile('SURVIVE')
# self.seasonClassic = Matches.from_profile('CLASSIC')
def getNeighborTR(self, m, r, p, s):
"""
获取该玩家所有邻居的剩余时间
@ -51,16 +51,16 @@ class theta_r_i:
:param s: Survivals list(neighborhood)
:returns: theta_{r}_{i}
"""
actions = m.query('action', 'done')\
.where(lambda x: x['rno'] == r and ((x['a'] in s)or(x['b']in s)))\
.raw_data
actions = m.query('action', 'done') \
.where(lambda x: x['rno'] == r and ((x['a'] in s) or (x['b'] in s))) \
.raw_data
def reduce_func(total, item):
if item['a'] in s and item['b'] in s:
return total + item['tr'] * 2
return total + item['tr']
return 1440*len(s) - reduce(reduce_func, actions, 0)
return 1440 * len(s) - reduce(reduce_func, actions, 0)
def getNeighborhood(self, m, r, p):
"""
@ -76,7 +76,6 @@ class theta_r_i:
return []
return [i for i in self.survivals[m.name][str(r)] if i in self.neighbors[m.name][str(p)]]
def calcRoundData(self, m, r):
"""
计算某场比赛某一轮的theta值
@ -108,15 +107,15 @@ class theta_r_i:
for r in range(1, game_end_at + 1):
sigma, detail = self.calcRoundData(m, r - 1)
d[r] = detail
avg[r-1] += sigma
cnt[r-1] += len(detail)
avg[r - 1] += sigma
cnt[r - 1] += len(detail)
cur_game_avg.append(sigma / len(detail))
self.details[m.name] = d
with open(f'outputs/THETA_{m.name}.csv', 'w') as f:
csv.writer(f).writerow(cur_game_avg)
print(cnt)
for i in range(MAX_ROUND):
if cnt[i] == 0:
for i in range(MAX_ROUND):
if cnt[i] == 0:
cnt[i] = 1
avg /= cnt
with open(f'outputs/THETA_{name}.csv', 'w') as f:
@ -128,7 +127,8 @@ class theta_r_i:
self.calc_season(s['season'], s['name'])
with open('outputs/THETA_new_detail.json', 'w') as f:
json.dump(self.details, f)
if __name__ == '__main__':
e = theta_r_i()
e.calc()

View File

@ -1 +1 @@
{"G1196": [450, 476, 458], "G1214": [496, 561, 460], "G1224": [564, 481, 359], "G1228": [467, 54, 489], "G1230": [408, 480, 463], "G1234": [472, 476, 515]}
{"G1196": [450, 476, 458], "G1214": [496, 561, 460], "G1224": [561, 511, 451], "G1228": [460, 463, 555], "G1230": [463, 559, 511], "G1234": [558, 561, 450]}

View File

@ -8,80 +8,68 @@ score = {}
act_set = {'accept_failed', 'request', 'deny'}
to_print = [359, 502, 413, 512, 460, 451, 473, 511, 489, 255, 342, 481]
username = {}
username[359] = '雷神的小锤子'
username[502] = '囚徒困境'
username[413] = 'luwen'
username[512] = 'Richard'
username[460] = 'CHYK'
username[451] = '海丽可可'
username[473] = 'fyl'
username[511] = '赵子截江夺阿斗'
username[489] = 'J'
username[255] = 'gly'
username[342] = '陈晓宇'
username[481] = 'Arthur'
username = {359: '雷神的小锤子', 502: '囚徒困境', 413: 'luwen', 512: 'Richard', 460: 'CHYK', 451: '海丽可可',
473: 'fyl', 511: '赵子截江夺阿斗', 489: 'J', 255: 'gly', 342: '陈晓宇', 481: 'Arthur'}
G_NAME = dict(G975=1, G1142=2, G1156=3, G1162=4)
G=['G975.json','G1142.json','G1156.json','G1162.json']
G = ['G975.json', 'G1142.json', 'G1156.json', 'G1162.json']
for fn in glob.glob("*.json", recursive=False):
with open(fn, encoding='utf-8') as f:
data = json.load(f)
total_round = int(data[0]['info']['game_end_at'])
uids = {}
for r in data[::-1]:
if r['cat'] == 'game' and r['act'] == 'winner':
for uid in r['data']:
uids[uid] = dict(h=[[] for _ in range(total_round)])
break
with open(fn, encoding='utf-8') as f:
data = json.load(f)
total_round = int(data[0]['info']['game_end_at'])
uids = {}
for r in data[::-1]:
if r['cat'] == 'game' and r['act'] == 'winner':
for uid in r['data']:
uids[uid] = dict(h=[[] for _ in range(total_round)])
break
for uid, d in uids.items():
if uid not in winner:
winner[uid] = {}
for uid, d in uids.items():
if uid not in winner:
winner[uid] = {}
for r in data:
if r['cat'] == 'player' and r['act'] == 'join':
if r['uid'] in uids:
pid2uid[r['pid']] = r['uid']
winner[r['uid']][fn] = uids[r['uid']] | {'p': r['pid']}
if r['cat'] == 'action':
if r['act'] == 'done':
if r['a'] in pid2uid:
winner[pid2uid[r['a']]][fn]['h'][r['rno']-1].append(r)
elif r['b'] in pid2uid:
winner[pid2uid[r['b']]][fn]['h'][r['rno']-1].append(r)
elif r['act'] in act_set:
if r['from'] in pid2uid:
winner[pid2uid[r['from']]][fn]['h'][r['rno']-1].append(r)
for r in data:
if r['cat'] == 'player' and r['act'] == 'join':
if r['uid'] in uids:
pid2uid[r['pid']] = r['uid']
winner[r['uid']][fn] = uids[r['uid']] | {'p': r['pid']}
if r['cat'] == 'action':
if r['act'] == 'done':
if r['a'] in pid2uid:
winner[pid2uid[r['a']]][fn]['h'][r['rno'] - 1].append(r)
elif r['b'] in pid2uid:
winner[pid2uid[r['b']]][fn]['h'][r['rno'] - 1].append(r)
elif r['act'] in act_set:
if r['from'] in pid2uid:
winner[pid2uid[r['from']]][fn]['h'][r['rno'] - 1].append(r)
# print(winner.keys())
symbol = dict(D='🔪',C='🤝')
symbol = dict(D='🔪', C='🤝')
ACT_DONE = "%d. TA出了%s,对方%d出了%s,消耗时间资源%d"
with open("result.txt", "w", encoding="utf-8") as f:
for uid in to_print:
if uid not in winner:
continue
print("\n\n玩家:", username[uid], file=f)
for g in G:
if g not in winner[uid]:
continue
data = winner[uid][g]
print("在第%d场比赛中获胜" % G_NAME[g.split('.')[0]], file=f)
for i, h in enumerate(data['h']):
print("%d轮:" % (i+1), file=f)
for j, r in enumerate(h):
if r['act'] == 'done':
if r['a'] == data['p']:
print(ACT_DONE % (j+1, symbol[r['act_a']], r['b'], symbol[r['act_b']], r['tr']), file=f)
else:
print(ACT_DONE % (j+1, symbol[r['act_b']], r['a'], symbol[r['act_a']], r['tr']), file=f)
elif r['act'] == 'accept_failed':
print("%d. TA因为时间资源不足不得不拒绝了%d" % (j+1, r['to']), file=f)
elif r['act'] == 'request':
print("%d. TA向%d发出了%s请求,时间资源%d" % (j+1, r['to'], symbol[r['action']], r['tr']), file=f)
elif r['act'] == 'deny':
print("%d. TA拒绝了%d的博弈请求。" % (j+1, r['to']), file=f)
for uid in to_print:
if uid not in winner:
continue
print("\n\n玩家:", username[uid], file=f)
for g in G:
if g not in winner[uid]:
continue
data = winner[uid][g]
print("在第%d场比赛中获胜" % G_NAME[g.split('.')[0]], file=f)
for i, h in enumerate(data['h']):
print("%d轮:" % (i + 1), file=f)
for j, r in enumerate(h):
if r['act'] == 'done':
if r['a'] == data['p']:
print(ACT_DONE % (j + 1, symbol[r['act_a']], r['b'], symbol[r['act_b']], r['tr']), file=f)
else:
print(ACT_DONE % (j + 1, symbol[r['act_b']], r['a'], symbol[r['act_a']], r['tr']), file=f)
elif r['act'] == 'accept_failed':
print("%d. TA因为时间资源不足不得不拒绝了%d" % (j + 1, r['to']), file=f)
elif r['act'] == 'request':
print("%d. TA向%d发出了%s请求,时间资源%d" % (j + 1, r['to'], symbol[r['action']], r['tr']),
file=f)
elif r['act'] == 'deny':
print("%d. TA拒绝了%d的博弈请求。" % (j + 1, r['to']), file=f)

View File

@ -1 +1,4 @@
for l in $(cat u.csv); do IFS=',' read -a data <<< "$l"; psql -t -A -F "," -c '\x' -c "SELECT user_id,username,email,total_wins,total_food,average_food FROM users WHERE LOWER(email)=LOWER('${data[2]}') AND LOWER(username)=LOWER('${data[3]}');" $WOS_DB_CONNECT; done
for l in $(cat u.csv); do IFS=',' read -a data <<< "$l"; psql -t -A -F "," -c '\x' -c "SELECT user_id,username,email,total_wins,total_food,average_food FROM users WHERE LOWER(email)=LOWER('${data[2]}') AND LOWER(username)=LOWER('${data[3]}');" $WOS_DB_CONNECT; done
psql -t -A -F "," -c '\x' -c "SELECT user_id,username FROM users;" $WOS_DB_CONNECT > username.csv