Java Chess Programming Video #50 Minimax (Part VI)

preview_player
Показать описание

Chess Code Repository :

IDE:

Reading Material:
Рекомендации по теме
Комментарии
Автор

the showing of this game gives me new inspiration to keep learning and acquiring the intuition attainable in the skill. thank you for this whole series.

cassiusmusic
Автор

In the chess there is a rule of three fold repetition of the position (not the moves), is a draw, means the same position with the same player to move exists third time. So in the isEndGame method we has to check beside the checkmate and stalemate if there is a draw by three fold repetition. So in my implementation in the real time (means, when we make a move on the GUI) the program calculates the positions that already repeated one time (two fold repetition), so when the engine calculates the best move, the program in the isEndGame method also examines if the position is same with one of these positions, and if so evaluate the position 0.
And this has to be done not only because of the rule of chess, but because without evaluating the repetition with 0 score, the program easily falls to hold its imaginary better position with repetition infinitely, and will not go forward for the real win. So for example the best move's score is 1000, but this score can be hold by repetition, the program will not chose the second best move with score 500 (what not leads to repetition), though the 500 score is also enough to win. The program only will chose the 500 score move instead of the first one, if it knows that the repetition leads to 0 score.

lajos-berenyi
Автор

Hello sir, I am just curious about the other AI techniques or algorithms except minimal and AB pruning that you used in your current version of the chess engine in your github. I just want to know the name of them so that I can google it and find some pseudo code and compare with your project since it is implemented very very well. I found IDDFS but I have no idea about others.

zeyegu
Автор

Hey Amir, when I'm trying to run the testFoolsMate but I am getting a null pointer exception because of the Move hashCode(). I tried to print out "bestMove" from the testCase but I get a NPE in the hashcode method that it says It cannot find the movedPiece.

TheKmert
Автор

Looking through all the AI classes, I noticed that there is no evaluation function to determine whether a draw by move repetition should be considered. The whole concept of draw by move repetition seems to be unknown by the AI.

gerryderop
Автор

Hello good afternoon. In your video lessons, you create as a java project. If I want to create as an android project, can I follow the same programming steps that you teach in these video lessons?
Thanks and congratulations for the excellent work!

cleristonferreira
Автор

Hello sir, I am using your tutorial to make a checker game. How should I make so if I leap over opponents piece it gets captured?

michaelcoltainecoltaine
Автор

hi just wanna know if this game already has a feature of player vs player?

punyalnipanday
Автор

can u upload the code so i can edit it without having to do all the videos because i just watched all the videos and i get errors

JaredVititoe
Автор

Lovely videos. Subscribed. I have two questions for you. Thanks in advance.
1. Can this be implemented as an academic major project? I mean, is it large enough to meet the requirement of a 6-month project?
2. Can you suggest me some optimization techniques instead of doing it in brute-force?

SrikarKrishna