wallpaperaccess.com
Intuition Guided Search Algorithm - A Deep Dive
This article is a deep dive into the most recent algorithm that I have been using - The IGSThe Intuition Guided Search, or simply the IGS, is not that different from how players come up with their moves in tournament games. This article presents it more systematically so you achieve a higher level of consistency than you normally would. First, let's dive into how this method of thought works, and then I will give you an example of its usage, this will give you a better understanding of the algorithm.
Step 01: Sensible moves
Get a list of moves that look sensible. If you have time, the best way to do this is to first look at all legal moves, and then select the moves which have the potential to be chosen as the best move. You should try to shorten your list as much as possible, but be careful not to leave out any moves with potential. According to this algorithm, this move selection should be done using intuition, or your feel about the position. In doing so, the fault is on you if you don't select the actual best move of the position for calculation.
Step 02: Sensible moves for opponent
Get a list of moves that look sensible for your opponent after your move. The same principles of shortening the list and not leaving out moves with potential apply.
Step 03: Repeat till a static position
Repeat steps 1 and 2 until you reach a static position. "By this, I mean positions in which things are not changing quickly – they are relatively quiet, calm, and lacking concrete action. Closed, quiet, simple, calm positions, positions with fixed pawn structures, and positions in which forcing moves are not possible can be categorized as static positions" (Context question, where can you find this quotation? Who wrote that book?). I agree with this definition of a static position. Positions in which none of the players can engage in concrete action can be called static positions. In other words, these positions do not allow considerable evaluation disparities between the resulting positions and the initial position.
Step 04: Evaluate
Now that you've reached a static position, it's time to evaluate. There are two methods of evaluation. The first one is comparison and the second one is linear evaluation.
- Comparison - This is the faster evaluation function. In comparison, as the name suggests, you compare the positional factors of the resulting positions. This comparison of positional factors solely depends on your feelings about the position. After comparison, you choose the line that leads to the most favorable position for you. I will give you an example.https://lichess.org/study/embed/xdGndTwi/1EQPsdjy
- Linear Evaluation - The evaluation function used by computers. In linear evaluation, you look at a few pre-specified positional factors and assign a value to the moves depending on how well their resulting positions fulfill them for one side compared to the other. This means you have to assign values for your position and your opponent's position and subtract your opponent's value from your value to get the evaluation of the position. King safety, Material, Piece activity, Pawn Structure, and Space are a few common factors considered by masters, but most of them use comparison as their evaluation function. You can find more information about linear evaluation by following this link: https://hxim.github.io/Stockfish-Evaluation-Guide/
Choose one of these methods and evaluate all resulting static positions.
Step 05: Compare the evaluations of the principal lines
The 5th step is to calculate the principal line after each sensible move of the initial position. The principal line is the line that includes the best moves for you and your opponent. Let me explain. Chess positions are of 4 types:
- White can force Black into a worse position
- Black can force White into a worse position
- White forces Black into an equal position
- Black forces White into an equal position
Every position belongs to one of the above categories. If you are White, your principal line will be the one that gives Black the least advantage. It can be a negative one (in which case you would be better), it can be 0.0 (a draw), or it can be a positive one (this is only when there is no way for you to give them an advantage of 0.0 or a negative advantage). If you are Black, your principal line will be the one that gives white the least advantage. You will understand this more when you see the example.
Example of usage
Now I will show you how this algorithm is applied in real games. Look at the image below (The evaluations are in linear form because it's difficult to narrow down a comparison into a few numbers).
Let me explain the image: In the first stage, we have the initial position. No moves have been made yet. But in the second stage, we have gone 1 ply deep. We are now looking at the positions arising after the sensible moves of the initial position. Now it's our opponent's turn. We look at the sensible moves for the opponent. Then we realize that after certain moves, the evaluation of the position becomes static. So we evaluate the static positions. In this case, the evaluations are +0.8, +1.4, and +1.0. These positions are better for White. But some positions can't be evaluated yet. So we calculate them further. Now two other positions have become static. This time the evaluations are +1 and +1.3. But there are still some positions to be evaluated. So we go further. Now we are looking at positions arising after 4 plies (2 moves). After the 4th ply, all the evaluations are clear. So now we can asses the possible moves of the initial position.
- 1st option - 2/3 options for Black lead to a better position for White (+1.4 and +1.0). But one of Black's options forces White to play a certain move after which one of Black's options leads him to a slightly better position (-0.7). The principal line after 1st option leads to Black forcing White into a position that gives White an advantage of -0.7.
Eval approximation of principal line = -0.7 - 2nd option - Leads to a position slightly better for Black after a forced sequence of moves. The principal line after 2nd option leads to Black forcing White into a position that gives White an advantage of -0.8.
Eval approximation of principal line = -0.8 - 3rd option - 1/3 options for Black lead to a slightly better position for White (+0.8). Another option allows White to get to a better position after playing an only move (+1.0). The other option for Black gives White two options, and one of them leads to a better position for White (+1.3). The principal line after 3rd option leads to White forcing Black into a position that gives White an advantage of +0.8.
Eval approximation of principal line = +0.8
After looking at the eval approximations of the principle lines, we can conclude that the best move of the above position is the 3rd option with an approximated value of +0.8. Now onto the advertising part that you HAVE TO READ!
The Club of Believers...
I have created a club for all of the people out there in the chess world who believe we can make a comeback against the machines we built decades ago to beat us at our craft of chess. Join The Club of Believers today. In this team, we try to discover an algorithm that will be able to defeat Stockfish consistently in a series of games. But no algorithm will be of use without practice. So, after reaching 20 members, I will contact jeffforever to register our team for the Lichess Bundesliga! We already have 12 members in the team, we just need 8 more! This is the beginning of a new story. We can win the Bundesliga because we are believers! We can do anything we set our mind on. So I invite all my viewers to join this awesome club to look for the perfect algorithm and improve your level with constant training together with me.
External links
YouTube: https://www.youtube.com/@felew699
Twitter: https://x.com/felew699
Against Stockfish: https://lichess.org/study/2guM490P
Opening Studies: https://lichess.org/study/by/felew699 Must see, it's awesome
The Club of Believers: https://lichess.org/team/the-club-of-believers
Special Thanks to...
Grammar Editor: https://app.grammarly.com/
Practicing and blog writing site: https://lichess.org/
@professorParis for inspiring me to write this article
