def lookupTransitionProbs( final_street, final_board ) : if final_street == 0 : print "preflop, no transitions to return" return False trans_lookup = {"01" : -1, \ "12" : -1, \ "23" : -1 } #TODO: compute TRANSITIONS_FLOP for street in range(1,final_street+1) : board = final_board[:street+2] #if turn or river if street > 1 : cboardp = deck.collapseBoard( board ) cboard = deck.collapseBoard( board[:-1] ) cboards = "%s|%s" % (cboard,cboardp) elif street == 1 : cboards = deck.collapseBoard( board ) street_name = globles.int2streetname( street ) query = """select dist from TRANSITIONS_%s where cboards = '%s'""" % \ (street_name.upper(), cboards) #print query dist = conn.queryScalar( query, str ) dist = [[float(p) for p in line.split(',')] \ for line in dist.split(';')] lookup_name = "%d%d" % (street-1, street) trans_lookup[lookup_name] = dist return trans_lookup
def loadPtrans() : Ptrans = {} for street in [1,2,3] : street_name = globles.int2streetname(street) #to be built cluster_map = {} conditional_map = {} map_table_name = "CLUSTER_MAP_%s" % street_name.upper() q = """select cboards,cluster_id from %s""" % map_table_name rows = conn.query(q) for (cboards,cluster_id) in rows : cluster_map[cboards] = int(cluster_id) joint_table_name = "CLUSTERS_%s" % street_name.upper() q = """select cluster_id,joint from %s """ % joint_table_name rows = conn.query(q) for (cluster_id,joint_str) in rows : conditional = clust.normalize( clust.parseTable(joint_str) ) conditional_map[cluster_id] = conditional Ptrans[street_name] = ( (cluster_map, conditional_map) ) return Ptrans
def lookupPtrans( Ptrans, street, cboards ) : street_name = globles.int2streetname( street ) cluster_id = Ptrans[street_name][0][cboards] conditional = Ptrans[street_name][1][cluster_id] return conditional
def lookupPk( street, bucket ) : sname = globles.int2streetname( street ) return globles.BUCKET_PERCENTILES[sname][bucket]