Because finding or guessing a good move in a chess position is hard to achieve statically, chess programs rely on some type of Search in order to play reasonably. Searching involves looking ahead at different move sequences and evaluating the positions after making the moves. Formally, searching a two-player zero-sum board game with perfect information implies traversing and min-maxing a tree-like data-structure by various search algorithms. Claude Shannon categorized searches into two types  :.
Sample Thesis Titles
Algorithms of Oppression
We are always looking for enthusiastic young people who are interested in a research project or thesis in the Bachelor, Master, and PhD programs. There are often topics available that are not listed here, so please contact us if you are interested in a project or thesis within an area of our group's research. Participants work in groups of size 2—3 in close cooperation with the advisors on a selected research topic in algorithmic design. During the project, they learn how to identify and tackle open questions, conduct independent scientific research and present their own results, in both, oral and in written form. Ideally, if the original results of a group are significant and promising, we plan to submit them to an international conference or journal.
Algorithms, Part I
Principal Variation Search PVS , an enhancement to Alpha-Beta , based on null- or zero window searches of none PV-nodes , to prove a move is worse or not than an already safe score from the principal variation. In most of the nodes we need just a bound , proving that a move is unacceptable for us or for the opponent, and not the exact score. This is needed only in so-called principal variation - a sequence of moves acceptable for both players i. If a lower-depth search has already established such a sequence, finding a series of moves whose value is greater than alpha but lower than beta throughout the entire branch, the chances are that deviating from it will do us no good. So in a PV-node only the first move the one which is deemed best by the previous iteration of an iterative deepening framework is searched in the full window in order to establish the expected node value.