players.list: Add, for our GoGoD research
[gostyle.git] / data_about_players.py
blob95843b88cc22a4857ff388adad7921f263fb7320
1 #!/usr/bin/python
2 from gostyle import PlayerStrategyIdentificator
4 class Data:
5 ### A path to a main pattern file that should contain the most representative patterns along with their occurences
6 ### For its precise format, see `gostyle.py'
7 main_pat_filename = '../pdb-cont/all.pat'
8 ### Folder with player pat files
9 pat_files_folder = '../pdb-cont/pat_files/'
10 ### Pat files should be named ater players
12 ### Explicit list of players
13 players_all = ['Takemiya Masaki', 'Cho Tae-hyeon', 'Yoda Norimoto', 'Chen Zude', 'Sakata Eio', 'Luo Xihe', 'Gu Li', 'Jie Li', 'Cho Chikun', 'Cho U', 'Suzuki Goro', 'O Meien', 'Miyazawa Goro', 'Wu Songsheng', 'Ma Xiaochun', 'Yasuda Shusaku', 'Kuwahara Shusaku', 'Honinbo Shusaku', 'Go Seigen', 'Shao Zhenzhong', "Yi Ch'ang-ho", 'Ishida Yoshio', 'Kobayashi Koichi', 'Rui Naiwei', 'Yi Se-tol', 'Kato Masao', 'Nie Weiping']
14 #players_all = ['Chen Yaoye', 'Chen Zude', 'Cho Chikun', 'Cho Tae-hyeon', 'Cho U', 'Fujisawa Hideyuki', 'Go Seigen', 'Gu Li', 'Hane Naoki', 'Honinbo Dosaku', 'Honinbo Shusaku', 'Honinbo Shuwa', 'Huang Longshi', 'Ishida Yoshio', 'Jie Li', 'Kato Masao', 'Kato Shin', 'Kobayashi Koichi', 'Kuwahara Shusaku', 'Luo Xihe', 'Ma Xiaochun', 'Miyazawa Goro', 'Nie Weiping', 'O Meien', 'Otake Hideo', 'Rui Naiwei', 'Sakata Eio', 'Shao Zhenzhong', 'Suzuki Goro', 'Takao Shinji', 'Takemiya Masaki', 'Wu Songsheng', 'Yamashita Keigo', 'Yasuda Shusaku', "Yi Ch'ang-ho", 'Yi Se-tol', 'Yoda Norimoto', 'Yuki Satoshi']
16 ### Thist is used for StrategyOutputVectorGenerator (see gostyle.py)
17 strategy_players = {
18 "territorial":[ 'Cho Chikun', 'Cho U', 'Suzuki Goro'],
19 "agressive":[ 'Kobayashi Koichi', 'Rui Naiwei', 'Yi Se-tol' ],
20 "careful":[ "Yi Ch'ang-ho", 'Ishida Yoshio' ],
21 "moyo":[ 'Takemiya Masaki', 'Cho Tae-hyeon'],
22 "attacking":[ 'Kato Masao', 'Nie Weiping'],
23 "flexible":[ 'Ma Xiaochun' , 'Yasuda Shusaku', 'Kuwahara Shusaku', 'Honinbo Shusaku', 'Go Seigen', 'Shao Zhenzhong' ],
24 "wild":[ 'O Meien', 'Miyazawa Goro', 'Wu Songsheng'],
25 "tesuji focused":[ 'Sakata Eio', 'Luo Xihe', 'Gu Li', 'Jie Li'],
26 "misc":[ 'Yoda Norimoto', 'Chen Zude' ]
29 ### Thist is used for PlanarOutputVectorGenerator (see gostyle.py)
30 player_vector = {
31 "Cho Chikun": [ 1.0, 0.0 ],
32 "Yi Se-tol": [ 0.0, 1.0 ],
33 "Yi Ch'ang-ho": [ 0.0, -1.0 ],
34 "Ma Xiaochun": [ 0.0, 0.0 ],
35 #"Honinbo Shusaku": [ 0.0, 0.0 ],
36 #"Go Seigen": [ 0.0, 0.0 ],
37 "Ishida Yoshio": [ 0.0, -0.5 ],
38 "Rui Naiwei": [ 0.5, 1.0 ],
39 "Sakata Eio": [ 0.5, 0.5 ],
40 "Takemiya Masaki": [ -1.0, 0.0 ]}
42 questionare_vit_brun = {
43 "Chen Yaoye": (7, 5, 7, 6),
44 "Cho Chikun": (9, 7, 7, 9),
45 "Cho U": (4, 6, 7, 4),
46 "Gu Li": (5, 6, 9, 5),
47 "Ishida Yoshio": (6, 3, 5, 5),
48 "Luo Xihe": (8, 4, 7, 7),
49 "Ma Xiaochun": (5, 7, 7, 7),
50 "O Meien": (3, 9, 6, 5),
51 "Otake Hideo": (4, 3, 6, 5),
52 "Rui Naiwei": (5, 6, 8, 5),
53 "Sakata Eio": (6, 4, 8, 6),
54 "Takemiya Masaki": (1, 4, 7, 2),
55 "Yi Ch'ang-ho 2004-": (7, 6, 4, 4),
56 "Yi Ch'ang-ho 2005+": (7, 6, 6, 4),
57 "Yi Se-tol": (6, 5, 9, 5),
58 "Yoda Norimoto": (4, 4, 7, 3)
60 questionare_motoki_noguchi = {
61 "Cho Chikun": (8, 9, 8, 8 ),
62 "Cho U": (9, 7, 6, 8),
63 "Gu Li": (7, 8, 10, 4 ),
64 "Ishida Yoshio": (9, 6, 2, 6),
65 "Luo Xihe": (6, 8, 9, 7 ),
66 "Ma Xiaochun": (9, 6, 7, 8),
67 "O Meien": (1, 10, 10, 2 ),
68 "Otake Hideo": (4, 3, 5, 3),
69 "Rui Naiwei": (6, 6, 10, 2),
70 "Sakata Eio": (10, 5, 6, 10),
71 "Takemiya Masaki": (2,6, 6, 1),
72 "Yi Ch'ang-ho 2004-": (8, 3, 2, 3),
73 "Yi Se-tol": (5, 10, 10, 8 ),
74 "Yoda Norimoto": (8, 2, 2, 5),
75 "Fujisawa Hideyuki": (4, 8, 7, 4 ),
76 "Go Seigen": (8, 10, 9, 6),
77 "Hane Naoki": (8, 2, 4, 6 ),
78 "Honinbo Dosaku": (2, 10, 8, 5 ),
79 "Honinbo Shusaku": (8, 3, 2, 6),
80 "Honinbo Shuwa": (10, 8, 2, 10),
81 "Kato Masao": (2,3, 9, 4),
82 "Kobayashi Koichi": (8, 3, 3, 6),
83 "Miyazawa Goro": (1, 10, 10, 3),
84 "Takao Shinji": (4, 3, 7, 4 ),
85 "Yamashita Keigo": (2, 8, 10, 4 ),
86 "Yuki Satoshi": (2, 8, 10, 4)
88 questionare_alex_dinner = {
89 "Chen Yaoye": (5, 3, 5, 5),
90 "Cho Chikun": (10, 7, 5, 10),
91 "Cho U": (9, 5, 3, 7),
92 "Gu Li": (5, 7, 8, 3),
93 "Ishida Yoshio": (9, 6, 3, 5),
94 "Luo Xihe": (8, 10, 7, 4),
95 "Ma Xiaochun": (10, 6, 3, 9),
96 "O Meien": (4, 10, 9, 4),
97 "Otake Hideo": (5, 3, 3, 3),
98 "Rui Naiwei": (3, 5, 9, 3),
99 "Sakata Eio": (7, 5, 8, 8),
100 "Takemiya Masaki": (1, 9, 8, 1),
101 "Yi Ch'ang-ho 2004-": (6, 6, 2, 1),
102 "Yi Ch'ang-ho 2005+": (5, 4, 5, 3),
103 "Yi Se-tol": (5, 5, 9, 7),
104 "Yoda Norimoto": (7, 7, 4, 2),
105 "Chen Zude": (3, 8, 6, 5),
106 "Cho Tae-hyeon": (1, 4, 4, 2),
107 "Fujisawa Hideyuki": (3, 10, 7, 4),
108 "Go Seigen": (4, 8, 7, 4),
109 "Hane Naoki": (7, 3, 4, 3),
110 "Jie Li (USA)": (5, 3, 5, 4),
111 "Kato Masao": (3, 6, 10, 4),
112 "Kobayashi Koichi": (10, 2, 2, 5),
113 "Miyazawa Goro": (2, 10, 9, 5),
114 "Nie Weiping": (3, 7, 8, 4),
115 "Shao Zhenzhong": (4, 5, 5, 4),
116 "Suzuki Goro": (4, 7, 5, 5),
117 "Takao Shinji": (6, 4, 4, 5),
118 "Wu Songsheng": (2, 10, 7, 4),
119 "Yamashita Keigo": (2, 10, 9, 2),
120 "Yuki Satoshi": (4, 9, 8, 5),
121 "breakfast": (7, 7, 3, 4),
122 "rapyuta/daien": (4, 7, 6, 5),
123 "MilanMilan": (5, 5, 6, 4),
124 "roln111-": (6, 5, 7, 5),
125 "somerville": (4, 5, 5, 6),
126 "artem92-": (7, 4, 3, 2),
127 "TheCaptain": (3, 8, 7, 6)
129 questionare_list = [ questionare_vit_brun, questionare_motoki_noguchi, questionare_alex_dinner ]
131 def questionare_variance():
132 import numpy
133 total={}
134 count={}
135 for questionare in Data.questionare_list:
136 for name in questionare.keys():
137 if name in count:
138 count[name] += 1
139 else:
140 count[name] = 1
141 total[name] = []
142 total[name].append(questionare[name])
144 l=[]
145 for name, counter in count.items():
146 l.append( (counter, name) )
147 l.sort()
148 l.reverse()
149 variance=[]
150 for counter, name in l:
151 if counter > 1:
152 print counter, name
153 a = numpy.array(total[name]).transpose()
154 print "(",
155 for b in a[:-1]:
156 print u"%2.3f \u00B1 %2.3f, "%(b.mean(), numpy.sqrt(b.var())),
157 variance.append(numpy.sqrt(b.var()))
158 b=a[-1]
159 print u"%2.3f \u00B1 %2.3f"%(b.mean(), numpy.sqrt(b.var())),
160 variance.append(numpy.sqrt(b.var()))
161 print ")"
162 print "Mean standard deviation is: %2.3f"%(numpy.sqrt(numpy.array(variance).var()))
164 if __name__ == '__main__':
165 import sys
167 for arg in sys.argv:
168 if arg == '-p' or arg == '--all-players':
169 for p in Data.players_all:
170 print p
171 if arg == '-h' or arg == '--help':
172 print sys.argv[0], " [OPTIONS]"
173 print """
175 OPTIONS
176 -p, --all-players
177 prints a list of known players to the STDOUT.
178 -h, --help
179 help!