First of all thank the many people who publish information on programming modules for analysis of chess on the Internet, especially http://chessprogramming.wikispaces.com/, http://talkchess.com! It also made special mention of open source modules that are very instructive, as Stockfish, Crafty, Protector, Discocheck, Gull...
This program is original and not based on any other, although obviously using known techniques other than their own. It uses an algorithm alpha-beta with all improvements to accelerate performance. He is able to use the capacity of multiprocessor pc.
Non-exhaustive list with no specific order of these techniques:
* Various threads - Multi-threading.
* Simultaneously analyze several alternatives (multi pv).
* LMR late move reduction and other reductions.
* SEE Static exchange evaluation (with xray).
* Movements that refute with [piece][destination].
* Hash refute sequence of two movements.
* Parameter "Contempt" to try to avoid tables.
For evaluation static takes into account many parameters, which can be summarized as follows:
* Values of pieces according to the square cover differentiated by the endgame.
* Assessment of parts according to a number of different types of positions (open positions, attack, weak squares, etc.).
* Different types of mobility pieces
* Evaluation of passed pawn for different situations.
* Bonus of initiative.
Use hash tables storage variants, information pawn structure and values of the positions to avoid having to repeat work. It has many areas of improvement still to explore both new techniques to apply as optimization of the parameters and algorithms used.
If you have any ideas or comments, please contact cdani @ yahoo.com.