Alpha-beta is described in almost every theory book on AI. To Chess players alpha-beta comes quite natural, btw; they also apply it themselves. Because I had not properly understood or remembered the description from my IA course, my first engine implemented it wrong (I had omitted the deep cutoffs, or, in modern terminology, was not passing alpha through the recursive call), and when tracing the search tree I immediately smelt a rat, like "why is it thinking about this move? with what it knows now this is completely pointless". And by tracing the problem found out how to do the deep cutoffs. So indeed, you could say that I invented (re-discovered) alpha-beta myself. So it is not that difficult. And if you don't believe it, compare the source code of Usurpator I and Usurpator II...h1a8 wrote:No offense but I don't believe you Sir. How would you know about Alpha Beta then unless you invented it.
Either you started to build a chess engine WITHOUT having seen another source (or piece of source) or you later viewed another source and used the ideas to improve your engine. Although I believe more in the former I most certainly believe at least one happened though.
Which engine did you write by the way?
To a scientist, knowledge comes from learning and understanding theory, and then applying it by following its logical implications. Not from copying actual applications by others and modifying them.
Engines I have written are Usurpator I, Usurpator II, Usurpator V, micro-Max/Fairy-Max, Joker/Joker80/JokerKM, HaQiKi D, Shokidoki and Spartaccus.