Support new data
This commit is contained in:
parent
f2055389a8
commit
e1dc0fb189
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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 sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) from flask.cli import ScriptInfo locals().update(ScriptInfo(create_app=None).load_app().make_shell_context()) print("Python %s on %s\nApp: %s [%s]\nInstance: %s" % (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 sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) from flask.cli import ScriptInfo locals().update(ScriptInfo(create_app=None).load_app().make_shell_context()) print("Python %s on %s\nApp: %s [%s]\nInstance: %s" % (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>
|
||||
@ -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:
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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 = {}
|
||||
|
||||
|
||||
@ -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]]
|
||||
@ -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]]
|
||||
@ -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 +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 +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 +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 +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 +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 +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 +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
|
||||
|
||||
|
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
96
s_r.py
Normal 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")
|
||||
32
theta_r.py
32
theta_r.py
@ -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()
|
||||
|
||||
@ -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]}
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
Loading…
Reference in New Issue
Block a user