7x7 Solution

This pages describes the proof-trees found for all 7x7 Hex opening moves, as described in Solving 7x7 Hex: Virtual Connections and Game-state Reduction, in Advances in Computer Games (2003), Van den Herik/Iida/Heinz eds., 261-278. The above figure shows the value of each possible opening move by the player owning the north and south edges: a blue cell is a winning move, a red cell is a losing move (and the label is a winning responding move).

For the final version of the paper, and to compute the trees described on this webpage, the solver program was compiled with gcc 3.2.3 and run on a 533 MHz Celeron with 128 MB memory running OpenBSD Unix, with the exception of the a4 and g4 openings, which were compiled with gcc 3.2.2 and run on a dual processor 1GHz Pentium 3.

A program which allows viewing of the proof trees listed below is available here. The program can be executed under Linux with Qt version 3 or newer. After unzipping and expanding the .gtz file, go to directory "Viewer" and run "qmake" and then "make".  Next go to the subdirectory Hex and type "make". Then download the tree you wish to view into the "Viewer" directory. To execute the game-tree viewer, type "GTV Hex treefilename.gtf" from within the viewer directory. Finally, once the program is executing, you can traverse the tree using the up/down/left/right arrows on your keyboard (you need to gunzip the downloaded xx.gtf.gz files).
 
Position Countermove Nodes Time (Seconds) Proof File Size (bytes) Proof Download Link
a1 c4  80688  34148.9  578360  a1.gtf.gz
a2 e3  345718  154546  2515027  a2.gtf.gz
a3 d4  1801214  697532  13030752  a3.gtf.gz
a4 -- 2295743  --  16918344  a4.gtf.gz
a5 b6 275080  116193  2007327  a5.gtf.gz
a6 -- 1268025  621174  9064629  a6.gtf.gz
a7 -- 535309  178621  3721397  a7.gtf.gz
b1 c4  69626  26807.4  498708  b1.gtf.gz
b2 e3  203902  89382.7  1516849  b2.gtf.gz
b3 -- 3245  3920.56  26350  b3.gtf.gz
b4 -- 444843  179119  3331063  b4.gtf.gz
b5 -- 39363  20896  304548  b5.gtf.gz
b6 -- 207  262.8  1978  b6.gtf.gz
b7 b6  1296  1123.66  9725  b7.gtf.gz
c1 c4  55760  20281.9  396620  c1.gtf.gz
c2 -- 15975  7250.06  122509  c2.gtf.gz
c3 -- 18451  7464.03  137185  c3.gtf.gz
c4 -- 8389  6707.37  62935  c4.gtf.gz
c5 -- 1517  1071.13  12902  c5.gtf.gz
c6 -- 136957  33329.3  965913  c6.gtf.gz
c7 b6  1262  975.2  9488  c7.gtf.gz
d1 b6  190  228.05  1841  d1.gtf.gz
d2 c5  3308  1584.1  25942  d2.gtf.gz
d3 --  2395  1027.41  17389  d3.gtf.gz
d4 --  1257  1534.97  9994  d4.gtf.gz
d5 --  2943  1752.71  20851  d5.gtf.gz
d6 e3  5132  3257.86  38857  d6.gtf.gz
d7 b6  1292  926.91  9632  d7.gtf.gz
e1 b6  154  220.06  1555  e1.gtf.gz
e2 --  57827  16583.8  406614  e2.gtf.gz
e3 --  1161  938.15  9428  e3.gtf.gz
e4 --  6881  4973.04  52490  e4.gtf.gz
e5 --  19437  8030.65  146076  e5.gtf.gz
e6 --  14355  6888.95  107113  e6.gtf.gz
e7 d3  32224  13506.5  227576  e7.gtf.gz
f1 b6  94  172.95  1062  f1.gtf.gz
f2 --  99  137.23  1007  f2.gtf.gz
f3 --  44737  21867.3  347976  f3.gtf.gz
f4 --  430663  207239  3252339  f4.gtf.gz
f5 --  2867  2961.74  22581  f5.gtf.gz
f6 c5  211782  116392  1570266  f6.gtf.gz
f7 d3  53252  22946.1  380636  f7.gtf.gz
g1 --  574417  249835  4042710  g1.gtf.gz
g2 --  1169377  555253  8469212  g2.gtf.gz
g3 f2  243986  96893.2  1771454  g3.gtf.gz
g4 --  2762787  --  20410408  g4.gtf.gz
g5 d4  1806650  829891  13365275  g5.gtf.gz
g6 c5  416868  209076  2994766  g6.gtf.gz
g7 d3  88954  34998.2  621834  g7.gtf.gz