Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Algorithm help

Author: Joshua Haglund

Date: 13:58:15 12/19/02


This is the idea I posted previously. I can't think of an algorithm that I could
use for this idea?


legal movelist > rank move list to highest score >move list >best move list
score >move >

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if(ply = 4) { search rank 2 of ply 1 };

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 3 of ply 1};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 1 of ply 2};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 2 of ply 2};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 3 of ply 2};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 1 of ply 3};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 2 of ply 3};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 3 of ply 3};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 1 of ply 4};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 2 of ply 4};

 move > legal move list > rank move list1 > best move list score > move > ply 2

 ply 2 > legal move list > rank move list2 > best move list score > move > ply 3

 ply 3 > legal move list > rank move list3 > best move list score > move > ply 4

 if (ply = 4) { search rank 3 of ply 4};

 return best move at ply 4;


I'm having difficulty trying to come up with an algorithm. I hope you know what
I mean by the example above.

And of course this is my example  of a "_node_tree_" below

generate_moves
rank_moves (by score)
						     / >>>>> Nf3 (.13)
Times up I pick this move! (e2e4) best score at the time in relation to Nf3.
						    /
						    /  >>>>> d2d4 (.09)
						   /
				    / >>>>>>e7e5 (.11) >>>>> g2g3 (.07)
				   /		   \
				  /		    \  >>>>> Nc3 (.06)
				  /
first_rank_move  (.10) >>>>>>>> e2e4 >>>>>>e7e6 (.10)
				  \
				  |  >>>>>>c7c5 (.09)
				  |
				   \ >>>>>>c7c6 (.08)



				   / >>>>>>d7d5 (.10)
				  /
second_rank_move (.09) >>>>>>> d2d4  >>>>>>e7e6  (.09)
				  \
				  |  >>>>>>c7c6	(.07)
				  |
				   \ >>>>>>Nf6  (.06)

third_rank_move  (.07) >>>>>>>> c2c4

fourth_rank_move (.06) >>>>>>>> Nf3

return best_move

The third_rank && fouth_rank_moves are not finished but I hope you get the idea.
Is there an algorithm that applies to this?

Thanks,

Joshua
toneewa@yahoo.com




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.