To Stefan Knappe.

Archive of the old Parsimony forum. Some messages couldn't be restored. Limitations: Search for authors does not work, Parsimony specific formats do not work, threaded view does not work properly. Posting is disabled.

To Stefan Knappe.

Postby Rahman Paidar » 21 Jun 2003, 07:56

Geschrieben von: / Posted by: Rahman Paidar at 21 June 2003 08:56:30:


The main problem is in your simple evaluation function. For simple evaluation function at frontier nodes, when your code decides to cut the tree according to futility prunning, actually there's no difference to cut the tree or call the evaluation function. Please try a complicated evaluation function and see the results.
Regards,
Rahman Paidar.
Hi,

short description of the test:
last week I started to research the effect of isolated improvements
of my program (Matador) on the playing strength of the program.
At first I compiled a version of Matador without any improvements.
This version worked without any kind of sorting, extensions, pruning,
hash … The evalution based exclusively on material.

I finished the next tests. Matador had to search all 300 positions with pure alpha-beta algo with >zero window, quiescence search and futility / extended futility pruning.

The results of pure alpha-beta algo:

//Test: wacnew.epd / Time: 5s
total solve time : 952.17 s / solved: 115/300
avrg. depth: 5.5 / avrg. max depth: 21.6
avrg. QS: 77.8% / avrg. MO: 61.7%

The results with pruning:

//Test: wacnew.epd / Time: 5s
//with Futility Pruning at Frontier Nodes
total solve time : 953.02 s / solved: 115/300
avrg. depth: 5.5 / avrg. max depth: 21.6
avrg. QS: 77.7% / avrg. MO: 61.7%

//Test: wacnew.epd / Time: 5s
//with extended Futility Pruning at Pre-Frontier Nodes
total solve time : 952.63 s / solved: 115/300
avrg. depth: 5.5 / avrg. max depth: 21.6
avrg. QS: 77.4% / avrg. MO: 61.6%

These kinds of pruning are implemented in a similar way like E. Heinz described them in his >book. In the normal configuration of Matador both prunings work suitable successful. >Unfortunately I can’t say the same about the described “Razoring”. It doesn’t like to work in >Matador :-(
During the tests I looked at the thinking output of Matador. There were a lot of cuts due to the >pruning. But there is nearly no increase of the playing strength.
In my opinion we can observe the same effect we observed with nullmove!? Probably there is >more depth needed too?!

Best regards,
Stefan
Rahman Paidar
 

Re: To Stefan Knappe.

Postby Stefan Knappe » 21 Jun 2003, 12:27

Geschrieben von: / Posted by: Stefan Knappe at 21 June 2003 13:27:33:
Als Antwort auf: / In reply to: To Stefan Knappe. geschrieben von: / posted by: Rahman Paidar at 21 June 2003 08:56:30:

Hi Rahman,
The main problem is in your simple evaluation function. For simple evaluation function at frontier nodes, when your code decides to cut the tree according to futility prunning, actually there's no difference to cut the tree or call the evaluation function. Please try a complicated evaluation function and see the results.
thanks for your comments! About what kind of difference did you write? I expected a higher search depth due to the pruning. Probably the higher search depth should results in more solved positions in a shorter time. Do you agree?
I will continue the test. In a couple of days I will surely research the pruning again with activated evaluation function.
Regards,
Stefan
Stefan Knappe
 

Re: To Stefan Knappe.

Postby Rahman Paidar » 21 Jun 2003, 13:34

Geschrieben von: / Posted by: Rahman Paidar at 21 June 2003 14:34:32:
Als Antwort auf: / In reply to: Re: To Stefan Knappe. geschrieben von: / posted by: Stefan Knappe at 21 June 2003 13:27:33:

Hi Stefan,
Just look at this condition for futility pruning:
int Search(...)
{
.
.
// At any frontier nodes.
if (Material + FUTILITY_MARGINE < Alpha) continue; // skip this move.
.
.
}
As you can see, if your evaluation function does include only Material, it is enough fast to convince us : calling the evaluation function is the counterpart of prunning this node. But ofcourse you will see that the nodes searched has been reduced because of futility prunning and accordingly NPS is reduced since the nodes searched has been reduced but the time needed to reach this depth has not changed.
Regards,
Rahman Paidar.
Hi Rahman,
The main problem is in your simple evaluation function. For simple evaluation function at frontier nodes, when your code decides to cut the tree according to futility prunning, actually there's no difference to cut the tree or call the evaluation function. Please try a complicated evaluation function and see the results.
thanks for your comments! About what kind of difference did you write? I expected a higher search depth due to the pruning. Probably the higher search depth should results in more solved positions in a shorter time. Do you agree?
I will continue the test. In a couple of days I will surely research the pruning again with activated evaluation function.
Regards,
Stefan
Rahman Paidar
 

Re: To Stefan Knappe.

Postby Stefan Knappe » 21 Jun 2003, 16:36

Geschrieben von: / Posted by: Stefan Knappe at 21 June 2003 17:36:45:
Als Antwort auf: / In reply to: Re: To Stefan Knappe. geschrieben von: / posted by: Rahman Paidar at 21 June 2003 14:34:32:

Hi Rahman
As you can see, if your evaluation function does include only Material, it is enough fast to convince us : calling the evaluation function is the counterpart of prunning this node. But ofcourse you will see that the nodes searched has been reduced because of futility prunning and accordingly NPS is reduced since the nodes searched has been reduced but the time needed to reach this depth has not changed.
now I can see your point :-) Perhaps you are right!? In that case the costs of my "evaluation" function are too low?! I will recheck the test with more time on a faster PC next week. If you are right, the result should be not depend on the depth.
Regards,
Stefan
Stefan Knappe
 


Return to Archive (Old Parsimony Forum)

Who is online

Users browsing this forum: No registered users and 10 guests