org.pokersource.enumerate
Class SAIEMain

java.lang.Object
  extended by org.pokersource.enumerate.SAIEMain

public class SAIEMain
extends java.lang.Object

An executable program that provides access to the SAIE calculator.

 Usage: java org.pokersource.enumerate.SAIEMain [options] bv1 bv2 ...
 where bv1 is a HoldemBeliefVector in string form
 Options:
 -b board           Community cards
 -d dead            Dead cards
 -m nmatchups       Number of matchups to sample [default all]
 -n noutcomes       Number of outcomes for each matchup [default all]
 -r NAME:file       Register hand ordering in file as NAME
 -O                 Track relative hand rank orderings
 -t                 Terse output [default human-readable]
 -i                 Read hands from stdin instead of command line
 -v level           Verbosity level [default 0]

 Streaming usage: java pokeval.SAIEMain -i
 followed by standard input of command lines as above

 Examples:
 java org.pokersource.enumerate.SAIEMain -b Ah3d2c9d JsJd 'AQs+ TT+'

 java org.pokersource.enumerate.SAIEMain -m 100 -n 100 'AQs+ TT+' AK

 java org.pokersource.enumerate.SAIEMain -O -r SAMP:sample1.hho \
 -m 100 -n 100 'AhTd' 'SAMP>0.80' 'SAMP>0.95'
 

Author:
Michael Maurer <mjmaurer@yahoo.com>
See Also:
HoldemHandGroup (and the classes that implement it, for the syntax of hand groups), HoldemBeliefVector (for the syntax of belief vectors), HoldemHandOrdering (for the format of hand rank ordering files)

Field Summary
private static java.util.ArrayList beliefs
          For each player, a distribution of hands
private static long board
          Community board cards
private static java.util.HashMap bvcache
          A cache of belief vectors we've already instantiated, map of {String, HoldemBeliefVector}
private static long dead
          Dead cards not in play
private static int nmatchups
          The number of matchups to sample (0 = full enumeration)
private static int noutcomes
          The number of outcomes for each matchup (0 = full enumeration)
private static boolean orderingFlag
          Flag for including the relative rank ordering histogram in output
private static java.util.HashMap orderingObjs
          A Map of {String path, HoldemHandOrdering hho} for all registered hand orderings
private static boolean stdinFlag
          Flag for reading hands from stdin instead of command line
private static boolean terseFlag
          Flag for terse (machine-readable) output
private static int verbose
          How chatty to be on System.out
 
Constructor Summary
private SAIEMain()
           
 
Method Summary
private static void chat1()
           
private static void execute()
           
static void main(java.lang.String[] argv)
           
private static boolean parseArgs(java.lang.String[] argv)
           
private static void usage()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

verbose

private static int verbose
How chatty to be on System.out


nmatchups

private static int nmatchups
The number of matchups to sample (0 = full enumeration)


noutcomes

private static int noutcomes
The number of outcomes for each matchup (0 = full enumeration)


terseFlag

private static boolean terseFlag
Flag for terse (machine-readable) output


orderingFlag

private static boolean orderingFlag
Flag for including the relative rank ordering histogram in output


stdinFlag

private static boolean stdinFlag
Flag for reading hands from stdin instead of command line


orderingObjs

private static java.util.HashMap orderingObjs
A Map of {String path, HoldemHandOrdering hho} for all registered hand orderings


beliefs

private static java.util.ArrayList beliefs
For each player, a distribution of hands


bvcache

private static java.util.HashMap bvcache
A cache of belief vectors we've already instantiated, map of {String, HoldemBeliefVector}


board

private static long board
Community board cards


dead

private static long dead
Dead cards not in play

Constructor Detail

SAIEMain

private SAIEMain()
Method Detail

usage

private static void usage()

parseArgs

private static boolean parseArgs(java.lang.String[] argv)
Returns:
True indicates success

chat1

private static void chat1()

execute

private static void execute()

main

public static void main(java.lang.String[] argv)