What is gsearch?


I will suppose you are familiar with the game Go (and how to play it on computers), if not, you can learn it, trust me, it is a great game!

I have been a Go player for nearly 20 years, and have been playing on the Internet ( mostly on IGS server ) for over 6 years. I have saved 100+ my personal game records, and collected over 1000 professional game records, all in SGF/MGT format.

One day, I remembered I have played a "ten-thousand-year ko" (if you don't know what it is, see the picture below) in a previous game, but where is the game file? And also, how did pros handle this kind of ko in their games? Do I have any pro game record that contains this kind of ko? I could not figure out how to search SGF files, thus I decide to write a small SGF Go Game search utility for myself.

So this is gsearch, with it, I can put the "ten-thousand-year ko" sequence in an SGF file, like this (click the image to get the file):

then feed this SGF file ( called pattern file ) to gsearch, let it search all my SGF game record files, and get the results. Actually I did it by typing "gsearch -c p0.mgt *.sgf *.mgt" on the command line, then it gave me the result "990526.sgf:221", which means it happened in my game "990526", move# 221. Of course, that's not all, what I want is to make gsearch a general purpose SGF Go Game search tool, it supports searching two kinds of patterns: sequence and shape. For how to use it, please see the file gsearch.man.txt in the release package, and there are some examples for it:

Sequence

See some examples:

gsearch
options
pattern file
main file
Result
Found at #8
Found at #8
Not found
Found at #4
Found at #4
-f
Found at #4
-f
Not found
Not found
-c
Found at #3

 

Shape

gsearch
options
pattern file
main file
Result
-s
Found
-s -f
Not Found
-s
Found
-s -f
Found

 

 


Zheli Erwin Yu eyu@qwest.net