<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>QBF Encoding of Generalized Tic-Tac-Toe</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Diptarama</string-name>
          <email>diptarama@shino</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ryo Yoshinaka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ayumi Shinohara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Graduate School of Information Sciences, Tohoku University</institution>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Harary's generalized Tic-Tac-Toe is an achievement game for polyominoes, where two players alternately put a stone on a grid board, and the player who first achieves a given polyomino wins the game. It is known whether the first player has a winning strategy in the generalized Tic-Tac-Toe for almost all polyominoes except the one called Snaky. GTTT(p, q) is an extension of the generalized Tic-Tac-Toe, where the first player places q stones in the first move and then the players place q stones in each turn. In this paper, in order to attack GTTT(p, q) by QBF solvers, we propose a QBF encoding for GTTT(p, q). Our encoding is based on Gent and Rowley's encoding for Connect-4. We modify three parts of the encoding: initial condition, move rule and winning condition of the game. The experimental results show that some QBF solvers can be used to solve GTTT(p, q) on 4 × 4 or smaller boards.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In recent years it has been getting a more common approach to use SAT solvers
to tackle some sort of hard problems for which no polynomial-time algorithm is
known. Those problems include cryptanalysis [
        <xref ref-type="bibr" rid="ref22 ref26">22, 26</xref>
        ] and mathematical
