Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 1.48 KB

File metadata and controls

43 lines (36 loc) · 1.48 KB

10 colors 10 pegs

answer 98765 43210 b c 00000 00000 = 1 0 01111 11111 = 1 1 20222 22222 = 1 1 33033 33333 = 1 1 44404 44444 = 1 1 55550 55555 = 0 2 66665 06666 = 2 1 77775 70777 = 2 1 88885 88088 = 2 1 99995 99909 = 2 1 12225 22220 =

  • maybe worthwhile to initially enumerate all valid colors when there are many many color: 10colors / 10pegs: 10^10 and 100 moves vs 10P10 and (100-90) moves 26colors / 10pegs: 26^10 and 100 moves vs 26P10 and (100-26) moves
  • use regexes to represent SCSA patterns
  • we can't assume we know the SCSA after one match. We have to keep a confidence, which grows with each game. Probabilistic.
  • maybe we can use CSP and arc consistentcies for the genetic algorithm's fitness function
  • fitness function is very important -- this is where we'll make the GA smarter
  • we can generate initial population using an SCSA if we are confident that it is the SCSA.
  • OR, generate the initial population with a distribution of probabilities of each SCSA
  • need to find optimal population size
  • buckets of SCSAs, tally answers against them to generate probability distribution
  • use a number of turns relative to the board/color size to play guesses which we use to build a set of constraints which we can use to narrow the domains of answers

things to tune:

  • mutation rate
  • optimal population size
  • crossover point

TODO for next week:

  • write functions to detect the given SCSAs
  • identify patterns for secret SCSAs
  • build a simple genetic algorithm team