← Back to team overview

dvonnteam team mailing list archive

[Branch ~dvonnteam/qttt/trunk] Rev 72: 1. The previous iterative threat checking seems to take way too long when checking also for all o...

 

------------------------------------------------------------
revno: 72
committer: Valentin Hirschi <Spooner@xxxxxxxxxxxxxxxxxxxxxx>
branch nick: dvonn4ever
timestamp: Mon 2011-11-14 10:52:16 +0100
message:
  1. The previous iterative threat checking seems to take way too long when checking also for all opponent answers.
  
  However, by only checking the moves of the threat makers in order to make sure they indeed realize a threat of one lower level, then the additional time taken for the check is negligible and the few flaws of previous implementation (i.e. misscomputed threats without iterative checking) are solved. Using the parameter 'IterativelyCheckThreatsLevel' we can chose between:
  IterativelyCheckThreatsLevel=0:  no iterative check at all (not safe)
  IterativelyCheckThreatsLevel=1:  Check of only the threat maker's moves. (fast and enough.)
  IterativelyCheckThreatsLevel=2:  Iterative check of the opponent's moves too. (very slow at times, only for the parano)
  
  By setting IterativelyCheckThreatsLevel to 1 instead of 0 for example, the following threat is correctly computed for crosses (no threat for cross -> -1 and not the '1' you would get with IterativelyCheckThreatsLevel set to 0):
  
  Solo move:: IN
  ===== BOARD PRINTOUT =====
  /::/ Board has score  /::/ crosses = 0, circles = 0
  /::/ Board evaluation /::/ crosses = 1.4178, circles = -0.7452
  /::/ from GetThreats()/::/ crosses = -1, circles = -1
  /::/ Cycle to resolve /::/ None
  /::/ Patterns present /::/
   Pattern ID=2 has 5 box(es) concerned.
   /::/ Last move number played /::/  4
   /::/ Printing board   /::/
   ======================================================================
   ||[A]            ||[B]            ||[C]            ||[D]            ||
   ======================================================================
   ||[E]            ||[F]            ||[G]            ||[H]            ||
   ======================================================================
   ||[I] P2    2o   ||[J]            ||[K]            ||[L]            ||
   ======================================================================
   ||[M] P2 1x 1o   ||[N] P2 1x 1o   ||[O] P2 1x      ||[P] P2 1x      ||
   ======================================================================
modified:
  Board.cpp
  Dvonn4ever.cpp
  Node.cpp
  Param.cpp
  Param.h


--
lp:qttt
https://code.launchpad.net/~dvonnteam/qttt/trunk

Your team DvonnTeam is subscribed to branch lp:qttt.
To unsubscribe from this branch go to https://code.launchpad.net/~dvonnteam/qttt/trunk/+edit-subscription