problems such as the Erdo˝s discrepancy conjecture [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Still there are even harder
problems in the real world to which SAT solvers cannot apply. The successful
development of solvers for the QBF satisfiability problem (QBF solvers) [
        <xref ref-type="bibr" rid="ref11 ref14 ref21">11, 14, 21</xref>
        ]
such as DepQBF [
        <xref ref-type="bibr" rid="ref18 ref19">19, 18</xref>
        ], RAReQS [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] and GhostQ [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] allows us to use them
to attack PSPACE problems. Typical PSPACE problems are to decide whether
a player has a winning strategy in two-player perfect information games.
Particular instances of these games can be solved by reducing the game rules and a
game position into a QBF and giving it to a QBF solver.
      </p>
      <p>
        A trivial example of a two-player perfect information game is Tic-Tac-Toe
(TTT), where two players alternately put a stone on a cell in the 3 × 3 board and
the player who occupies three consecutive cells constituting a line will win. A
generalization of TTT is known as mnk-Game, where players aim at achieving
a line of length k on the m × n-board. While the original TTT can be solved
easily, it is known that to decide the winner of mn5-Game for a given position is
PSPACE-complete [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Even when the game position of an instance is restricted
to be blank, it has been open if the first player has a winning strategy in
mn5Game except for limited values of m and n [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ].
      </p>
      <p>
        Harary’s generalized Tic-Tac-Toe (HTTT) is another variant [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The goal
of HTTT is to achieve a given polyomino, i.e., a group of cells connected to
each other with edges, rather than a line. Fig. 1 gives an example of a game
position of HTTT. The first and second players’ stones are colored black and
white, respectively, and the first player has won the game, because the four black
stones numbered 1, 2, 4 and 5 form the target shape shown in the bottom left
corner. Note that any rotation of the target polyomino and its reflection are
admitted. HTTT has already been solved for all polyominoes on an arbitrary
size board except cases of Snaky (Fig. 2) [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. Snaky is the name of a polyomino
consisting of 6 cells. When the target is Snaky and the board dimension is 8 × 8
or smaller, it is known that no player has a winning strategy [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However, it is
open for bigger boards. On the other hand, if the first player gets one additional
stone at the initial position, he/she can certainly win [
        <xref ref-type="bibr" rid="ref10 ref7">7, 10</xref>
        ].
      </p>
      <p>
        Diptarama et al. [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] have proposed a further generalization, which we
denote by GTTT(p, q), where the first player puts q stones at the first turn and
then the two play p stones at each of their turns afterwards. Hence, GTTT(1, 1)
is HTTT and GTTT(1, 2) corresponds the situation where the first player has a
handicap stone at the beginning of a game. They showed that the first player
will win in GTTT(2, 2) and the second player will win in GTTT(2, 1). Diptarama
et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] reported that in some cases QBF solvers can solve GTTT(p, q) that
encoded by a tool called Toss [
        <xref ref-type="bibr" rid="ref15 ref27">15, 27</xref>
        ] faster than the proof number search [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Therefore, the QBF approach seems to be hopeful to tackle GTTT(p, q),
including HTTT for Snaky. In order to evaluate the potential of the QBF approach
against GTTT(p, q), we propose a QBF encoding of GTTT(p, q) and apply QBF
solvers to it in this paper. Our QBF encoding is based on Gent and Rowley’s
encoding for the game called Connect-4. We modify their encoding for the initial
position, players’ move, and winning condition. We submitted 180 instances from
GTTT(p, q) as benchmarks to QBFEVAL’16. This paper shows and analyses
experimental results on those instances, where only instances with small board
and target shape were solved. It still remains open whether the first player has
a winning strategy in HTTT for Snaky on the 9 × 9 board. The instances are
available at www.shino.ecei.tohoku.ac.jp/~diptarama/gttt_qbf.html.
In this section, we will describe how to encode GTTT(p, q) into a QBF which
holds true if and only if the first player has a winning strategy. It is easy to
modify our formula for checking whether the second player can win. We modify
the QBF encoding of the Connect-4 game proposed by Gent and Rowley [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and
define a new encoding for GTTT(p, q). First, we describe notation that used in
variables and clauses. Next, we describe variables and quantifiers that are used in
the GTTT(p, q) encoding. Last, we show clauses that are used in the GTTT(p, q)
encoding. Throughout this paper we call the first player Black and the second
player White.
Let W and H be the width and height of the game board, respectively. The
maximum number Z of turns of the game in GTTT(p, q) is bounded by Z =
⌊(W H − q)/p⌋ + 1, because the first player places q stones at the first move and
then both players place p stones respectively.
      </p>
      <p>Next, similarly to the Connect-4 encoding, we define illegal moves in the
game as cheats. We classify illegal moves into 4 categories; (1) the player places
more stones than the number of stones that the player should place in one move,
(2) the player places less stones than the number of stones that the player should
put in one move, (3) the player places a stone on an occupied cell, and (4) the
first player puts his/her first stone outside a specific area. The fourth kind of
a cheat is not regarded illegal in a usual game play, but in our encoding, we
force the first stone to be put in a special area to reduce the number of moves
to be considered by breaking symmetries. The number of cheats in category a
is denoted by Ca for a ∈ {1, 2, 3, 4}. Then, C1 = Wp+H1 at the first turn and
C1 = Wq+H1 otherwise. C2 = Wp−H1 at the first turn and C2 = Wq−H1 otherwise.
Moreover, C3 = W H and C4 = 1.</p>
      <p>Last, the target shapes that both players try to achieve in a game are defined
as follows. We represent a polyomino’s shape as a tuple of relative coordinates of
the cells s = ((sx1 , sy1 ), (sx2 , sy2 ), . . . , (sxk , syk )), where mini sxi = mini syi = 0
and k is the number of cells of the polyomino. We define |s|W = maxi sxi + 1
and |s|H = maxi syi + 1, which denote the width and height of the target shape,
respectively. Since all of the 90, 180, 270 degree rotations and their reflections
of a polyomino are admitted as a target, the target shapes of GTTT(p, q) are
represented as a set S = {s1, s2, . . . , s|S|}, where |S| ≤ 8. If the polyomino is
symmetric, |S| can be smaller than 8. For example, Fig. 3 shows the target
shapes when the target polyomino is Tippy (see Fig. 2).
By using the above parameters, we define variables used in the QBF encoding of
GTTT(p, q) as follows. The range of each of the parameters below is as follows:
1 ≤ x ≤ W , 1 ≤ y ≤ H, 1 ≤ a ≤ 4, 1 ≤ c ≤ Ca, and 1 ≤ s ≤ |S|. Moreover,
1 ≤ z ≤ Z + 1 for gameover z and occupied z,x,y, and 1 ≤ z ≤ Z for the rest.
1. blackwin, whitewin, and draw : true iff Black wins, White wins, or draws,
respectively.
2. blackwinz and whitewinz: true iff Black or White wins at turn z, respectively.
3. gameover z: true iff game is over at turn z.
4. occupied z,x,y: true iff the cell at coordinates (x, y) is occupied by either a
black or white stone before move z has been made.
5. black z,x,y and whitez,x,y: true iff there is a black or white stone on the cell
at coordinates (x, y) after move z has been made, respectively.
6. blackcheatsz,a,c and whitecheatsz,a,c: true iff Black or White respectively does
an illegal move numbered c in category a at turn z.
7. blackcheat z and whitecheat z: true iff Black or White respectively does any
of illegal moves at turn z.
8. blackshapez,i,x,y and whiteshapez,i,x,y: true iff Black or White respectively
achieves a target shape si on coordinates (x, y) as origin at turn z.
9. blackmovez,x,y and whitemovez,x,y: true iff Black or White respectively places
a stone on a cell at coordinates (x, y) at turn z.</p>
      <p>Quantifiers in QBF encoding of GTTT(p, q) are defined for each turn.
∃.(blackwin, whitewin, draw , gameover 1, occupied 1,1,1, . . . , occupied 1,W,H )
∃.(blackmove1,1,1, blackmove1,1,2, . . . , blackmove1,W,H )
∃.(gameover 2, occupied 2,x,y, black 1,x,y, white1,x,y, blackcheat 1, whitecheat 1, . . .)
∀.(whitemove2,1,1, whitemove2,1,2, . . . , whitemove2,W,H )
∃.(gameover 3, occupied 3,x,y, black 2,x,y, white2,x,y, blackcheat 2, whitecheat 2, . . .)
.
.</p>
      <p>.
∃.(blackmoveZ,1,1, blackmoveZ,1,2, . . . , blackmoveZ,W,H )
∃.(gameover Z+1, occupied Z+1,x,y, black Z,x,y, whiteZ,x,y, . . .)</p>
      <p>First we introduce variables blackwin, whitewin, draw , gameover 1, and occupied 1,x,y
with the existential quantifier, which will be forced to be 1, 0, 0, 0, and 0,
respectively, in the body CNF. Then for each turn z with 1 ≤ z ≤ Z, we place
“move” variables blackmovez,i,j and whitemovez,i,j with ∃ for blackmovez,i,j and
∀ for whitemovez,i,j . After those move variables, we use ∃ for “state”
variables gameover z+1, occupied z+1, blackwinz, whitewinz, black z,x,y, whitez,x,y,
blackcheatsz,a,c, whitecheatsz,a,c, blackcheat z, whitecheat z, blackshapez,s,x,y and
whiteshapez,s,x,y. These variables are used to express the board state after each
player has ended his turn.</p>
      <p>Note that if we want to determine whether White wins or not, we switch
quantifiers for the move variables; ∀ for blackmovez,i,j and ∃ for whitemovez,i,j .
2.3</p>
      <p>Clauses
We now describe the body CNF used in our GTTT(p, q) encoding. Some of
the formulas presented below are not conjunctions of clauses, which is only for
readability. Converting them into a CNF is easy and does not increase the size
of the formula significantly.</p>
      <p>There are mainly three differences from the encoding of Connect-4.
(1) All cells are empty at the initial condition in GTTT(p, q).
(2) A move in GTTT(p, q) is defined as placing stones on any empty cell on the
board, instead of dropping stones in any column.
(3) The winning condition in GTTT(p, q) is to achieve any of 0, 90, 180, 270
degrees rotation or reflection of the given polyomino.</p>
      <p>We also implement the winning condition for torus board as an extension of the
game in our encoding.</p>
      <p>The encoding for GTTT(p, q) is the conjunction of the formulas described
below. First, we will describe the clauses that are different from the encoding of
Connect-4. Note that we only show clauses for Black, because ones for White
can be obtained symmetrically.</p>
      <p>Initial Condition There is no stone on any cell at the initial condition.</p>
      <p>W H
^ ^ (¬occupied 1,x,y)
x=1 y=1
Move rule There are two modifications for the move rule in GTTT(p, q)
encoding. First, the clauses for the move rule are modified from dropping the stone to
the board, into placing the stone on the board. Second, we extend cheat clauses
so that the player can place more than one stone for one move in GTTT(p, q).
We also add cheat rules when a player places a stone on an occupied cell.
1. The move in GTTT(p, q) is defined as placing a stone on an empty cell of
the board. Therefore, if a cell is empty then a black stone will be on the cell
iff Black places a stone on the cell.</p>
      <p>⌊ Z2 ⌋ W H
^</p>
      <p>^ ^ (gameover 2z ∨ (¬occupied 2z,x,y =⇒ ¬black 2z,x,y))
z=1 x=1 y=1
3. Let B be the set of all cells in the board, and Bv be the set of all
vcombinations of B. Let nz be the number of stones that Black can place at
turn z. Then Mz = nzB+1 is the collection of nz + 1 cells that are filled
by black stones when Black places nz + 1 stones at turn z. Let f : Mz →
{1, . . . , |Mz|} be an injection which maps each m ∈ Mz to an unique id f (m)
of the move rule in category 1.</p>
      <p>
        ⇐⇒ blackcheats2z−1,1,f(m)))
5. Black does illegal moves of category 3 iff Black places a stone on an occupied
cell, where the function h(x, y) = W ·(y − 1) + x maps each coordinates (x, y)
to an unique id of the move rule in category 3.
6. Black has cheated iff he did one of the illegal moves.
Winning condition For a given polyomino, we calculate all rotations and
reflections of the polyomino and then use them as target shapes for winning
condition. Not only a polyomino, but any shape can also be used in this encoding, such
as straight line in connect(m, n, k, p, q) [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] or wild polyomino [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Furthermore,
we also implement winning condition for torus board in our encoding.
1. Black achieves a target shape iff there are black stones on the board that
form the target shape.
      </p>
      <p>Z |S| W −|si|W +1 H−|si|H+1
^ ^ ^ ^
For torus board, let mod (u, v) = ((u − 1) mod v) + 1. We connect leftmost
cells with rightmost cells and top cells with bottom cells when we check
whether or not a target shape is achieved by Black.</p>
      <p>k
Z |S| W H
^ ^ ^</p>
      <p>^ (gameover z ∨ (( ^ black z,mod(x+sixj ,W ),mod(y+siyj ,H))
z=1 i=1 x=1 y=1 j=1</p>
      <p>⇐⇒ blackshapez,i,x,y))
2. If Black has not cheated, then Black wins the game at turn z iff he achieves
a target shape or White cheats. We use 1 ≤ x ≤ W , 1 ≤ y ≤ H for torus
board.</p>
      <p>Z
^ (gameover z ∨ (¬blackcheatsz =⇒
z=1</p>
      <p>S W −|si|W +1 H−|si|H+1
((_ _ _
i=1
x=1
y=1</p>
      <p>blackshapez,i,x,y ∨ whitecheatsz) ⇐⇒ blackwinz)))
3. Black cannot win if he has cheated, and he cannot cheat at White turn.</p>
      <p>Z
^ (gameover z ∨ (blackcheatsz =⇒ ¬blackwinz)) ∧ ^ (¬blackcheats2z)
z=1 z=1
⌊ Z2 ⌋
4. Black wins if he wins the game at any turn.</p>
      <p>Z
( _ (¬gameover z ∧ blackwinz) ⇐⇒ blackwin)
z=1
Symmetry breaking We use three types of clauses for symmetry breaking,
depending on the type of the board. The first clauses are symmetry breaking for
the general board, the second clauses for square board (W = H), and the third
clauses for torus board.
1. On general board, Black must place his first stone on the top left side
rectangle of the board.</p>
      <p>⌈ W2 ⌉ ⌈ H2 ⌉
⌈ W2 ⌉ ⌈ H2 ⌉
(gameover 1 ∨ ( ^ ^ ¬blackmove1,x,y ⇐⇒ blackcheat 1,4,1))</p>
      <p>x=1 y=1
On square board, Black must place his first stone on the top left side triangle
of the board.</p>
      <p>(gameover 1 ∨ ( ^ ^ ¬blackmove1,x,y ⇐⇒ blackcheat 1,4,1))</p>
      <p>x=1 y=x
On torus board, Black must place his first stone on the center of the board.</p>
      <p>(gameover 1 ∨ (¬blackmove1,⌈ W2 ⌉,⌈ H2 ⌉ ⇐⇒ blackcheat 1,4,1))</p>
      <p>Next, we will describe the clauses of the GTTT(p, q) encoding that are the
same as the Connect-4 encoding.</p>
      <p>Board management We manage the cells of the board by the following clauses.
1. Any cell of the board cannot be occupied by both black stone and white
stone simultaneously.</p>
      <p>Z W H
^ ^ ^ (gameover z ∨ ¬black z,x,y ∨ ¬whitez,x,y)
z=1 x=1 y=1
2. Any cell of the board is occupied if either a black stone or a white stone is
placed at the previous turn.</p>
      <p>Z W H
^ ^ ^ (gameover z ∨ ((black z,x,y ∨ whitez,x,y) ⇐⇒ occupied z+1,x,y))
z=1 x=1 y=1
3. If a cell is occupied by a black stone, then the cell is also occupied by black
stone at the next turn.</p>
      <p>Z−1 W H
^ ^ ^ (gameover z ∨ (black z,x,y =⇒ black z+1,x,y))
z=1 x=1 y=1
Others
1. For any turn z, if the game has been already over, then the game is also over
at the next turn. Also if the game is not over, then the game is over at next
turn iff Black or White wins at this turn.</p>
      <p>Z−1
^ (gameover z =⇒ gameover z+1)
z=1</p>
      <p>Z−1
∧ ^ (¬gameover z =⇒ ((blackwinz ∨ whitewinz) ⇐⇒ gameover z+1))
z=1
2. Black cannot win after the game has over.</p>
      <p>Z−1
^ (gameover z =⇒ ¬blackwinz)
z=1
3. We set blackwin as a clause if we want to check whether Black can win the
game or not. Exactly one of blackwin, whitewin, and draw must be true.
The game finishes draw iff the game is not over at turn Z + 1.</p>
      <p>(blackwin)
∧(¬gameover 1)
∧(blackwin ∨ whitewin ∨ draw )
∧(¬blackwin ∨ ¬whitewin) ∧ (¬blackwin ∨ ¬draw ) ∧ (¬whitewin ∨ ¬draw )
∧(¬gameover Z+1 ⇐⇒ draw )
We conducted experiments by solving GTTT(p, q) by using QBF solvers. We
generated 84 (= 3 × 7 × 2 × 2) instances from GTTT(p, q) on 3 × 3 board,
which is the combination of the following parameters. The values of p and q
for 1 ≤ q ≤ p ≤ 2, 7 polyominoes of 2–4 cells aside Skinny (see Fig. 2), 2
types of board; regular and torus board, and instances for Black and White. We
also generated 96 (= 3 × 8 × 2 × 2) instances from GTTT(p, q) on 4 × 4, with
the same parameters as the 3 × 3 board, but we used all 2–4 cell polyominoes
including Skinny. Table 1 shows some statistics of the instances that are used in
the experiments.</p>
      <p>
        We used a computer with Intel Xeon CPU E5-2609 8 cores 2.40GHz, 256GB
memory, and Debian Wheezy OS as experimental environment. We used
DepQBF [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], RAReQS [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], GhostQ [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], and MPIDepQBF [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] as solvers and
bloqqer [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for preprocessing. We use 8 cores when running the MPIDepQBF.
      </p>
      <p>Fig. 4 and Fig. 5 show the running time of each solver on solving the instances
of GTTT(p, q) on 3 × 3 and 4 × 4 boards, respectively. Notice that the point on
10 seconds on Fig. 4 (resp. 1000 seconds on Fig. 5) means that the solver solves
the instances in 10 (resp. 1000) seconds or more. From Fig. 4 we can see that
DepQBF solves the instances of GTTT(p, q) on 3 × 3 board faster than the other
solvers. We can also see that preprocessing is not effective for DepQBF and
depqbf
ghostq
rareqs
30 40 50
Number of solved instances</p>
      <p>mpidepqbf
bloqqer-depqbf
bloqqer-ghostq
60
70</p>
      <p>80
bloqqer-rareqs
bloqqer-mpidepqbf
GhostQ from this result. On the other hand, from Fig. 5, MPIDepQBF with
preprocessing is the fastest solver on solving the instances of GTTT(p, q) on
4 × 4 board. The preprocessing by using bloqqer is effective on DepQBF and
MPIDepQBF in this case. The detailed number of instances and its result (SAT
or UNSAT) are shown in Table. 2.</p>
      <p>
        From these experimental results, we can conclude that the QBF solvers can
solve most instances of GTTT(p, q) on 3 × 3 and 4 × 4 within 1000 seconds.
Different to the results in [
        <xref ref-type="bibr" rid="ref11 ref21">11, 21</xref>
        ], DepQBF and MPIDepQBF can solve most
of the instances faster than other solvers. This indicates that the QBF
solving algorithm of DepQBF is more suitable to solve GTTT(p, q) encoding than
other solvers. We can also see that parallelization is more effective when
solving GTTT(p, q) encoding on 4 × 4 board. However, a better encoding and faster
solver are needed in order to solve the instances of GTTT(p, q) on larger board
and polyomino in less than 1000 seconds. Therefore, improving the encoding and
the solvers are needed in order to solve Snaky on HTTT by using QBF solver.
4
      </p>
    </sec>
    <sec id="sec-2">
      <title>Conclusion</title>
      <p>
        We have proposed a QBF encoding of an extension GTTT(p, q) of Harary’s
generalized Tic-Tac-Toe. However, by our encoding, existing QBF solvers could not
solve the open problem on HTTT, whether the first player has a winning
strategy to achieve a Snaky on the 9 × 9 board, that has 616578 variables, 1557653
clauses, and 80 quantifier alternations in its instance, which are much bigger
than the instances on 4 × 4 board. Our encoding technique is rather naive and
easily understandable, so there remains a lot of room to improve. For example,
our encoding contains many redundant clauses. Some of them would help QBF
solvers search, but we did not examine which of them have a real positive effect.
Moreover, although our encoding did not consider an incremental QBF
solving [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], the encoding might be solved in incremental way because we can use
the knowledge from the result on solving an instance of smaller board to solve
an instance of larger board. Therefore, the encoding optimization for
incremental QBF solving can be considered as a future work. We hope our experimental
results and analysis help to improve QBF solvers and the open problem will be
solved by a QBF approach by an even more elaborated QBF solver with a more
sophisticated encoding in the future.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgment</title>
      <p>This work is supported by Tohoku University Divison For Interdisciplinary
Advance Research and Education. We thank Charles Jordan for his advises on
writing this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Allis</surname>
          </string-name>
          , L.,
          <string-name>
            <surname>van der Meulen</surname>
          </string-name>
          , M., van den Herik, H.J.:
          <article-title>Proof-number search</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>66</volume>
          (
          <issue>1</issue>
          ) (
          <year>1994</year>
          )
          <fpage>91</fpage>
          -
          <lpage>124</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Blocked clause elimination for QBF</article-title>
          . In: CADE'
          <fpage>11</fpage>
          . (
          <year>2011</year>
          )
          <fpage>101</fpage>
          -
          <lpage>115</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Diptarama</surname>
            , Ishiguro,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Narisawa</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shinohara</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Solving generalized tic-tac-toe by using QBF solver</article-title>
          .
          <source>In: Proceedings of Game Programming Workshop 2015</source>
          . Volume
          <year>2015</year>
          . (oct
          <year>2015</year>
          )
          <fpage>154</fpage>
          -
          <lpage>161</lpage>
          (In Japanese).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Diptarama</surname>
            , Narisawa,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shinohara</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Extension of generalized tic-tac-toe: p stones for one move</article-title>
          .
          <source>IPSJ Journal</source>
          <volume>55</volume>
          (
          <issue>11</issue>
          ) (nov
          <year>2014</year>
          )
          <fpage>2344</fpage>
          -
          <lpage>2352</lpage>
          (In Japanese).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Diptarama</surname>
            , Narisawa,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shinohara</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Drawing strategies for generalized tictac-toe (p, q)</article-title>
          .
          <source>AIP Conference Proceedings</source>
          <volume>1705</volume>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gent</surname>
            ,
            <given-names>I.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rowley</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Encoding connect-4 using quantified boolean formulae</article-title>
          .
          <source>2nd Intl. Work. Modelling and Reform</source>
          .
          <source>CSP</source>
          (
          <year>2003</year>
          )
          <fpage>78</fpage>
          -
          <lpage>93</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Halupczok</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlage-Puchta</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>Achieving snaky</article-title>
          .
          <source>Electronic Journal of Combinatorial Number Theory</source>
          <volume>7</volume>
          (
          <year>2007</year>
          ) G02
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Harary</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Achievement and avoidance games for graphs</article-title>
          .
          <source>Ann. Discrete Math</source>
          <volume>13</volume>
          (
          <year>1982</year>
          )
          <fpage>111</fpage>
          -
          <lpage>120</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Harary</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Achieving the skinny animal</article-title>
          .
          <source>Eureka</source>
          <volume>42</volume>
          (
          <year>1982</year>
          )
          <fpage>8</fpage>
          -
          <lpage>14</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ito</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miyagawa</surname>
          </string-name>
          , H.:
          <article-title>Snaky is a winner with one handicap</article-title>
          .
          <source>In: Proceedings of 8th Hellenic European Conference on Computer Mathematics and its Applications (HERCMA</source>
          <year>2007</year>
          ).
          <article-title>(</article-title>
          <year>2007</year>
          )
          <fpage>25</fpage>
          -
          <lpage>26</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Janota</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klieber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Gelder</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>The QBFGallery</source>
          <year>2014</year>
          :
          <article-title>The QBF competition at the FLoC olympic games</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          <volume>9</volume>
          (
          <year>2016</year>
          )
          <fpage>187</fpage>
          -
          <lpage>206</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Janota</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klieber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
          </string-name>
          , E.:
          <article-title>Solving QBF with counterexample guided refinement</article-title>
          . In: SAT'
          <fpage>12</fpage>
          . (
          <year>2012</year>
          )
          <fpage>114</fpage>
          -
          <lpage>128</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaiser</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>MPIDepQBF: Towards parallel qbf solving without knowledge sharing</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing-SAT 2014</source>
          . Springer (
          <year>2014</year>
          )
          <fpage>430</fpage>
          -
          <lpage>437</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : QBF gallery
          <year>2014</year>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kaiser</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stafiniak</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Playing structure rewriting games</article-title>
          . In: AGI'
          <fpage>10</fpage>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Klieber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sapra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gao</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
          </string-name>
          , E.:
          <article-title>A non-prenex, non-clausal QBF solver with game-state learning</article-title>
          .
          <source>In: Theory and Applications of Satisfiability TestingSAT 2010</source>
          . Springer (
          <year>2010</year>
          )
          <fpage>128</fpage>
          -
          <lpage>142</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Konev</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lisitsa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A SAT attack on the Erd˝os discrepancy conjecture</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing-SAT 2014</source>
          . Springer (
          <year>2014</year>
          )
          <fpage>219</fpage>
          -
          <lpage>226</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bacchus</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egly</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Enhancing search-based QBF solving by dynamic blocked clause elimination</article-title>
          .
          <source>In: Logic for Programming</source>
          ,
          <source>Artificial Intelligence, and Reasoning</source>
          , Springer (
          <year>2015</year>
          )
          <fpage>418</fpage>
          -
          <lpage>433</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>DepQBF: A dependency-aware QBF solver</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          <volume>7</volume>
          (
          <year>2010</year>
          )
          <fpage>71</fpage>
          -
          <lpage>76</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egly</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Incremental QBF solving</article-title>
          .
          <source>In: Principles and Practice of Constraint Programming-CP 2014</source>
          . Springer (
          <year>2014</year>
          )
          <fpage>514</fpage>
          -
          <lpage>530</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Lonsing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Gelder</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The QBF gallery: Behind the scenes</article-title>
          .
          <source>arXiv preprint arXiv:1508.01045</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Zhang, L.:
          <article-title>Applications of SAT solvers to cryptanalysis of hash functions</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing-SAT 2006</source>
          . Springer (
          <year>2006</year>
          )
          <fpage>102</fpage>
          -
          <lpage>115</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Reisch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Gobang ist PSPACE-vollsta¨ndig</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>13</volume>
          (
          <year>1980</year>
          )
          <fpage>59</fpage>
          -
          <lpage>66</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Sieben</surname>
          </string-name>
          , N.:
          <article-title>Wild polyomino weak (1, 2)-achievement games</article-title>
          .
          <source>Geombinatorics</source>
          <volume>13</volume>
          (
          <issue>4</issue>
          ) (
          <year>2004</year>
          )
          <fpage>180</fpage>
          -
          <lpage>185</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Sieben</surname>
          </string-name>
          , N.:
          <article-title>Polyominoes with minimum site-perimeter and full set achievement games</article-title>
          .
          <source>European Journal of Combinatorics</source>
          <volume>29</volume>
          (
          <issue>1</issue>
          ) (
          <year>2008</year>
          )
          <fpage>108</fpage>
          -
          <lpage>117</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Soos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castelluccia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Extending SAT solvers to cryptographic problems</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing-SAT 2009</source>
          . Springer (
          <year>2009</year>
          )
          <fpage>244</fpage>
          -
          <lpage>257</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>27. Toss Team: Toss http://toss.sourceforge.net/.</mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Uiterwijk</surname>
            ,
            <given-names>J.W.H.M.</given-names>
          </string-name>
          , van den Herik, H.J.:
          <article-title>The advantage of the initiative</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>122</volume>
          (
          <issue>1</issue>
          ) (
          <year>2000</year>
          )
          <fpage>43</fpage>
          -
          <lpage>58</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>I.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
          </string-name>
          , D.Y.:
          <article-title>A new family of k-in-a-row games</article-title>
          .
          <source>In: Proceedings of Advances in Computer Games</source>
          . (
          <year>2006</year>
          )
          <fpage>180</fpage>
          -
          <lpage>194</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>