In an Alpha Beta search (Negamax framework), how does one collect principal variations to use in move ordering and how does one use them, without using a transposition table? And would it be different in a principal variation search, and do we collect and store important moves for quiescence search too? Please provide a code example.

  • I don't have time to provide a code example now. Refer to chessprogramming.wikispaces.com/Principal+variation for details. – SmallChess Mar 18 '15 at 0:13
  • I only use TT for PVs, it's easy and efficient. Stockfish does that, why would you not use it? Anyway, I've seen people use triangular-PV, Harm Geert Muller uses it a lot. Google him and the topic and you'll see it. I don't have much experience in that. – SmallChess Mar 18 '15 at 0:15
  • PVS doesn't change the PV collection. It's a technique for doing more work on the PV nodes. – SmallChess Mar 18 '15 at 0:18
  • Of course, you'll need to store important nodes in QS. You'll need to update hashing. I update the score and bound for a move in QS. – SmallChess Mar 18 '15 at 0:19
  • jonathan, I'd guess that you've seen sources similar to the site referenced in the first comment. What exactly have you found lacking in whatever sources you've read before? Spelling that out a bit might help you get answers as specifically tailored to your needs as possible. – ETD Mar 18 '15 at 0:20

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.