Initial commit of GNU Go v3.8.
[sgk-go] / patterns / handicap.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 #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# The General Fuseki Pattern Database, fuseki.db
#
# Further documentation may be found in the Texinfo documentation
#
# First there is a pattern title of the form: Pattern [string]. The
# string is used for identifying the pattern while tuning or debugging.
#
# Then a block of the following characters representing the pattern
# itself.
#
# ? : don't care
# . : empty
# X : your piece,
# O : my piece,
# x : your piece or empty
# o : my piece or empty
# * : my next move
# -, | : edge of board
# + : corner of board
# ! : additional stones to be placed on the board (together with *)
#
# If a pattern must not match at the edge of the board,
# an extra row of ?'s in the pattern may be added. (This
# will not add to the time taken to check the pattern.)
#
#################
#
# After the pattern, some supplementary information in the format:
#
# :trfno, classification, [values], helper_function
#
# These and other aspects of the pattern database are documented
# in the Texinfo documentation.
#
#################
#
# Any line beginning with #, or any part of a line following
# whitespace is a comment.
#
# This database has the special property that there are stones
# temporarily added at the very corners of the board when
# called. This allows us to use pattern matching for the first real
# stones in an empty corner but also means that the extreme corner
# stones must be included in all corner patterns.
#
# There are no meaningful classifications that can be used in this
# database. All patterns need to have a specified value, which is
# related to the probability that the pattern will be used. Basically
# a pattern which has a value being N higher than another pattern is
# 2^N times more probable to be chosen. Additionally there are some
# cutoffs involved, see engine/handicap.c for details.
attribute_map value_only
goal_elements none
callback_data !
Pattern H1
|..... 4-4 in empty corner
|...*.
|.....
|.....
|O....
+-----
:/,-,value(25)
Pattern H2
|.... 3-3 in empty corner
|..*.
|....
|O...
+----
:/,-,value(23)
Pattern H3
|..... 3-4 in empty corner
|...*.
|.....
|O....
+-----
:8,-,value(24)
Pattern H4
|.....
|...*. 5-4 in empty corner
|.....
|.....
|.....
|O....
+-----
:8,-,value(23)
Pattern H5
|.....
|..*.. 5-3 in empty corner
|.....
|.....
|.....
|O....
+-----
:8,-,value(23)
Pattern H6
|......
|....*. 5-5 in empty corner
|......
|......
|......
|O.....
+------
:8,-,value(18)
Pattern H7
|......
|...*.. ponnuki in corner
|..!.!.
|...!..
|......
|O.....
+------
:8,-,value(23)
|......
|...*..
|..!.!.
|...!..
|......
|O.....
+------
;remaining_handicap_stones() > 20
Pattern H10
|.....
|..*.. shimari
|.....
|...O.
|.....
|O....
+-----
:8,-,value(21)
Pattern H11
|.....
|...*. shimari
|.....
|...O.
|.....
|O....
+-----
:8,-,value(21)
Pattern H12
|.....
|..*..
|..... shimari
|.....
|...O.
|.....
|O....
+-----
:8,-,value(19)
Pattern H13
|.....
|...*.
|..... shimari
|.....
|...O.
|.....
|O....
+-----
:8,-,value(19)
Pattern H14
|.....
|..O.. shimari
|.....
|...*.
|.....
|O....
+-----
:8,-,value(21)
Pattern H15
|.....
|..O.. shimari
|.....
|..*..
|.....
|O....
+-----
:8,-,value(18)
Pattern H16
|.....
|...O. shimari
|.....
|...*.
|.....
|O....
+-----
:8,-,value(21)
Pattern H17
|.....
|...O. shimari
|.....
|..*..
|.....
|O....
+-----
:8,-,value(18)
Pattern H18
|......
|...*.. shimari
|......
|..O...
|......
|O.....
+------
:8,-,value(18)
Pattern H19
|......
|...*..
|...... shimari
|......
|..O...
|......
|O.....
+------
:8,-,value(19)
Pattern H20
|......
|...*..
|...... shimari
|...O..
|......
|......
|O.....
+------
:8,-,value(19)
Pattern H21
|......
|..*...
|...... shimari
|...O..
|......
|......
|O.....
+------
:8,-,value(19)
Pattern H22
|......
|..O.*. make shimari extra strong
|......
|...O..
|......
|O.....
+------
:8,-,value(12)
Pattern H23
|......
|..O...
|...... close corner
|...O..
|...*..
|......
|O.....
+------
:8,-,value(11)
Pattern H24
|......
|...O..
|...... close corner
|...O..
|..*...
|......
|O.....
+------
:8,-,value(11)
Pattern H30
|...................| san-ren-sei
|...O.....*.....O...|
|...................|
|...................|
|O.................O|
+-------------------+
:8,-,value(22)
Pattern H31
|...................| low chinese
|..O............O...|
|........*..........|
|...................|
|O.................O|
+-------------------+
:8,-,value(24)
Pattern H32
|...................| high chinese
|..O.....*......O...|
|...................|
|...................|
|O.................O|
+-------------------+
:8,-,value(24)
Pattern H40
|............ extend from shimari
|..oo........
|.........*..
|..oo........
|............
|O...........
+------------
:8,-,value(20)
|............
|..ab........
|.........*..
|..cd........
|............
|O...........
+------------
;o_somewhere(a,b) && o_somewhere(c,d)
Pattern H41
|............ extend from shimari
|..oo........
|............
|..oo.....*..
|............
|O...........
+------------
:8,-,value(20)
|............
|..ab........
|............
|..cd.....*..
|............
|O...........
+------------
;o_somewhere(a,b) && o_somewhere(c,d)
Pattern H42
|............ extend from shimari
|............
|..o......*..
|..o.O.......
|............
|O...........
+------------
:8,-,value(17)
|............
|............
|..a......*..
|..b.O.......
|............
|O...........
+------------
;o_somewhere(a,b)
Pattern H43
|............ extend from shimari
|............
|..o.O.......
|..o......*..
|............
|O...........
+------------
:8,-,value(17)
|............
|............
|..a.O.......
|..b......*..
|............
|O...........
+------------
;o_somewhere(a,b)
Pattern H44
|..oo........ extend from hoshi
|............
|...O........
|.........*..
|............
|O...........
+------------
:8,-,value(17)
Pattern H45
|..oo........ extend from hoshi
|............
|...O.....*..
|............
|............
|O...........
+------------
:8,-,value(17)
Pattern H50
|..oooo........ early edge move
|..ooo....*....
|..............
|O.............
+--------------
:8,-,value(16)
Pattern H51
|..oooo........
|..ooo....*.... early edge move
|..oooo........
|..............
|O.............
+--------------
:8,-,value(16)
Pattern H52
|..ooo........
|..ooo....O... iron pillar
|..ooo....*...
|.............
|O............
+-------------
:8,-,value(12)
Pattern H53
|..ooo....*...
|..ooo........ jump
|..ooo....O...
|.............
|O............
+-------------
:8,-,value(12)
Pattern H60
|..............
|..............
|..............
|..ooo.........
|..ooo....*.... early center move
|..ooo.........
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
:/,-,value(14)
Pattern H61
|..............
|..............
|..............
|..ooo.........
|..ooo....*.... early center move
|..ooo.........
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
:/,-,value(19)
|..............
|..............
|..............
|..ooo.........
|..ooo....*....
|..ooo.........
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
;remaining_handicap_stones() > 4
Pattern H62
|..............
|..............
|..............
|..ooo.........
|..ooo...*.!... early center formation
|..ooo.........
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
:8,-,value(19)
|..............
|..............
|..............
|..ooo.........
|..ooo...*.!...
|..ooo.........
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
;remaining_handicap_stones() > 9
Pattern H63
|..............
|..............
|..............
|..ooo....!....
|..ooo...*.!... early center ponnuki
|..ooo....!....
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
:8,-,value(19)
|..............
|..............
|..............
|..ooo....!....
|..ooo...*.!...
|..ooo....!....
|..............
|..............
|..............
|..ooo...ooo...
|..ooo...ooo...
|..ooo...ooo...
|..............
|O.............
+--------------
;total_handicap_stones() > 18
Pattern H70
+-------------------+
|O.................O| special influence oriented pattern
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|...................|
|...................|
|...................|
|...!.....*.....!...|
|...................|
|...................|
|...................|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|O.................O|
+-------------------+
:8,-,value(19)
+-------------------+
|O.................O|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|...................|
|...................|
|...................|
|...!.....*.....!...|
|...................|
|...................|
|...................|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|O.................O|
+-------------------+
;total_handicap_stones() >= 5
Pattern H71
+-------------------+
|O.................O| great wall!
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|..........!........|
|...................|
|...................|
|.........*.........|
|...................|
|...................|
|........!..........|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|O.................O|
+-------------------+
:8,-,value(19)
+-------------------+
|O.................O|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|..........!........|
|...................|
|...................|
|.........*.........|
|...................|
|...................|
|........!..........|
|...................|
|...................|
|.........!.........|
|...................|
|...................|
|O.................O|
+-------------------+
;total_handicap_stones() >= 5
Pattern H80
......
...O.. strengthen connection
O.....
...*..
.....o
....oo
:8,-,value(8)
Pattern H81
....oo
......
O..... jump out
...*..
O.....
......
....oo
:8,-,value(8)
Pattern H82
....oo
O...oo jump out
......
O..*..
......
....oo
:8,-,value(8)
Pattern H83
....oo
.....o
O..... jump out
O..*..
......
....oo
:8,-,value(8)
Pattern H84
o...oo one space jump
......
O.*...
......
o...oo
:8,-,value(5)
Pattern H85
...... strengthen
......
..O*..
......
......
:8,-,value(5)
Pattern H86
o..o one space jump
....
O.*.
....
o..o
:8,-,value(1)
Pattern H87
...o strengthen
....
.O*.
....
...o
:8,-,value(1)
# END OF FILE