root/06/libkombilo-branches/hash_center_makedb/testsearch.py

Revision 220, 2.6 kB (checked in by ug, 2 years ago)

Amended signature search. Small fix in GameList? destructor.

  • Property svn:executable set to
Line 
1 #! /usr/bin/env python2.4
2
3 import os
4 import sys
5 import time
6 from libkombilo import *
7
8 start = time.time()
9 gl = GameList('t1.db')
10 end = time.time()
11 print gl.size(), 'games in the database'
12 print 'Opening the db took %.2f seconds.' % (end - start)
13 # gl.gisearch("pw = 'Cho Chikun'")
14 # print gl.size(), 'games in the database'
15
16 # p = Pattern(CENTER_PATTERN, 19, 3,4,"..O.....OX..")
17 # p = Pattern(CORNER_SW_PATTERN, 19, 7, 7, '........................X........................')
18 # p = Pattern(CENTER_PATTERN, 19, 3, 3, '.X.XXXXOX')
19 p = Pattern(CENTER_PATTERN, 19, 3, 5, '.X.' + '.OX' + '.OX' + '.OX' + 'OXO')
20 # p = Pattern(CENTER_PATTERN, 19, 5, 4, '..XOO'+ '...XX'+ '.....'+ '..X..')
21 so = SearchOptions()
22 # so.fixedColor = True
23 # so.nextMove = 2
24 start = time.time()
25 gl.search(p, so)
26 end = time.time()
27 # for i in range(gl.size()):
28 #     print gl.currentEntryAsString(i)
29 #     print gl.getCurrentProperty(i, 'EV')
30 # print '\n'.join(gl.currentEntriesAsStrings())
31 print gl.size(), 'games, ', gl.numHits(), 'hits.'
32 print 'Search pattern:'
33 print p.printPattern()
34 print 'Continuations:'
35 for y in range(p.sizeY):
36     for x in range(p.sizeX):
37         print gl.lookupLabel(x,y),
38     print
39
40 print
41 print "Statistics:"
42 print "Continuation | Black ( B wins / W wins ) | White (B wins / W wins) |"
43 for y in range(p.sizeY):
44     for x in range(p.sizeX):
45         if gl.lookupLabel(x,y) != '.':
46             cont = gl.lookupContinuation(x,y);
47             print "      %c      |   %3d (    %3d /    %3d ) |   %3d (   %3d /    %3d) |" % \
48                   (gl.lookupLabel(x,y), cont.B, cont.wB, cont.lB, cont.W, cont.wW, cont.lW)
49 print 'This search took %.2f seconds.' % (end - start)
50
51 # p = Pattern(CENTER_PATTERN, 19, 2, 2, 'XO' + 'OX')
52 # start = time.time()
53 # gl.search(p)
54 # end = time.time()
55 # print '\n'.join(gl.currentEntriesAsStrings())
56 # print gl.size(), 'games, ', gl.numHits(), 'hits.'
57 # print 'This search took %.2f seconds.' % (end - start)
58
59 # print gl.currentEntryAsString(gl.size()-1)
60 # print gl.getCurrentProperty(gl.size()-1, 'PW'),  gl.getSGF(gl.size()-1)
61
62 # gl.reset()
63 # gl.tagsearch(HANDI_TAG)
64 # print gl.size(), 'handicap games'
65
66 # print gl.plSize(), 'players in the whole database.'
67 # for i in range(100,110):
68 #     print 'Player %d: %s' % (i, gl.plEntry(i))
69
70 for sig in ['cfcgjbbeckjc', 'qfqgjbreqkjc', '', 'aaaaaaaaaaaa', 'dfcnfmepgkjo', 'dfcn________', 'dfcn%']:
71     # SQL-wildcards are allowed: _ for a single character, % for an arbitrary number of characters
72     gl.reset()
73     gl.sigsearch(sig, 19)
74     print gl.size(), 'games with signature', sig
75 # gl.reset()
76 # print gl.currentEntryAsString(200)
77 # print 'signature of game 200: ', gl.getSignature(200)
78
Note: See TracBrowser for help on using the browser.