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 agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.