Computer Chess Club Archives


Search

Terms

Messages

Subject: Forward Pruning...

Author: Joshua Haglund

Date: 22:51:35 02/28/04


Hi,

I have an idea I am not sure will work. Tell me what you think.

example:

search to ply 10 with static evals.
 any search method, alpha/beta, NegaScout, MiniMax, Quiesce, etc.


Then start searching for ply 10 with all your other evaluations.

What i'm saying is:

Search deeper with right away with "dummy" moves so are depth is good. Then,
start searching for better moves.

void SearchForBetter()
{
Do_more_with_evaluation();
compare_alpha_beta();
}

DummySearch(alpha, beta, depth)
{
...
if(depth >= 10)
SearchForBetter();
...
return alpha;
}

Another Idea of this or maybe both can be tried at the same time is:

	for (i = first_move[ply]; i < first_move[ply + 1]; ++i) {
                 sort_moves(i);
		if (!makemove(generate_data[i]m.b))
			continue;
			++f; // number of moves to look at
                             // the less to look at the faster.  3 moves.
(plies should come fast before 5 to even worry about)
		if (ply == 5 && f == 3) {
		if (ply == 6)
		f = 3;
		if (ply == 7)
		f = 3;
		if (ply == 8)
		f = 3;
		if (ply == 9)
		f = 3;
		if (ply == 10)
		f = 255; // look at all moves from ply 10 and onward.
		++depth;
				takeback();
			break;
		}
		x = -search(-beta, -alpha, depth - 1);


and if we are very optimistic:


	for (i = first_move[ply]; i < first_move[ply + 1]; ++i) {
                 sort_moves(i);
		if (!makemove(generate_data[i]m.b))
			continue;
			++f; // number of moves to look at
                             // the less to look at the faster.  3 moves.
(plies should come fast before 5 to even worry about)
		if (ply == 5 && f == 3) {
		if (ply == 6)
		f = 3;
		if (ply == 7)
		f = 3;
		if (ply == 8)
		f = 3;
		if (ply == 9)
		f = 3;
		if (ply == 10)
		f = 3;
		if (ply == 11)
		f = 3;
		if (ply == 12)
		f = 3;
		if (ply == 13)
		f = 3;
		if (ply == 14)
		f = 3;
		if (ply == 15)
		f = 255; // look at all moves from ply 15 and onward.
		++depth;
				takeback();
			break;
		}
		x = -search(-beta, -alpha, depth - 1);

I hope you see my idea.

Joshua Haglund



This page took 0.01 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.