Such comment just take my word back little it is maybe awesome but I can't
say is it or not, as have still bugs left.

E E EEEEE
E E EEEEE
BBBBBEE
WWWEBEE
E E EWBEE
E E WEBEE
ABCDEFG
For example current version(not released) goes trought 162438 nodes before
it proofs black B2 kills(without any ordering help). Maybe somebody not using Java lang is intrested that algorithm so include some parts of code which are spesific for this algorithm and where in representation to somebody comment if doing/done same thing.

// First/Or node child is selected for search
public SecondNode selectChild()
{
 SecondNode min = null;
 int minValue = Integer.MAX_VALUE;
 for(SecondNode n : this)
 {
    if(n.getProofNumber() < minValue)
   {
    min = n;
    minValue = min.getProofNumber();
   }
 }
 return min;
}

// First/Or node proof numbers are calculated
public void computeProofNumbers()
{
 myProofNumber = Integer.MAX_VALUE;
 myDisProofNumber = 1;
 for(SecondNode child : this)
 {
    if(child .getProofNumber() < myProofNumber)
   {
        myProofNumber = child .getProofNumber();
   }
   myDisProofNumber += child .getDisProofNumber();
}

// when node gives tresholdPN for child, it is calculated following way.
// This part I am most unsure, so forexample proof number treshold is calculated
(a) treshold which was given this node or
b) smallest sibling child node proof number +1
c) selected child proof number + 1.
int createThpn(final SecondNode child, final int giventresoldProofNumber)
{
 int thpn = giventresoldProofNumber;
 for(SecondNode n : this)
 {
      if(n != node  && n.getProofNumber() < thpn)
      {
           thpn = n.getProofNumber() + 1;
      }
 }
 if(node.getProofNumber() > th)
 {
     thpn = node.getProofNumber() + 1;
 }
 return thpn;
}

// Second/And node select child function
public FirstNode selectChild()
{
     FirstNode min = null;
     int minValue = Integer.MAX_VALUE;
     for(FirstNode n : this)
     {
       if(n.getDisProofNumber() < minValue)
       {
        min = n;
        minValue = min.getDisProofNumber();
       }
  }
 }
 return min;
}


// Second/And node proof number calculations
public void computeProofNumbers()
{
 myProofNumber = 1;
 myDisProofNumber = Integer.MAX_VALUE;
 for(FirstNode n : this)
 {
   myProofNumber += n.getProofNumber();
   if(n.getDisProofNumber() < myDisProofNumber)
   {
    myDisProofNumber = n.getDisProofNumber();
   }
  }
}

// second/or node loops
while(myDisProofNumber <  given disproof treshold)
// also if selected child node proofNumber() is bigger or equal given treshold proof number loop is cut and control goes for parent node.

// first/ and node loops until it own proof number is smaller than given treshold proof numb
myProofNumber < given treshold proofnumber
// also if selected child node disProofNumber() is bigger than equal given treshold disproof number loop is cut and control goes for parent node.

t. Harri

----- Original Message ----- From: "Jacques BasaldĂșa" <[EMAIL PROTECTED]>
To: <computer-go@computer-go.org>
Sent: Wednesday, December 12, 2007 2:13 PM
Subject: Re: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto


Thank you, Harri.


It sounds promising. I will have a look at that.


Jacques.


I coded algorithm based for that representation, it really looks another
awesome thing worth of investigating.
Planning to use that for at least small board search investigations as it
has quite much power.
That is included lates version pf http://sourceforge.net/projects/narugo
I am happy to hear some feedback if that TsumeGoMoveGenerator has some
bugs by the way.
It is first version of that, so propably it has some bugs left. But first
impression about algorithm wou, impressed as it answered easy tsumego
problem immediately,
it has much potential to extend other kind of problems, not only life-and
dead problems.

t. hArri

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to