Initial commit of GNU Go v3.8.
[sgk-go] / patterns / eyes.db
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# This is GNU Go, a Go program. Contact gnugo@gnu.org, or see #
# http://www.gnu.org/software/gnugo/ for more information. #
# #
# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, #
# 2008 and 2009 by the Free Software Foundation. #
# #
# This program is free software; you can redistribute it and/or #
# modify it under the terms of the GNU General Public License #
# as published by the Free Software Foundation - version 3, #
# or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be #
# useful, but WITHOUT ANY WARRANTY; without even the implied #
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR #
# PURPOSE. See the GNU General Public License in file COPYING #
# for more details. #
# #
# You should have received a copy of the GNU General Public #
# License along with this program; if not, write to the Free #
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, #
# Boston, MA 02111, USA #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Eye Shape Database #
# #
# . - ordinary eye space #
# * - ordinary eye space and key point, attack/defense #
# < - ordinary eye space and attack key point (shrinks) #
# > - ordinary eye space and defense key point (expands) #
# ! - marginal eye space #
# @ - marginal eye space and key point, attack/defense #
# $ - marginal eye space containing an opponent stone #
# ( - marginal eye space and attack key point #
# ) - marginal eye space and defense key point #
# X - dead opponent stone #
# x - . or X #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# The patterns are sorted as follows within each size, with the primary
# criterium first:
#
# 1. Edge and corner specific patterns.
# 2. Number of rows, lowest first.
# 3. Number of marginal vertices.
# 4. Number of possible eyes
#
# In addition to 2, there is also the requirement that all patterns
# with the same topology come together. E.g. among the four vertices,
# two rows patterns, those with topology
#
# .
# ...
#
# come together and those with topology
#
# ..
# ..
#
# follows later.
#
# Similarly, in addition to 3, patterns with the same configuration of
# marginal vertices are grouped together.
#
# To make best use of the "x" wildcard, it is occasionally
# advantageous to have a specific exceptional pattern before a more
# general one. In these cases criterium 4 above may be violated.
#
# #######
#
# The colon line below the pattern gives the eye value of the matched
# eye shape. This consists of four digits, each of which is the number
# of eyes obtained during the following conditions:
#
# 1. The attacker moves first and is allowed yet another move because
# the defender plays tenuki.
# 2. The attacker moves first and the defender responds locally.
# 3. The defender moves first and the attacker responds locally.
# 4. The defender moves first and is allowed yet another move because
# the attacker plays tenuki.
#
# Notice that 1 does not necessarily mean that the attacker is
# allowed two consecutive moves. This is explained with an example
# later.
#
# Also, since two eyes suffice to live, all higher numbers also count
# as two.
#
# The following 15 cases are of interest:
#
# 0000 0 eyes.
# 0001 0 eyes, but the defender can threaten to make one eye.
# 0002 0 eyes, but the defender can threaten to make two eyes.
# 0011 1/2 eye, 1 eye if defender moves first, 0 eyes if attacker does.
# 0012 3/4 eyes, 3/2 eyes if defender moves first, 0 eyes if attacker does.
# 0022 1* eye, 2 eyes if defender moves first, 0 eyes if attacker does.
# 0111 1 eye, attacker can threaten to destroy the eye.
# 0112 1 eye, attacker can threaten to destroy the eye,
# defender can threaten to make another eye.
# 0122 5/4 eyes, 2 eyes if defender moves first, 1/2 eye if attacker does.
# 0222 2 eyes, attacker can threaten to destroy both.
# 1111 1 eye.
# 1112 1 eye, defender can threaten to make another eye.
# 1122 3/2 eyes, 2 eyes if defender moves first, 1 eye if attacker does.
# 1222 2 eyes, attacker can threaten to destroy one eye.
# 2222 2 eyes.
#
# The 3/4, 5/4, and 1* eye values are the same as in Howard Landman's paper
# Eyespace Values in Go. Attack and defense points are only marked in
# the patterns when they have definite effects on the eye value,
# i.e. pure threats are not marked.
#
#
# Examples of all different cases can be found among the patterns in
# this file. Some of them might be slightly counterintuitive, so we
# explain one important case here. Consider
#
# Pattern 6141
#
# X
# XX.@x
#
# :1122
#
# which e.g. matches in this position:
#
# .OOOXXX
# OOXOXOO
# OXXba.O
# OOOOOOO
#
# Now it may look like X could take away both eyes by playing a
# followed by b, giving 0122 as eye value. This is where the subtlety
# of the definition of the first digit in the eye value comes into
# play. It does not say that the attacker is allowed two consecutive
# moves but only that he is allowed to play "another move". The
# crucial property of this shape is that when X plays at a to destroy
# (at least) one eye, O can answer at b, giving:
#
# .OOOXXX
# OO.OXOO
# O.cOX.O
# OOOOOOO
#
# Now X has to continue at c in order to keep O at one eye. After this
# O plays tenuki and X cannot destroy the remaining eye by another
# move. Thus the eye value is indeed 1122.
#
#
# As a final note, some of the eye values indicating a threat depend
# on suicide to be allowed, e.g.
#
# Pattern 301
#
# X.X
#
# :1222
#
# We always assume suicide to be allowed in this database. It is easy
# enough to sort out such moves at a higher level when suicide is
# disallowed.
###############################
# 1 element #
###############################
Pattern 101
x
:1111
Pattern 102
$
:0000
Pattern 103
!
:0000
###############################
# 2 elements #
###############################
Pattern 201
xx
:1111
Pattern 202
@x
:0011
Pattern 203
$.
:0000
###############################
# 3 elements #
###############################
Pattern 301
# Must be matched before 302.
X.X
:1222
Pattern 302
x*x
:1122
Pattern 303
xXx
:1111
Pattern 304
!.x
:0111
Pattern 305
@Xx
:0011
Pattern 306
# A chimera.
x@x
:0022
Pattern 307
$*.
:0011
Pattern 308
$.X
:1111
Pattern 309
$X.
:0001
Pattern 310
!x!
:0001
###############################
# 4 elements #
###############################
# Special cases in corners and on edges. These must be matched before
# the same shape is matched in the center.
Pattern 401
# Bent four in the corner. The attack depends on a ko and sufficiently
# few outer liberties.
|.
|.*.
+---
:1122
Pattern 402
#tm new pattern (3.1.14)
#see trevor:1001
@
..!
---
:0011
#
# Topology: ....
#
Pattern 410
# The XXXX pattern is a special case. It can only come up when dealing
# with false marginals. In that case it is equivalent
# to .... which yields 2 eyes.
XxxX
:2222
Pattern 411
x...
:1222
Pattern 412
x*Xx
:1122
Pattern 413
XXX.
:1112
Pattern 414
.XX.
:1111
Pattern 416
@X.X
:0122
Pattern 417
x@.x
:0122
Pattern 418
x@Xx
:0022
Pattern 419
!.Xx
:0111
Pattern 420
!..x
:1112
Pattern 421
!X..
:0112
Pattern 422
@XXX
:0012
Pattern 423
@XX.
:0011
Pattern 424
@..@
:0011
Pattern 425
(.X@
:0011
Pattern 426
!x@x
:0012
Pattern 427
!XX!
:0001
Pattern 428
!.x$
:0001
Pattern 429
@X.$
:0011
Pattern 430
.XX$
:1111
Pattern 431
$.X$
:0001
Pattern 432
$xx$
:0000
# .
# Topology: ...
#
Pattern 441
# Match before 442
X
X.X
:1222
Pattern 442
x
x*x
:1122
Pattern 443
.
XXX
:1112
Pattern 444
x
xXx
:1111
Pattern 445
!
X*X
:1122
Pattern 446
!
x*x
:0122
Pattern 447
x
x@x
:0022
Pattern 448
)
)*x
:0011
Pattern 449
X
@XX
:0012
Pattern 450
x
@Xx
:0011
Pattern 451
x
!X!
:0001
# ..
# Topology: ..
#
Pattern 461
*X
X.
:1122
Pattern 462
..
x.
:1112
Pattern 463
XX
X.
:1112
Pattern 464
xx
xx
:1111
Pattern 465
# Must be matched before 466.
@X
X.
:0022
Pattern 466
@x
x.
:0012
Pattern 467
@X
XX
:0012
Pattern 468
@x
xX
:0011
Pattern 469
!@
.x
:0011
#
# Completely dead patterns.
#
Pattern 491
!!
XX
:0001
Pattern 492
!x
x!
:0002
Pattern 493
!
!x!
:0000
###############################
# 5 elements #
###############################
#
# 5 vertices. Now it is getting tricky...
# At least we will get all the linear patterns correct.
#
# Special cases in corners and on edges. These must be matched before
# the same shape is matched in the center.
#
# Special care must be taken to get these patterns in the right order.
# In particular the bent four in the corner patterns must be matched
# before the patterns of topology
#
# |...
# |. .
# +---
Pattern 5001
# Bent four in the corner.
|.
|X
|.X.
+---
:1112
Pattern 5002
# Bent four in the corner.
|.
|X
|XX.
+---
:1111
Pattern 5003
# Bent four in the corner.
|.
|XXX.
+---
:1111
Pattern 5004
# Bent four in the corner.
#
# This one is tricky. Black has two certain eyes if there are at least
# two outside liberties, but at most one if they are fewer.
# It seems likely that calling this only one eye leads to the fewest
# errors in the surrounding code. (Unfortunately we have no provisions
# to check the number of liberties at this point.)
|.
|X
|.XX
+---
:1111
Pattern 5005
# Bent four in the corner.
#
# This pattern is similar to the previous one. Black has two certain eyes
# if there are at least two outside liberties, but needs to fight a ko
# if there is only one.
|.
|X
|XXX
+---
:1111
Pattern 5006
# Bent four in the corner.
#
# This pattern behaves identically to the previous one.
|X
|XXX.
+---
:1111
Pattern 5007
# Bent four in the corner. The attack depends on ko and sufficiently
# few outer liberties if the corner vertex is empty.
|.
|xX*.
+---
:1122
Pattern 5008
# Bent four in the corner. The attack depends on ko and sufficiently
# few outer liberties if the corner vertex is empty.
|.
|x*X.
+---
:1122
Pattern 5009
# Bent four in the corner. An O move in the corner may or may not give
# another eye (depending on ko and/or outer liberties). An X move in
# the corner definitely settles the number of eyes to 1.
|.
|.XX.
+---
:1111
Pattern 5010
# Bent four in the corner.
|.
|*
|xX.
+---
:1122
Pattern 5011
# Bent four shape that X must fight. Ko if at most one outer liberty.
|X
|XX*.
+---
:1122
Pattern 5012
xxxxx
-----
:2222
Pattern 5021
|XX*
|. .
+---
:1122
Pattern 5022
|X*X
|. .
+---
:1122
Pattern 5023
|*XX
|. .
+---
:1122
Pattern 5024
|.X>
|< X
+---
:1122
Pattern 5025
|XXX
|. .
+---
:1111
Pattern 5031
|.X
| X*.
+----
:1122
Pattern 5032
|.X
| *X.
+----
:1122
Pattern 5033
|.*
| XX.
+----
:1122
Pattern 5034
|.X
| XX.
+----
:1111
#
# Topology: .....
#
#
# Linear, no marginal vertices.
#
Pattern 5101
# Usually at least seki.
#
# There are rare exceptions where this is only
# one eye. See strategy test 38 for an example
# where .XXX. gives only one eye since one of
# the . is not a liberty of the dragon.
xxxxx
:2222
#
# Linear, one marginal vertex.
#
Pattern 5111
@X.<.
:1122
Pattern 5112
@..<x
:1122
Pattern 5113
@x..x
:1122
Pattern 5114
!.X*x
:1122
Pattern 5115
@XXXX
:0022
Pattern 5116
@XXX.
:0011
Pattern 5117
@X.XX
:0122
Pattern 5118
!X.X.
:0112
Pattern 5119
@XX.X
:0122
Pattern 5120
!XX..
:0112
Pattern 5121
!..Xx
:1112
Pattern 5122
!.XXX
:1112
Pattern 5123
!.XX.
:0111
Pattern 5131
x@.Xx
:0122
Pattern 5132
x@..x
:1122
Pattern 5133
x@X.x
:0122
Pattern 5134
x@XXx
:0022
Pattern 5141
x.@.x
:1122
Pattern 5142
x.@Xx
:0122
Pattern 5143
xX@Xx
:0022
#
# Linear, two marginal vertices.
#
Pattern 5151
!.x.!
:0111
Pattern 5152
!.>X@
:0011
Pattern 5153
@X.X@
:0011
Pattern 5154
!XXX!
:0001
Pattern 5155
@Xxx!
:0011
Pattern 5156
!x!.x
:0112
Pattern 5157
!x@Xx
:0012
Pattern 5158
# Must be matched before 5159.
!.x@x
:0022
Pattern 5159
!x.@x
:0012
Pattern 5160
!XX@x
:0012
Pattern 5161
x!x!x
:0112
#
# Linear, three marginal vertices.
#
Pattern 5171
!x@x!
:0011
Pattern 5181
xx.x$
:1111
Pattern 5182
x*XX$
:1122
# .
# Topology: ....
#
Pattern 5201
x
x..X
:2222
Pattern 5202
x
x...
:1222
Pattern 5203
x
xXXX
:2222
Pattern 5204
X
XXX.
:1112
Pattern 5205
x
xXX.
:1111
Pattern 5211
x
xX*.
:1122
Pattern 5212
x
x*X.
:1122
Pattern 5213
# Must be matched before 5214.
X
!..X
:1222
Pattern 5214
x
)*.x
:1122
Pattern 5215
# Must be matched before 5216.
X
!.XX
:0222
Pattern 5216
x
!*Xx
:0122
Pattern 5217
X
@X.X
:0122
Pattern 5218
x
!X.x
:0112
Pattern 5219
X
@XXX
:0022
Pattern 5220
x
@XXx
:0011
Pattern 5221
x
x@.x
:0122
Pattern 5222
x
x@Xx
:0022
Pattern 5223
x
x.!x
:0222
Pattern 5224
x
xX@x
:0022
Pattern 5225
X
XX.!
:1112
Pattern 5226
x
xX.!
:0111
Pattern 5227
X
XXX@
:0012
Pattern 5228
x
xXX@
:0011
Pattern 5231
!
!..x
:0111
Pattern 5232
!
!*Xx
:0011
Pattern 5233
)
)X<X
:0011
Pattern 5234
)
)X<.
:0011
Pattern 5235
!
!XXx
:0001
Pattern 5236
x
!..!
:0112
Pattern 5237
x
@X.(
:0011
Pattern 5238
x
!*X!
:0012
Pattern 5239
x
!XX!
:0001
Pattern 5240
x
!.@x
:0122
Pattern 5241
x
!X@x
:0012
Pattern 5242
x
x*.!
:1122
Pattern 5243
X
X*X!
:1122
Pattern 5244
x
x*X!
:0122
Pattern 5245
x
x@x!
:0022
Pattern 5251
!
!x@x
:0011
Pattern 5252
!
!.x!
:0001
Pattern 5253
!
!X.!
:0001
# ..
# Topology: ...
#
Pattern 5301
X.
XXX
:1222
Pattern 5302
XX
X.X
:1222
Pattern 5303
Xx
xxX
:2222
Pattern 5304
xx
x*x
:1122
Pattern 5305
x.
.Xx
:1112
Pattern 5306
.X
XXX
:1112
Pattern 5307
xx
xXx
:1111
Pattern 5311
..
@.x
:1122
Pattern 5312
X.
@.x
:0122
Pattern 5313
Xx
@XX
:0022
Pattern 5314
x.
@Xx
:0012
Pattern 5315
xX
@Xx
:0011
Pattern 5316
.X
!*x
:0122
Pattern 5317
XX
@.X
:0122
Pattern 5318
xX
!.x
:0112
Pattern 5321
xx
x@x
:0022
Pattern 5331
.X
X*!
:0122
Pattern 5332
.x
x.!
:0112
Pattern 5333
XX
X.!
:0112
Pattern 5334
Xx
x.!
:0111
Pattern 5335
X.
.X@
:0012
Pattern 5336
xx
xX@
:0011
Pattern 5341
@X
XXX
:0012
Pattern 5342
@x
xXx
:0011
Pattern 5343
@X
X.X
:0122
Pattern 5344
!x
x.x
:0112
Pattern 5351
!.
!.x
:0112
Pattern 5352
..
!@.
:0022
Pattern 5353
xx
@.!
:0011
Pattern 5354
X.
@X(
:0011
Pattern 5355
..
@X(
:0011
Pattern 5356
xx
!X!
:0001
Pattern 5357
@X
X.(
:0012
Pattern 5358
@x
x.(
:0011
Pattern 5359
!x
xX!
:0001
Pattern 5360
!x
x@x
:0012
Pattern 5361
x)
)<x
:0011
Pattern 5362
x!
!Xx
:0002
Pattern 5371
!X
!X!
:0000
Pattern 5372
!x
!x!
:0001
Pattern 5373
x!
!x!
:0001
# .
# Topology: ...
# .
Pattern 5401
# This pattern must be matched before 5402. The vital point would be
# suicide for X.
X
X.X
X
:1222
Pattern 5402
x
x*x
x
:1122
Pattern 5403
X
XXX
.
:1112
Pattern 5404
x
xXx
x
:1111
Pattern 5411
!
X*X
X
:1122
Pattern 5412
!
x*x
x
:0122
Pattern 5413
@
XXX
X
:0012
Pattern 5414
@
xXx
x
:0011
Pattern 5421
x
x*!
!
:0022
Pattern 5422
x
xX!
!
:0001
Pattern 5431
!
x*!
!
:0011
###############################
# 6 elements #
###############################
#
# Topology: ......
#
Pattern 6000
# Bent four in the corner.
|.
|*
|...!
+---
:1122
Pattern 6001
# Bent four in the corner.
|.
|*X..!
+---
:1122
Pattern 6002
# Bent four in the corner.
!
|.
|.XX.
+---
:1111
Pattern 6003
# Bent four in the corner.
!
|.
|X
|.*.
+---
:1122
Pattern 6004
# Special corner shape
|*X.
|. .)
+----
:1122
Pattern 6005
$X>.*x
:1122
Pattern 6006
$X..Xx
:1112
Pattern 6011
xxxxxx
:2222
Pattern 6021
!.x..x
:1222
Pattern 6022
@..xXx
:1122
Pattern 6023
@.XX>.
:1122
Pattern 6024
!..X.x
:1222
Pattern 6026
!.XXXX
:0222
Pattern 6028
!.XxxX
:1222
Pattern 6029
@.X.X.
:1122
Pattern 6030
@.XXX.
:0122
Pattern 6031
@X.XXX
:1122
Pattern 6032
!X.X.X
:1222
Pattern 6033
@X.XX.
:0122
Pattern 6034
@X.xxx
:1122
Pattern 6035
@XX.Xx
:0122
Pattern 6036
@Xx.xx
:1122
Pattern 6037
@XXX.x
:0122
Pattern 6038
@XXXXx
:0022
Pattern 6041
x!.X.X
:1222
Pattern 6042
x@.XX.
:0122
Pattern 6043
x@.XXX
:1122
Pattern 6044
x@.xxx
:1122
Pattern 6045
x@X.Xx
:0122
Pattern 6046
x@X..x
:1122
Pattern 6047
x@XX.x
:0122
Pattern 6048
x@XXXx
:0022
Pattern 6051
x.!..x
:1222
Pattern 6052
x.@.Xx
:1122
Pattern 6053
x.@XXx
:0122
Pattern 6054
x.@X.x
:1122
Pattern 6055
xX@.Xx
:0122
Pattern 6056
xX@..x
:1122
Pattern 6057
xX@X.x
:0122
Pattern 6058
xX@XXx
:0022
Pattern 6061
!x@..x
:1122
Pattern 6062
!x@X.x
:0122
Pattern 6063
!x!.Xx
:0112
Pattern 6064
!x@XXX
:0022
Pattern 6065
!x@XX.
:0012
Pattern 6066
!.x@.x
:0122
Pattern 6067
!Xx!.x
:0112
Pattern 6068
!Xx@Xx
:0012
Pattern 6069
!.x@Xx
:0022
Pattern 6070
!XX.@x
:0012
Pattern 6071
!xx.@x
:0122
Pattern 6072
!XXX@x
:0012
Pattern 6073
!xxX@x
:0022
Pattern 6074
!....!
:1112
Pattern 6075
!.X.x!
:0112
Pattern 6076
!.XX.!
:0111
Pattern 6077
!x..X!
:0112
Pattern 6078
@XX>X!
:0011
Pattern 6079
@XXx.!
:0011
Pattern 6080
!XXXX!
:0002
Pattern 6082
x@x!.x
:1122
Pattern 6083
x!x!Xx
:0112
Pattern 6084
x@..@x
:1122
Pattern 6085
x@X.!x
:0122
Pattern 6086
x!XX!x
:0112
Pattern 6087
x@x!x!
:0012
Pattern 6091
!....$
:0111
Pattern 6092
@Xx..$
:0011
# .
# Topology: .....
#
Pattern 6101
X
X..x!
:1222
Pattern 6102
x
x*x.!
:1122
Pattern 6103
X
XX*.(
:1122
Pattern 6104
X
XX>X@
:1122
Pattern 6105
x
xX..!
:1112
Pattern 6106
X
XXX.!
:1112
Pattern 6107
x
xXX.!
:0111
Pattern 6108
x
xX.X@
:0122
Pattern 6109
x
xXXX@
:0022
Pattern 6111
x
x@..x
:1122
Pattern 6112
x
x@XXx
:0022
Pattern 6113
x
x@xxx
:0122
Pattern 6121
x
@X..x
:1122
Pattern 6122
x
@XXXx
:0022
Pattern 6123
x
@Xxxx
:0122
Pattern 6131
x
xX@.x
:0122
Pattern 6132
x
xX@Xx
:0022
Pattern 6141
X
XX.@x
:1122
Pattern 6142
x
xX.@x
:0122
Pattern 6143
x
xXX@x
:0022
Pattern 6151
!
x*x.!
:0122
Pattern 6152
!
!..x@
:0011
# .
# Topology: .....
#
Pattern 6201
x
.*X.!
:1122
Pattern 6202
.
X>X.@
:1122
Pattern 6203
x
.X*.!
:1122
Pattern 6204
X
XXX.!
:0222
Pattern 6205
.
XXX.@
:0122
Pattern 6206
x
.XX.!
:0111
Pattern 6207
x
..*X)
:1122
Pattern 6208
x
.X*X!
:0122
Pattern 6209
x
..XX!
:0112
Pattern 6210
x
.XXX@
:0011
Pattern 6211
x
X.XX@
:0122
Pattern 6212
x
XXXX@
:0022
Pattern 6221
x
x.@.x
:1122
Pattern 6222
x
x.@Xx
:0122
Pattern 6223
x
xX@Xx
:0022
Pattern 6231
x
x@X.x
:0122
Pattern 6232
x
x@XXx
:0022
Pattern 6241
@
x.X.x
:1122
Pattern 6242
@
x.XXx
:0122
Pattern 6243
@
xXXXx
:0022
Pattern 6251
x
!.*.!
:1122
Pattern 6252
x
!X*X!
:0022
Pattern 6253
x
!.*X!
:0122
Pattern 6254
!
X...!
:1112
Pattern 6255
!
X.<X)
:0122
Pattern 6256
!
...X!
:0112
Pattern 6261
# tm New Pattern (3.1.22) (see owl:111)
)
@.>.@
:0011
Pattern 6262
# FIXME: I don't understand this pattern. Is it correct? -pp
!
!x..!
---
:0000
Pattern 6263
# tm modified (3.1.22)
!
@X*.!
:0011
# ..
# Topology: ....
#
Pattern 6301
.X
!.*.
----
:0122
Pattern 6302
xx
XXXX
:2222
Pattern 6303
*x
XXX.
:1122
Pattern 6304
XX
XXX.
:1112
Pattern 6305
xx
xXXx
:1111
Pattern 6306
xX
X.XX
:2222
Pattern 6307
.X
X.X.
:1222
Pattern 6308
XX
X*X.
:1122
Pattern 6309
xX
x*Xx
:1122
Pattern 6310
X.
X*X.
:1122
Pattern 6311
x.
.*X.
:1122
Pattern 6312
Xx
!..X
:1222
Pattern 6313
xx
!.*x
:1122
Pattern 6314
XX
!*XX
:1122
Pattern 6315
X.
!.XX
:0222
Pattern 6316
x.
!.Xx
:0112
Pattern 6317
xX
!.Xx
:0111
Pattern 6318
XX
@X.X
:0122
Pattern 6319
.x
!X*x
:0122
Pattern 6320
Xx
@X.X
:0122
Pattern 6321
Xx
!X..
:0112
Pattern 6322
X.
@XXX
:0022
Pattern 6323
XX
@XXX
:0012
Pattern 6324
xx
@XXx
:0011
Pattern 6331
.x
x@.x
:1122
Pattern 6332
Xx
x@.x
:0122
Pattern 6333
xx
x@Xx
:0022
Pattern 6341
!x
.*.x
:1122
Pattern 6342
!.
.*Xx
:0122
Pattern 6343
(.
X>Xx
:1122
Pattern 6344
@X
x..x
:1122
Pattern 6345
@X
X.Xx
:0122
Pattern 6346
!X
..Xx
:0112
Pattern 6347
!x
.X.x
:0112
Pattern 6348
@x
XX.x
:0122
Pattern 6349
@x
.XXx
:0011
Pattern 6350
@x
XXXx
:0022
Pattern 6361
!!
!.*.
:0011
Pattern 6362
.@
!..!
:0011
# ..
# Topology: ....
#
Pattern 6400
|.x
|xX*.
+----
:1122
Pattern 6401
|XX
|<XX>
+----
:1122
Pattern 6402
|.x
|X.*.
+----
:1122
Pattern 6403
|.X
|x.*.
+----
:1122
Pattern 6404
|.<
|.>X.
+----
:1122
Pattern 6405
# Not possible to do better than bent four in the corner.
|..
|.XX.
+----
:1111
Pattern 6406
# Nothing to do.
|.X
|..X.
+----
:1111
Pattern 6407
# Nothing to do.
|.x
|X.X.
+----
:1111
Pattern 6411
xX
X*X.
:1122
Pattern 6412
.*
XXX.
:1122
Pattern 6413
..
.XX.
:1222
Pattern 6414
XX
*XX>
:1122
Pattern 6416
XX
XXX.
:1112
Pattern 6417
xX
XXX.
:1111
Pattern 6418
xX
XX*.
:1122
Pattern 6421
.x
x*.!
:1122
Pattern 6422
.x
x*X!
:0122
Pattern 6423
XX
X*x!
:1122
Pattern 6424
Xx
x.X@
:0122
Pattern 6425
XX
XXX@
:0012
Pattern 6426
Xx
xXX@
:0022
Pattern 6427
X.
x..!
:1112
Pattern 6429
X.
.X.!
:1112
Pattern 6430
..
.X.!
:0112
Pattern 6431
xx
xX.!
:0111
Pattern 6432
.x
xXX@
:0011
Pattern 6433
xx
@..x
:1122
Pattern 6434
.x
@.Xx
:1122
Pattern 6435
xx
@.Xx
:0122
Pattern 6436
xx
@X.x
:0122
Pattern 6437
xx
@XXx
:0022
Pattern 6441
@x
x..x
:1122
Pattern 6442
@x
x.XX
:0122
Pattern 6443
!x
x.X.
:0112
Pattern 6444
@.
.X.X
:0122
Pattern 6445
!.
.X..
:0112
Pattern 6446
!X
xX..
:0112
Pattern 6447
@X
xX.X
:0122
Pattern 6448
@X
xXX.
:0011
Pattern 6449
@x
xXXX
:0022
Pattern 6450
@x
xXX.
:0011
Pattern 6461
xx
x@.x
:0122
Pattern 6462
xx
x@Xx
:0022
Pattern 6471
XX
X.@x
:1122
Pattern 6472
.X
X.!x
:0222
Pattern 6473
.x
x.@x
:1122
Pattern 6474
xx
x.@x
:0122
Pattern 6475
xx
xX@x
:0022
# ...
# Topology: ...
#
Pattern 6501
>XX
X<X
---
:1122
Pattern 6502
.*.
..X
---
:1122
Pattern 6503
.x.
X.X
---
:1111
Pattern 6504
.X.
x.X
---
:1111
Pattern 6511
XX.
..X
:1222
Pattern 6512
XXX
X.X
:2222
Pattern 6513
xXx
x*x
:1122
Pattern 6514
# Need to mark both empty vertices. In the corner one of them may not
# be a valid defense (suicide move).
XX*
*XX
:1122
Pattern 6515
XXX
XX.
:1112
Pattern 6516
xXx
xXx
:1111
Pattern 6521
!.x
..x
:0112
Pattern 6522
@XX
X.x
:0022
Pattern 6523
@Xx
x.x
:0012
Pattern 6524
@XX
XXX
:0012
Pattern 6525
@XX
XX.
:0022
Pattern 6526
@Xx
xXx
:0011
Pattern 6527
@.X
X..
:0122
Pattern 6528
@.X
X.X
:0022
Pattern 6529
!..
X.x
:0112
Pattern 6530
!.x
.X.
:0112
Pattern 6531
@xX
.XX
:0011
Pattern 6532
@x.
xXx
:0011
Pattern 6533
@xX
XXx
:0022
Pattern 6541
.@.
x.x
:0122
Pattern 6542
x@x
xXx
:0022
Pattern 6543
x@x
x.x
:0022
Pattern 6551
!.x
!.x
:0111
# ...
# Topology: ...
#
Pattern 6601
...
...
:2222
Pattern 6602
*Xx
.XX
:1122
Pattern 6603
X*X
.XX
:1122
Pattern 6604
X*.
xXX
:1122
Pattern 6605
XX.
.XX
:1111
Pattern 6606
XXX
.XX
:1112
Pattern 6611
x*x
!.x
:1122
Pattern 6612
XXX
!.X
:1112
Pattern 6613
xXx
!.x
:0111
Pattern 6614
x..
!Xx
:0112
Pattern 6615
x.X
@Xx
:0122
Pattern 6616
XXX
@XX
:0012
Pattern 6617
xXX
@Xx
:0022
Pattern 6618
xX.
@Xx
:0011
Pattern 6621
x.x
x@x
:0122
Pattern 6622
xXx
x@x
:0022
Pattern 6631
x.x
x.@
:1122
Pattern 6632
x.x
xX@
:0122
Pattern 6633
xXx
xX@
:0022
# .
# Topology: ....
# .
Pattern 6701
x
xX*.
x
:1122
Pattern 6702
x
x*X.
x
:1122
Pattern 6703
X
XXX.
X
:1112
Pattern 6704
x
xXX.
x
:1111
Pattern 6711
x
!*..
x
:1122
Pattern 6712
x
!..X
x
:1222
Pattern 6713
x
!.XX
x
:0222
Pattern 6714
x
!*Xx
x
:0122
Pattern 6715
x
@X.X
x
:0122
Pattern 6716
x
!X..
x
:0112
Pattern 6717
x
@XXX
x
:0022
Pattern 6718
x
@XX.
x
:0011
Pattern 6721
# Cannot exist.
x
x.!x
x
:0222
Pattern 6722
# Cannot exist.
x
xX@x
x
:0022
Pattern 6731
x
x*.!
x
:1122
Pattern 6732
X
X*X!
X
:1122
Pattern 6733
x
x*X!
x
:0122
Pattern 6734
X
XX.!
X
:1112
Pattern 6735
x
xX.!
x
:0111
Pattern 6736
X
XXX@
X
:0012
Pattern 6737
x
xXX@
x
:0011
# .
# Topology: ....
# .
Pattern 6801
x
xX.!
X
:0222
Pattern 6802
x
xX*!
.
:0122
Pattern 6803
x
x.X!
X
:0222
Pattern 6804
x
x*X!
.
:0122
Pattern 6805
x
xXX@
.
:0011
Pattern 6806
x
xXX@
X
:0022
Pattern 6811
# Cannot exist.
x
x.!x
x
:0222
Pattern 6812
# Cannot exist.
x
xX@x
x
:0022
# ..
# Topology: ...
# .
Pattern 6901
# This pattern must be matched before 6902.
XX
X.X
X
:1222
Pattern 6902
.x
x*x
x
:1122
Pattern 6903
XX
X*x
x
:1122
Pattern 6904
X.
.XX
X
:2222
Pattern 6905
X.
.Xx
x
:1222
Pattern 6906
XX
.XX
X
:1222
Pattern 6907
XX
*Xx
x
:1122
Pattern 6908
..
.Xx
x
:1112
Pattern 6909
XX
XXX
.
:1112
Pattern 6910
.X
XXX
X
:1112
Pattern 6911
xx
xXx
x
:1111
Pattern 6912
!.
.*x
x
:0122
Pattern 6913
!X
X*X
X
:1122
Pattern 6914
!x
x*x
x
:0122
Pattern 6915
@.
.Xx
x
:0011
Pattern 6916
@X
XXX
X
:0012
Pattern 6917
@x
xXx
x
:0011
Pattern 6921
.!
.*x
x
:1122
Pattern 6922
.!
X*x
x
:0122
Pattern 6923
.@
.Xx
x
:0012
Pattern 6924
.@
XXx
x
:0011
Pattern 6925
X@
xXx
x
:0022
Pattern 6931
.x
x*!
x
:0122
Pattern 6932
Xx
x*!
.
:0122
Pattern 6933
XX
X*!
X
:1122
Pattern 6934
Xx
x.!
X
:0222
Pattern 6935
.x
xX@
x
:0011
Pattern 6936
XX
XX@
X
:0012
Pattern 6937
Xx
xX@
X
:0022
Pattern 6938
Xx
xX@
x
:0011
###############################
# 7 elements #
###############################
#
# Topology: .......
#
Pattern 70000
# There is some ko potential here.
|.
|X
|X
|...@
+----
:1122
Pattern 70001
# tm added (3.1.15)
# Though pattern 7003 matches with a defense point at
# the proper place, the code doesn't seem to provide
# more than one defense point.
|(
|.
|.
|>..(
+----
:1122
Pattern 70002
# Special corner shape.
|X*.
|. ..$
+-----
:1122
Pattern 70003
# Special corner shape.
|XX.
|. ..$
+-----
:1112
Pattern 70010
@..>X.(
:1122
Pattern 70011
@..>..@
:1122
Pattern 70012
(.x..X@
:1122
Pattern 70013
@..X..@
:1122
Pattern 70014
(.X*X.(
:1122
Pattern 70015
@X.X.X@
:0122
Pattern 70016
@X.X..!
:0122
Pattern 70017
@XXXX.!
:0022
Pattern 70018
@XxxX.(
:0122
Pattern 70019
!Xx..x!
:0112
Pattern 70020
!.XX..!
:0112
Pattern 70021
!.XXX.!
:0111
Pattern 70022
@XXX.x!
:0012
Pattern 70023
@XX*XX@
:0011
Pattern 70024
!XXXXX!
:0002
Pattern 70030
# FIXME: This pattern looks like 1112 to me. "$...<." seems to be
# attackable at '<'. -pp
$.....@
:1122
# .
# Topology: ......
#
Pattern 70500
x
!<XXX)
:0022
Pattern 70501
X
!..X.!
:1222
Pattern 70502
X
!.XX.!
:0222
Pattern 70503
x
!..XX@
:0122
Pattern 70504
.
!*X.X)
:0122
Pattern 70505
.
!*XX.!
:0122
Pattern 70506
x
!*xxx!
:1122
Pattern 70507
)
)*x..x
:1122
# .
# Topology: ......
#
Pattern 71000
. @|
!...x|
-----+
:1122
Pattern 71010
!
!..X.X
:1222
Pattern 71011
!
@.>XXX
:1122
Pattern 71012
# Defending the other marginal vertex is sometimes incorrect,
# see regression/games/owl27.sgf.
)
(..x.x
:1122
Pattern 71013
(
@...Xx
:1122
Pattern 71014
!
)X<XXx
:0022
Pattern 71015
!
)x<xXx
:0122
Pattern 71016
!
@X*..x
:1122
Pattern 71017
!
!X*X.x
:0122
Pattern 71020
x
!X*XX!
:0022
Pattern 71021
X
!.>xX(
:1122
Pattern 71022
.
!.*XX!
:0122
Pattern 71023
.
!X*.x!
:0122
Pattern 71024
x
!X*X.!
:0122
Pattern 71025
x
!x*xx!
:1122
Pattern 71030
)
..>..@
:1122
Pattern 71040
!
!..x.!
:0112
# . .
# Topology: .....
#
Pattern 71500
. !
!...!
:0112
# .
# Topology: .....
# .
Pattern 72000
x
x*X.!
x
:1122
Pattern 72001
x
x..X!
x
:1222
Pattern 72002
X
X...!
X
:1222
Pattern 72003
x
x*..)
x
:1122
# .
# Topology: .....
# .
# Pattern 72500
# .
# Topology: .....
# .
# Pattern 73000
# .
# Topology: .
# .....
Pattern 73500
@
.
x...@
:1122
Pattern 73501
!
.
.*X.!
:1122
# ..
# Topology: .....
#
Pattern 74000
# Bent four in the corner
|..
|.*..!
+----
:1122
Pattern 74001
XX
X*x.!
:1122
Pattern 74002
X.
x.X.!
:1222
Pattern 74003
Xx
x>x.@
:1122
# ..
# Topology: .....
#
Pattern 74500
|.
|X
|XX.
|.X
+--
:1111
Pattern 74510
..
.X*.!
:1122
Pattern 74511
.x
....!
:1222
Pattern 74512
xx
.*x.!
:1122
Pattern 74513
Xx
.X..!
:1112
Pattern 74514
Xx
.XX.!
:0111
Pattern 74515
.x
!...!
:1112
Pattern 74516
xX
!.X.!
:0111
Pattern 74517
xx
!.x.!
:0112
# ...
# Topology: ....
#
Pattern 75000
|.
|X
|XX
|.*.
+---
:1122
Pattern 75001
|.
|*
|XX
|.X.
+---
:1122
Pattern 75002
|.
|*
|Xx
|x.!
+---
:1122
Pattern 75003
|.
|X
|XX
|.X.
+---
:1111
Pattern 75004
|.
|*
|X.
|..!
+---
:1122
Pattern 75010
XX.
!..X
:1112
Pattern 75011
XXX
(.*X
:1122
Pattern 75012
xXx
@..x
:1122
Pattern 75020
X.(
(.*X
:1122
Pattern 75021
x.!
!..x
:0112
Pattern 75022
x.!
!.Xx
:0111
# ..
# Topology: ....
# .
Pattern 75500
xX
XX*.
x
:1122
Pattern 75501
# O here may give ko.
xX
X*X.
x
:1122
Pattern 75502
# X here gives ko.
.*
X.X.
x
:1122
Pattern 75504
# X here gives ko.
.X
X.*.
x
:1122
Pattern 75505
xX
*XX.
x
:1122
Pattern 75506
XX
XXX.
X
:1112
Pattern 75507
xX
XXX.
x
:1111
# ..
# Topology: ....
# .
Pattern 76000
Xx
x*X.
x
:1122
Pattern 76001
Xx
xX*.
x
:1122
Pattern 76002
*x
xXX.
x
:1122
Pattern 76003
XX
XXX.
X
:1112
Pattern 76004
Xx
xXX.
x
:1111
# .
# Topology: ...
# ...
Pattern 76500
x
x*X
XX.
:1122
Pattern 76501
x
xXX
X*.
:1122
Pattern 76502
X
XX*
XX>
:1122
Pattern 76503
x
xX*
XX.
:1122
Pattern 76504
X
XXX
XX.
:1112
Pattern 76505
x
xXX
XX.
:1111
# .
# Topology: ..
# ....
Pattern 77000
x
XX
.*.!
:1122
Pattern 77001
x
XX
.X.!
:0111
Pattern 77010
!
.x
!.*x
:1122
# .
# Topology: ....
# ..
# Pattern 77500
# ..
# Topology: ...
# ..
Pattern 78000
..
XXX
X.
:1111
Pattern 78001
.*
*X*
X.
:1122
Pattern 78002
..
xXx
X.
:1112
Pattern 78003
.X
x.X
X.
:1112
Pattern 78004
.X
x*x
X.
:1122
Pattern 78005
.x
x*X
Xx
:1122
Pattern 78006
.x
xX*
Xx
:1122
Pattern 78010
.X
xXx
X.
:1111
Pattern 78011
.X
.XX
XX
:1111
Pattern 78012
.x
xXX
Xx
:1112
# ...
# Topology: ....
#
Pattern 78500
---
X.X
.XX.
:1111
Pattern 78501
---
X.X
.X*.
:1122
Pattern 78502
----
X.X.
.Xx
:1111
Pattern 78503
----
X.X.
xX.
:1111
Pattern 78504
----
X.*.
.Xx
:1122
Pattern 78505
----
..*.
.XX
:1122
Pattern 78506
----
X.*.
xX.
:1122
Pattern 78507
----
*.X.
.Xx
:1122
Pattern 78508
----
*.X.
xX.
:1122
Pattern 78509
----
X.X.
.*x
:1122
Pattern 78510
----
X.X.
x*.
:1122
Pattern 78511
----
..*.
.XX
:1122
Pattern 78520
|.
|Xx
|XX
|.X
+--
:1111
Pattern 78521
|xx
|XX
|.X.
+---
:1111
Pattern 78522
|X
|XX.
|.X.
+---
:1111
Pattern 78523
|.
|XX
|*X
|.X
+--
:1122
Pattern 78524
.
|XX
|*X
|.X
+--
:1122
Pattern 78525
|XX
|*X
|.X.
+---
:1122
Pattern 78526
|xx
|XX
|.*.
+---
:1122
Pattern 78527
.
|XX
|XX
|.X
+--
:1111
Pattern 78550
..X
X..!
:1222
Pattern 78551
X.X
X..!
:0222
Pattern 78552
x.x
x..@
:1122
Pattern 78553
.XX
...!
:0112
Pattern 78554
.XX
X>*)
:1122
Pattern 78555
.xx
x*.!
:1122
# .
# Topology: ...
# ...
Pattern 79000
|X.
|XX.
|.X
+--
:1111
Pattern 79010
# Big nakade.
x
.X.
.*.
:1122
Pattern 79011
# Big nakade.
.
.X.
.*X
:1122
Pattern 79012
# Big nakade.
X
..x
XX.
:1222
Pattern 79013
# Big nakade.
x
x*x
xX.
:1122
Pattern 79014
# X here may give ko.
.
X.X
X..
:1222
Pattern 79015
# X here may give ko.
.
X>X
.*.
:1122
Pattern 79016
# Big nakade.
x
XXx
x*.
:1122
Pattern 79017
# Big nakade.
X
XX.
..X
:1222
Pattern 79018
# Big nakade.
x
XXx
.*x
:1122
Pattern 79019
# Big nakade.
X
XX*
.XX
:1122
Pattern 79020
# Big nakade.
.
XX.
.XX
:1112
Pattern 79021
# Big nakade.
X
xX*
.XX
:1122
Pattern 79022
# Big nakade.
X
.X.
.X.
:1112
Pattern 79023
# Big nakade.
.
.X.
XX.
:1112
Pattern 79024
# Big nakade.
.
xX.
xX.
:1111
Pattern 79025
# Big nakade.
x
xXx
.X.
:1111
Pattern 79026
# Big nakade.
X
XXX
XX.
:1112
Pattern 79027
# Big nakade.
x
XXX
xX.
:1111
Pattern 79028
# Big nakade.
x
XXx
XX.
:1111
###############################
# 8 elements #
###############################
#
# Topology: ........
#
Pattern 80000
# Bent four in the corner, some ko potential
!
.
|X
|X
|...!
+---
:1111
Pattern 80010
# Special corner shape.
|)
|*..
|. ..$
+-----
:1122
# ....
# Topology: ....
#
Pattern 80100
!...
...!
:1112
# .
# Topology: .
# ......
Pattern 80200
!
.
!..X.X
:2222
Pattern 80201
!
.
!..Xxx
:1222
Pattern 80202
!
.
!.X.XX
:1222
Pattern 80203
@
.
@.X>X.
:1122
Pattern 80204
!
.
!.x..x
:1222
Pattern 80205
(
.
(.*..(
:1122
# ..
# Topology: ......
#
Pattern 80300
..
@.>>.@
:1122
Pattern 80301
..
!.X*.!
:1122
# ..
# Topology: ......
#
Pattern 80400
# nn New pattern (3.3.12)
|@ ..
|....!
+-----
:1122
Pattern 80401
X.
!..X.!
:1222
Pattern 80402
..
)>>..@
:1122
Pattern 80403
X.
!*>..@
:1122
Pattern 80404
XX
)*>X.!
:1122
Pattern 80405
xx
!.*x.@
:1122
# ...
# Topology: .....
#
Pattern 80500
!
|.
|.
|XX
|.*.
+---
:1122
Pattern 80501
!.x
x*x.!
:1122
Pattern 80502
# in some cases this could become seki
!.x
xX..!
:0112
Pattern 80503
# in some cases this could become seki
!.x
xXX.!
:0111
# .
# Topology: .......
#
Pattern 80600
!
(..*..(
:1122
# ....
# Topology: ....
#
Pattern 80700
|.
|*
|XX
|...!
+----
:1122
Pattern 80701
|.
|X
|XX
|...!
+----
:1111
# . .
# Topology: . .
# ....
Pattern 80800
# tm New Pattern (3.1.20) (see viking:9)
! @
. .
.X..
:1122
# .
# Topology: ...
# ....
Pattern 80900
# gf New pattern. (3.3.18)
.
|XX.
|.XX.
+----
:1111
# .
# Topology: ...
# ....
Pattern 81000
# gf New pattern. (3.3.18)
|.
|XX.
|.XX.
+----
:1111
# ..
# Topology: ..
# ....
Pattern 81100
# gf New pattern. (3.3.18)
|..
|XX
|.XX.
+----
:1111
# ..
# Topology: ...
# ...
Pattern 81200
# gf New pattern. (3.3.18)
|..
|XX.
|.XX
+---
:1111
###############################
# 9 elements #
###############################
Pattern 90100
@.>..
...!
:1122
Pattern 90200
! .
!.....!
:1222
Pattern 90300
!
.
..
!...!
:1112
Pattern 90400
!
..
!.*..!
:1122
Pattern 90500
.....!
!..
:1222
Pattern 90600
!
|.
|.
|*X
|...!
+----
:1122
Pattern 90700
!
@..>...!
:1122
Pattern 90800
|!
|.
|X.
|X
|...@
+---
:1122
###############################
# 10 elements #
###############################
Pattern 100001
|!
|.
|.*.
|.*..$
+-----
:1122
Pattern 100002
# `analyze_eyegraph' believes it is 0012, but I doubt. Must be some
# liberty shortage artifact or something. /pp
|!
|.
|.X.
|....$
+-----
:0112
Pattern 100100
@
.
..
xX*
x.
!
:1122
Pattern 100200
!
! .
..*
!...
:1122
Pattern 100300
!
*.
.>
@...@
:1122
Pattern 100400
(
..
*.
(.X.(
:1122
Pattern 100401
(
..
>.
@...(
:1122
Pattern 100500
)
@.>
.
.>
)*.
:1122