[computer-go] Selecting tree child objects, was Hydra theory (was Hybrid theory)
Hi such question that do you typically traverse all child objects or is there faster way to select explored node child object. I have concluded that it is not at least easy as multiple nodes uct values change each simulation so trying to keep biggest uct value in first in list is maybe too expensive best practical way is go trough all child moves. Or if _all_ UCT leaf nodes could be uctvalue heap or similar, then biggest leaf is selected, traversed for root, game from root-leaf re-played- then random simulation leaf is stored its right position. So atleast in this scenario selecting uct node is fast but this heap updating is it worth it? t. Harri - Original Message - From: Gunnar Farnebäck [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Saturday, February 02, 2008 7:47 PM Subject: Re: [computer-go] Hydra theory (was Hybrid theory) David Doshay wrote: I looked up borda voting on Wikipedia. I did not know this was called Borda voting, and it might be called a zeroth-order version of what I am thinking. Rather than just take rank order from each, I intended to try to include other metrics, for example, some measure of distance from top. One engine may evaluate that there is one really great move with all others considered very bad. That is different than many nearly equal good moves. [Commenting a somewhat arbitrary message in the thread.] MonteGNU (and gnugo --monte-carlo in the next development release) is doing a simple form of voting. Internally there are two engines; one UCT-MC engine and the ordinary GNU Go move generation. The UCT engine is allowed to nominate a number of moves and the ordinary move generation must choose one of those. More specifically the UCT engine nominates the following moves: 1. The highest scoring move in terms of win rate. Let N be the number of simulations for this move. 2. All moves with more than N/2 simulations 3. All moves with win rate win rate greater than 0.9 and more than N/10 simulations. 4. All moves if the highest scoring move has win rate less than 0.1. The move values from the ordinary move generation are then used to choose one of the nominated moves. If all nominated moves are thought useless the highest scoring UCT move is chosen. Pass is generated if and only if the ordinary move generation wants to pass. Usually this works fairly well. Most of the strength (on 9x9) comes from the UCT part and if it finds a clear winner the ordinary move generation only has a single move to choose from. When safely ahead many moves are nominated and the ordinary move generation gets to play for points, providing sensibly looking moves. Similarly when clearly losing and resignation is disabled, ordinary move generation gets to finish the game off in a tidy manner. A nice point is that with too few simulations the UCT engine will nominate lots of moves and the total result is that it more or less reverts to the ordinary move generation. Occasionally, however, it gives the worst of two worlds. The UCT engine may have a good move A first but a bad move B close behind and also nominated . The ordinary move generation maybe likes another good move C best and hates B but has completely missed A. Then B will be played, although both engines prefer better moves. /Gunnar ___ 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/
Re: [computer-go] Is MC-UCT really scalable against humans?
In go we talk instead about moves that lose points. UCT programs often play moves that clearly lose points in an attempt to maximize the probability of winning. I am just started reguraly observe how this uct really plays as my bot is started play in CGOS, so I am kind of newbie in this but observed several games. So it atleast seems that UCT with random playouts maximises propability of winning for random playouts :). It really is different than propability of winning in heavy or real play those shapes are just not defendable any means those are suboptimal for real play, but optimal for random play. Like it favors unnesessary strong shapes which clearly lose points, but otherways it plays kind of solid play I think. t. harri - Original Message - From: David Fotland [EMAIL PROTECTED] To: 'computer-go' computer-go@computer-go.org Sent: Tuesday, January 22, 2008 7:51 PM Subject: RE: [computer-go] Is MC-UCT really scalable against humans? I didn't say that :) Please read what I wrote. The UCT programs often find moves that are unconventional. This makes patterns that aren't in the database, so the traditional programs can't cope. People are a little more flexible, especially strong players, and can still find good responses to unconventional moves. I don't know what you mean by unsound. That's chess terminology and I think it refers to a trick move that should lead to a loss against good play. In go we talk instead about moves that lose points. UCT programs often play moves that clearly lose points in an attempt to maximize the probability of winning. These moves are unconventional because people learn the optimal moves in standard situations. Weaker players and traditional programs can have trouble finding the best response to these non-optimal moves. So the UCT programs gain strength for two reasons, first, because the maximize the probability of winning rather than maximize the score. And second because this causes them to play unconventional moves, which make the game more difficult for their opponent. There is nothing inherently wrong with playing unconventional moves that are still good. Strong players do it whenever they can to make the game more difficult. David Please don't say the style is to find an unsound move that is difficult to defend, that's not what it's trying to do, it's just trying to find a move that it is IMPOSSIBLE to defend, and if it - Don David Fotland wrote: I share this opinion. 9x9 was a good simple test to get things started, but go is a 19x19 game. 9x9 has limited interest. An analogy for chess programmers would be if a group of people worked on programs to solve rook and pawn endgames. This kind of chess endgame is a good test to try out algorithms, but if they claim to be making strong chess programs, at some point they have to implement the full game. In go it turned out that to be good at 19x19, some new algorithms were needed (patterns and heavy playouts). I think that to take the next step in 19x19 strength the programs will need to be stronger at life and death. The UCT-MC programs do particularly well against traditional programs because they expose the brittleness inherent in the pattern databases they use. Strong humans are not so easily beaten by playing unconventional and somewhat inferior moves. David Personally I think 9x9 is good for trying out ideas. But in the end, if it doesn't play well on 19x19 then I don't care one bit how well it plays on 9x9. Just my opinion of course. Mark - --- ___ 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/ ___ 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/
Re: [computer-go] On average how many board updates/sec can top Go programs do these days?
The *average* length of a 9x9 playout is roughly 100 moves. The max length is much larger. The *average* length of a 9x9 playout is roughly 100 moves. The max length is much larger. Hmm, sorry if this is old subject but does it effect much for playout quality if I cut playouts for example max 110 moves in 9*9 board? Is that studied subject for almost random playouts. Another thing, do you include random moves for playouts, after some number of playouts or when there is K number empty points or using some other way. By the wat made java board for random playouts it is currently 30 games /13sec 9*9 board having max 110 moves(double core 4000+), I have no lightest clue how to make it faster as optimized it as much i can, using two threads it is 7 seconds/30 games. Have think that maybe somekind of state machine could be faster. t. Harri On a 2.2Ghz Athlon64, I get about 10 000 playouts/second, at an average of 100 moves per game this is 1 million updates/second. There are many programs that are much faster. On the same hardware libego would be about 6 million updates/second. 19 x 19 is a bit slower, because strings are bigger on average. This also explains that when I read the games MoGo against GNUGo, toward the end of the game, GNUGo would play PASS, but MoGo would continue to play at some very uncommon positions that a normal player would never consider. Pass behaviour has little to do with the playouts themselves. -- GCP ___ 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/
Re: [computer-go] On average how many board updates/sec can top Goprograms do these days?
Hmm, sorry if this is old subject but does it effect much for playout quality if I cut playouts for example max 110 moves in 9*9 board? Yes, that will significantly hurt your play-outs.Do you throw away the results or score it as is? I have a very liberal cutoff on my program - from any position I play to move 81*4 in 9x9 as long as I have played at least 20 moves. Aha, sounds fair. I asked that when I noticed that my impl have constant 110 moves preventing max playouts. After investigated that more that particular case NaruGo project ArrayBoard it really seems not to matter, because current implementation throws away empty points after point is investigated to be illegal only for other player. That I think should be corrected after it is figure out how should that be done. Other hand playouts non-naturally end more early than 110 moves regulary because empty points which are illegal for other are thrown away(and removed from playable empty points array) and so on change for that constant made no big effect. So thats situation no clue should I fix that, it seems so painfull to fix as afraid which slowdown it makes. But I am sure that atleast in end game playouts(which start near end game) all moves should offcourse be included, so I have think to use different playout code for playouts starting near end or starting early positions. So I should be asking is it bad for playouts throw away empty points if those are only illegal for other player? I afraid to hear yes it is very bad for playout quality :| t. hArri ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] On average how many board updates/sec cantop Goprograms do these days?
I'm trying to understand what you are saying. If a point is illegal for black, are you saying that black can never play at that point, or are you saying white can never play there? Or are you saying neither side can? Yep currently neither side can anymore use that point. What is the reason for this? I'm not sure I understand what you are saying. Reason is that I have empty point array, it is fast to choose played points from that array. Points which are consireded illegal or bad are thrown away. Once I tried something I hoped would speed up play-outs a lot without hurting the quality. I considered all large captured points as out of play.For instance if white captures a 10 stone group, it becomes permanently owned by white and neither side can move there again.The assumption is that if you capture a large group, you will more than likely be able to hold that space down.I tried a few variations of this, but these things only hurt the program. I add empty points from killed groups to back that empty points array; sound like that is not mandatory either. I know if I don't add points from killed groups back for empty stone array that is about 20% speedup. I agree if group is big, other hand if group is big, game is usually over so maybe should stop playout for that, wonder if that only hurts program.. I think with more analysis you might be able to find shortcuts - one example is the mercy rule which leans on certain assumptions. mercy rule? t. Harri - Don Harri Salakoski wrote: Hmm, sorry if this is old subject but does it effect much for playout quality if I cut playouts for example max 110 moves in 9*9 board? Yes, that will significantly hurt your play-outs.Do you throw away the results or score it as is? I have a very liberal cutoff on my program - from any position I play to move 81*4 in 9x9 as long as I have played at least 20 moves. Aha, sounds fair. I asked that when I noticed that my impl have constant 110 moves preventing max playouts. After investigated that more that particular case NaruGo project ArrayBoard it really seems not to matter, because current implementation throws away empty points after point is investigated to be illegal only for other player. That I think should be corrected after it is figure out how should that be done. Other hand playouts non-naturally end more early than 110 moves regulary because empty points which are illegal for other are thrown away(and removed from playable empty points array) and so on change for that constant made no big effect. So thats situation no clue should I fix that, it seems so painfull to fix as afraid which slowdown it makes. But I am sure that atleast in end game playouts(which start near end game) all moves should offcourse be included, so I have think to use different playout code for playouts starting near end or starting early positions. So I should be asking is it bad for playouts throw away empty points if those are only illegal for other player? I afraid to hear yes it is very bad for playout quality :| 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/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] On average how many boardupdates/sec cantop Goprograms do these days?
This is a mistake. There are often moves that are illegal for black that are big for white. If you don't let white play there, white can lose a lot of points. Connections through false eyes are one example. Yep agree that, knowing that it is not fair for other but kind of rationalized it that it is same for both players and there is half chance that other player tries it before. I kind of think that it keeps spirit of random result still because it is same for both players, but I change it. t. Harri - Original Message - From: David Fotland [EMAIL PROTECTED] To: 'computer-go' computer-go@computer-go.org Sent: Wednesday, January 16, 2008 8:56 AM Subject: RE: [computer-go] On average how many boardupdates/sec cantop Goprograms do these days? If a point is illegal for black, are you saying that black can never play at that point, or are you saying white can never play there? Or are you saying neither side can? Yep currently neither side can anymore use that point. This is a mistake. There are often moves that are illegal for black that are big for white. If you don't let white play there, white can lose a lot of points. Connections through false eyes are one example. David ___ 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/
Re: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto
How much nodes does it uses for this ? B B B B B B B B B B B . B B B B B B B . B w w w . B B B . . . w B B B . . w . B B B A B C D E F G Its same, I define area for movegenerator allowed points are same in both cases. It lets white play after whole first group is killed at least that increases combinations, I suspect there should be small heuristic for OR/FirstPlayer node proof path which has most kills first, I add that, which maybe don't fix it alone as exact calculation child node proof and disproof tresholds is little vaque for me. t. Harri Le mercredi 12 décembre 2007, Harri Salakoski a écrit : 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 E E E E BEE 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). . . . . . . . . . . . . . . B B B B B . . w w w . B . . . . . w B . . . . w . B . . A B C D E F G with 7 empty places, should'nt it be less than 7**3 = 2187 ? How much nodes does it uses for this ? B B B B B B B B B B B . B B B B B B B . B w w w . B B B . . . w B B B . . w . B B B A B C D E F G Alain ___ 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/
Re: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto
Actually adding lines for second player that if it has zero stones it is win for first player. Thats true at least normal life-dead problems :|, not maybe some seki kind of things but for this it changed node count for 2282 nodes. with 7 empty places, should'nt it be less than 7**3 = 2187 ? Yep so there is also pass, does it increase it, ok it maybe has bugs left I have no clue. t. harri - Original Message - From: Alain Baeckeroot [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Thursday, December 13, 2007 12:35 AM Subject: Re: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto Le mercredi 12 décembre 2007, Harri Salakoski a écrit : 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 E E E E BEE 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). . . . . . . . . . . . . . . B B B B B . . w w w . B . . . . . w B . . . . w . B . . A B C D E F G with 7 empty places, should'nt it be less than 7**3 = 2187 ? How much nodes does it uses for this ? B B B B B B B B B B B . B B B B B B B . B w w w . B B B . . . w B B B . . w . B B B A B C D E F G Alain ___ 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/
Re: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto
Now it is only 2282 nodes, and it still has maybe bugs. It returns immediately which is good, I have hopes for that it comes better even it has no bugs because it lacs move ordering logic, If I only find couple bugs its start to be what I expected. Then need to make desision is it good enough to be used in bot code in such or should it be used to train static patterns. t. Harri - Original Message - From: David Fotland [EMAIL PROTECTED] To: 'computer-go' computer-go@computer-go.org Sent: Thursday, December 13, 2007 5:14 AM Subject: RE: [computer-go] Microsoft Research Lectures: Akihiro Kishimoto This is awful for such a simple problem. Many Faces' static evaluation function sees that the white group is unsettled, and the life/death search finds the B2 killing move in one node (since after B2 the group is dead with no further search, and the move generator returns B2 as the first candidate move). It spends another 100 nodes proving that D1 and D3 lead to a ko, and the other moves don't work. David For example current version(not released) goes trought 162438 nodes before it proofs black B2 kills(without any ordering help). . . . . . . . . . . . . . . B B B B B . . w w w . B . . . . . w B . . . . w . B . . A B C D E F G ___ 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/
Re: [computer-go] RE: Microsoft Research Lectures: Akihiro Kishimoto
I am sure that it is good, can't compare node counts for anything which uses any static knowledge. 2282 is current count and you can increase or decrease those proofCounter/disProofCounter limits and it still works but don't know exactly when it is doing it right. t. hArri - Original Message - From: Dave Dyer [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Thursday, December 13, 2007 5:52 AM Subject: [computer-go] RE: Microsoft Research Lectures: Akihiro Kishimoto My tsumego applet determines without a search that black can kill, and white might live if he moves first. http://www.andromeda.com/people/ddyer/go/shape/ShapeApplet.html A table lookup is a little better than searching 162438 nodes :) For example current version(not released) goes trought 162438 nodes before it proofs black B2 kills(without any ordering help). . . . . . . . . . . . . . . B B B B B . . w w w . B . . . . . w B . . . . w . B . . A B C D E F G ___ 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/
Re: [computer-go] RE: Microsoft Research Lectures: Akihiro Kishimoto
5 ... 4 WW. 3 BBB..W. 2 ...B.W. 1 ..B..W. ABCDEFG Ha, I give blacks more room to play, and shape database did not find it, or maybe I used it wrong :). But this search find B2 now in 1258437 nodes :| which is quite much and takes couple seconds. Don't know but really hope it goes better so it comes more useful. t. Harri - Original Message - From: Dave Dyer [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Thursday, December 13, 2007 5:52 AM Subject: [computer-go] RE: Microsoft Research Lectures: Akihiro Kishimoto My tsumego applet determines without a search that black can kill, and white might live if he moves first. http://www.andromeda.com/people/ddyer/go/shape/ShapeApplet.html A table lookup is a little better than searching 162438 nodes :) For example current version(not released) goes trought 162438 nodes before it proofs black B2 kills(without any ordering help). . . . . . . . . . . . . . . B B B B B . . w w w . B . . . . . w B . . . . w . B . . A B C D E F G ___ 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/
Re: [computer-go] cgos
Hi is last black move A4 really illegal in cgos rules? Just ensure before start change things. It seemed weird. White D9 shouls change board situation and white kills two stones before A4 is getting then one stone back fine? t. harri W A4 9 WW..W.WWW 8 ...W.W.W. 7 WBW.. 6 WBBWBBWWW 5 .WWWB 4 BWBBB 3 .BBB.B.B. 2 B.B.B 1 . ABCDEFGHJ W D9 9 WW.WW.WWW 8 ...W.W.W. 7 WBW.. 6 WBBWBBWWW 5 .WWWB 4 BWBBB 3 .BBB.B.B. 2 B.B.B 1 . ABCDEFGHJ B A5 9 WW.WW.WWW 8 ...W.W.W. 7 WBW.. 6 WBBWBBWWW 5 BWWWB 4 BWBBB 3 .BBB.B.B. 2 B.B.B 1 . ABCDEFGHJ W A3 9 WW.WW.WWW 8 ...W.W.W. 7 WBW.. 6 WBBWBBWWW 5 .WWWB 4 .WBBB 3 WBBB.B.B. 2 B.B.B 1 . ABCDEFGHJ B A4 9 WW.WW.WWW 8 ...W.W.W. 7 WBW.. 6 WBBWBBWWW 5 .WWWB 4 BWBBB 3 .BBB.B.B. 2 B.B.B 1 . ABCDEFGHJ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] CGOS down? Java client
Hmm, I am not sure as only trying to make Java bot connect CGOS, but it seems to be down. It seems that it does not give feedback after password. Also I found cgos email list cgos-developers is it also for users or is this list ok? t. harri ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] CGOS down? Java client - basic GTP problem
command genmove w 30 reply=30 E3 cgos replys gameover 2007-11-27 B+Illegal do not understand syntax GTP specc says : Success Responses - A successful response has one of the syntaxes =id response\n\n =id\n\n = response\n\n =\n\n code is: return = + id + + s + \n\n; stream is written using PrintWriter: myToServer.println(line); Anybody used java with cgos could help or if it is otherway obivious. t.Harii 27.11.2007 20:30:14 narugo.util.MyLog log INFO: Server:gameover 2007-11-27 B+Illegal do not understand syntax - Original Message - From: Harri Salakoski [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Tuesday, November 27, 2007 6:32 PM Subject: [computer-go] CGOS down? Java client Hmm, I am not sure as only trying to make Java bot connect CGOS, but it seems to be down. It seems that it does not give feedback after password. Also I found cgos email list cgos-developers is it also for users or is this list ok? 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/
Re: [computer-go] CGOS down? Java client - basic GTP problem
I use pure java solutions when it is possible. plain E3 atleast don't seem work, tried many other combinations also without success. t. harri - Original Message - From: Don Dailey [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Tuesday, November 27, 2007 10:00 PM Subject: Re: [computer-go] CGOS down? Java client - basic GTP problem Cgos has it's own syntax - it's not GTP although it superficially resembles GTP. cgos3.tcl sits between your program and the server and converts the conversation to gtp for your program. - Don Harri Salakoski wrote: command genmove w 30 reply=30 E3 cgos replys gameover 2007-11-27 B+Illegal do not understand syntax GTP specc says : Success Responses - A successful response has one of the syntaxes =id response\n\n =id\n\n = response\n\n =\n\n code is: return = + id + + s + \n\n; stream is written using PrintWriter: myToServer.println(line); Anybody used java with cgos could help or if it is otherway obivious. t.Harii 27.11.2007 20:30:14 narugo.util.MyLog log INFO: Server:gameover 2007-11-27 B+Illegal do not understand syntax - Original Message - From: Harri Salakoski [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Tuesday, November 27, 2007 6:32 PM Subject: [computer-go] CGOS down? Java client Hmm, I am not sure as only trying to make Java bot connect CGOS, but it seems to be down. It seems that it does not give feedback after password. Also I found cgos email list cgos-developers is it also for users or is this list ok? 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/ ___ 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/
Re: [computer-go] CGOS down? Java client - basic GTP problem
Yep and thanks, thanks also everybody else who replyed. It is quite solved, it is pure A1 or E3 coordinates which cgos server expects for genmove commands, unfortunately own loop implementation send replys for info and other stuff which i quess was buffered for server, when it was time to handle A1 it server parsed maybe ===A1 or if that was not reason then I have no qlue but anyway now it accepts generated moves. Now played full game without problems. There are a few advantages to implementing the protocol within your program. I'm probably missing something, but I don't see how you get those advantages. At least for Java there is reasons why java code more nice than script. java api calling external binaries is no fun to use, easier debugging, no tcl needed, IDE helps handling java code several vays, no qlue what should be done with tcl, it is anyway simple small piece of code this cgos protocol after it started work. t. harri - Original Message - From: Jason House [EMAIL PROTECTED] To: Phil Garcia [EMAIL PROTECTED]; computer-go computer-go@computer-go.org Sent: Wednesday, November 28, 2007 5:39 AM Subject: Re: [computer-go] CGOS down? Java client - basic GTP problem On Tue, 2007-11-27 at 19:00 -0800, Phil Garcia wrote: There are a few advantages to implementing the protocol within your program. You can implement custom actions between commands, like additional setup commands, and support for pondering. I'm probably missing something, but I don't see how you get those advantages. I don't get how pondering is easier with your own implementation. Is there extra information that the client receives from the server that the client doesn't share with the engine? If not, I don't see how extra setup differs from calling extra functions when receiving specific gtp commands. ___ 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/
Re: [computer-go] Solving Go
If black plays first move on corner, white wins by 9 points. Hmm does white also capture that first stone and win 10 points. I am fixing search algorithm, which was little faulty as not done small board investigations for some time. So if there is list for right scores in different rule sets for small boards(2-5) in different first moves available in net like to see that. t. hArri - Original Message - From: Don Dailey [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Monday, November 12, 2007 8:39 PM Subject: Re: [computer-go] Solving Go Ok, on 2x2 I get a consistent result now that I implemented PSK. It gives the same result with SSK too. It's a 1 point win for the first player. I'm not sure this is in agreement with other peoples findings. But it appears to be consistent.I can work my way through the game and it always returns the same score if I make the move(s) the search believes is best. After black plays the first move, white's best response is to move to the opposite corner.Otherwise it's a 4 point win for black. Here are the parameters I use: 1. positional superko unless otherwise stated. 2. evaluation function: Each stone is alive - an empty point belongs to a player if only his stones touch it. 3. game over after 2 passes. 4. suicide illegal. 3x3 gives a black win by 9 points (the whole board.) If black plays first move on the edge (a2 for instance) then he wins by 3 points instead of 9. If black plays first move on corner, white wins by 9 points. Does anyone have any data to check these facts ?? It may try this with 4x4 after doing something to improve the move ordering. - Don Harri Salakoski wrote: 5x5 was solved with a massive brute force search approach. Memory was used for large hash tables and endgames were scored early using Bensons algorithm, otherwise it would not have been feasible from what I understand. Yes it was proof level paper, doing something lot less mathematically valid for example only some open source code which can do good search against 7*7 is more realistic. Kind of allowing all possible short-cuts, like using several patterns to judge board score even it is not absolutely sure that score is right for combination of patterns. Although that's interesting, it's just a search. I would like to try something a little more clever (I'm just not clever enough to figure out what that should be!) I'm thinking perhaps in terms of a database assist. It would be interesting if we could come up with a small board scoring system that is very accurate. Agree that goal, scoring system must be accurate _when_ it thinks it knows score. I see score meaning minimal score for player archieves from this position if plays right. A database system might identify rules and exceptions that can be applied. For example, we have the eye rule in our monte carlo programs - although that is extremely powerful it's not 100% admissible - there are some exceptions although they probably occur only a fraction of a percent of the time. The eye rule would be powerful in a hybrid system because it is a fairly large class of positions where we can say, never move to that point - it will never be the best move. But is this other class of used patterns also to guide search, I see this estimator goal should proof minmum scores for player. All kind of eye knowledge is offcourse important for minimal scoring patterns. A trivial way to include it in a hybrid system is to just put an entry in a table for the few times that is wrong. Or even better, try to determine the exact context where it's wrong.Perhaps it's never wrong in a 5x5 game? I have thinked patterns which take area of board and proof that another player can take X points from that area/group. If that player has benson alive groups in other areas on board score can be proven benson alive groups + one group which is not benson alive but can be proven to get X points if only defending that group for rest of game. Tables like this can be stored compactly with bloom filters. Here is a question. How do you determine what a final board looks like? If you are actually building an endgame table, you start with all the final positions. But seki seems to be very difficult to identify. I am planning partial table patterns. Seki and other consepts should be used with patterns if possible. I'm doing a little experiment right now with small boards and a table with a few million hashed entries. I'm trying to store only perfect scores in this table but my definition is weak.I search a position using alpha/beta and if several iterations consecutively return the same score, I consider it a perfect score. I know this definition is subject to error. Yep, such practical problems are intresting, but atleast those are possible to fix as 5*5 and earlier proofs show. It can be intresting attack 7*7 from end positions side, trying
Re: [computer-go] Solving Go
5x5 was solved with a massive brute force search approach. Memory was used for large hash tables and endgames were scored early using Bensons algorithm, otherwise it would not have been feasible from what I understand. Yes it was proof level paper, doing something lot less mathematically valid for example only some open source code which can do good search against 7*7 is more realistic. Kind of allowing all possible short-cuts, like using several patterns to judge board score even it is not absolutely sure that score is right for combination of patterns. Although that's interesting, it's just a search. I would like to try something a little more clever (I'm just not clever enough to figure out what that should be!) I'm thinking perhaps in terms of a database assist. It would be interesting if we could come up with a small board scoring system that is very accurate. Agree that goal, scoring system must be accurate _when_ it thinks it knows score. I see score meaning minimal score for player archieves from this position if plays right. A database system might identify rules and exceptions that can be applied. For example, we have the eye rule in our monte carlo programs - although that is extremely powerful it's not 100% admissible - there are some exceptions although they probably occur only a fraction of a percent of the time. The eye rule would be powerful in a hybrid system because it is a fairly large class of positions where we can say, never move to that point - it will never be the best move. But is this other class of used patterns also to guide search, I see this estimator goal should proof minmum scores for player. All kind of eye knowledge is offcourse important for minimal scoring patterns. A trivial way to include it in a hybrid system is to just put an entry in a table for the few times that is wrong. Or even better, try to determine the exact context where it's wrong.Perhaps it's never wrong in a 5x5 game? I have thinked patterns which take area of board and proof that another player can take X points from that area/group. If that player has benson alive groups in other areas on board score can be proven benson alive groups + one group which is not benson alive but can be proven to get X points if only defending that group for rest of game. Tables like this can be stored compactly with bloom filters. Here is a question. How do you determine what a final board looks like? If you are actually building an endgame table, you start with all the final positions. But seki seems to be very difficult to identify. I am planning partial table patterns. Seki and other consepts should be used with patterns if possible. I'm doing a little experiment right now with small boards and a table with a few million hashed entries. I'm trying to store only perfect scores in this table but my definition is weak.I search a position using alpha/beta and if several iterations consecutively return the same score, I consider it a perfect score. I know this definition is subject to error. Yep, such practical problems are intresting, but atleast those are possible to fix as 5*5 and earlier proofs show. It can be intresting attack 7*7 from end positions side, trying to make solver that gives exact score for part of positions and try to increase that procent but keep score exact. When end position scoring system is good enought then it could be possible try start search from some near end middle positions. I don't know is anybody really deebly investigated 7*7, kind of more like started existing go programs search algorithms from scratch and gived up. I also lack of 7*7 board knowledge, other hand 7*7 sounds practical, fast and light board. t. harri To handle ko, I ignore everything except simple ko. I don't store positions where the previous move was a single stone capture since it might be a simple ko. My hope is that long superko loops will be avoiding by some winning side.This is probably not a correct assumption, but I have read that it works on 5x5 and less - it's always better for one side to break the loop. The evaluation function is to consider every stone alive, and any empty intersection that touches only one color to belong to that color.The evaluation function is not really used though - except to identify perfect scores (where several search iterations return the same results.) In all the 4x4 examples I've seen, I've never seen a 3 iterations in a row return the same score unless it was correct. However, I'm using 4 in a row to determine that a score for a position is exact. If the last 4 iterations return the same score, I put the root position in the hash table as a perfect score. I sample the space randomly by making a random move after searching some position, so that it explores the full space eventually. This is not very systematic, but it's just for fun right now. - Don Harri
[computer-go] Machine Learning, Probability and Graphical Models
There is many good videos in videolectures, seen some UCT, e.t.c but as I was specially delighted this particular video, which covers many practical points for machine learning and is propably useful remind some things in go-game AI coders also. http://videolectures.net/mlss06tw_roweis_mlpgm/ t. Harri narugo project ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Solving Go
Has anyone did this before or has anybody thoughts about this? I have done that for 4*4 and 3*3, my code is not in shape that it could be used 5*5 but have high believes it is anyway possible used for 6*6 some day. But this was discussed in this group earlier and nothing new has occurred since then. 7*7 is solved in ten years ... hahaa no need to reply that. You need very good solver to proof that in this particular middle position Black or White can archieve better than optimal score and no reason to continue search. Bigger cut better.. Doing investigations in http://sourceforge.net/projects/narugo project and happy to co-operate. t. hArri - Original Message - From: Ben Lambrechts To: 'computer-go' Sent: Wednesday, November 07, 2007 9:03 PM Subject: [computer-go] Solving Go I want to create a perfect player on board sizes 3x3, 5x5 and maybe 7x7 and beyond. But I have no idea how to start. How do I create the move database and how do I select the perfect move for every position? I know Go is solved on boards 5x5 and smaller, but there is no program that plays by this perfect moves. Has anyone did this before or has anybody thoughts about this? Ben -- ___ 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/
Re: [computer-go] Former Deep Blue Research working on Go
Absolutelu _great_ link, raises my go rank I hope. thanks. Do they exist? I have watched many hilarious youtube stuff, but no clue to search go stuff, great. t. harri - Original Message - From: Chris Fant [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Saturday, October 13, 2007 2:31 AM Subject: Re: [computer-go] Former Deep Blue Research working on Go How do I find the ones narrated in English? Do they exist? The closest I could find was this one which is almost unwatchable. http://www.youtube.com/watch?v=uArhCnJu7LM On 10/12/07, Ray Tayek [EMAIL PROTECTED] wrote: At 07:36 AM 10/12/2007, you wrote: Chris Fant wrote: Ho can I find Go vids on youtube? Searching for go obviously does nothing. Atari was also a good keyword here. There it is: http://www.youtube.com/watch?v=qt1FvPxmmfE searching for: go baduk weiqi returns a bunch. --- vice-chair http://ocjug.org/ ___ 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/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Re: Former Deep Blue Research working on Go
Considering how monte carlo actually works, I think it's plausible to argue that it works best where the distance to endgame is small. Is it then natural use it only after middle game. Build fuseki-joseki-extend scripted engine and change for monte-carlo engine in middle game? t. harri ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] U. of Alberta bots vs. the Poker pros
Every hand has theoretical winning propability but if you bet exactly according winning odds you tell too much about your hand, other players fold and call and raise according your bets, only when they think they have better cards, that is bad, obivious book play works only starter levels. In poker you example should not raise too much, very often opponent has for example nuts, such cards that they can't lose, so it is stupid to but all your money in if there is very little money in bot. If you raise too little that is bad either as you not get full value of your good cards and turn or river can give better cards for opponents. I don't think have you mist anything, but _modeling opponents behaviour_, that is quite much ask from bot. So what is best play, it depends also how you play, but how bot plays, humans are good for observer simplified behaviour and find weak points from bot. Other hand I think that it should be possible easily measure bots quality, even lot faster and easier than in go game as one hand typically can be played very fast. You could play in one 300 turn go-game 300 poker rounds, so quality of poker bots should be easily evaluated, in 1 rounds small differences start to show up, but that is maybe out of topic. So following things should fafor bot in poker: Exact mathematic. Exact memory is possible. In Prisoners dilemma, atleas if you remember longer opponent moves than your opponent remembers your moves, it does not quarantee your win but it makes it easier if you can use your data right. Bot don't lose temper, and don't care if it is losing or not, attleast starter levels thats not case in humans. Also like money poker is quite much waiting for opportunity and bot should have time to wait. Practical issues are imho much more demanding in go-game AI than in poker AI. For example generating random table in go-game and poker was nice to notice how easy it is generate random flop in poker... t. Harri - Original Message - From: [EMAIL PROTECTED] To: computer-go@computer-go.org Sent: Friday, July 27, 2007 4:26 AM Subject: Re: [computer-go] U. of Alberta bots vs. the Poker pros I don't understand this. For a given hand the odds of winning can be easily calculated for poker and the best play can be formulated accordingly. It's like to program a com[uter to win a coin toss. I would be surprised if any side win big. The only thing a computer can to is to model opponent's behavior, which may deviate from the best play. What did I miss? DL -- AOL now offers free email to everyone. Find out more about what's free from AOL at AOL.com. -- ___ 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/
Re: [computer-go] Intelligence
A hypothetical almighty oracle that already knows the correct answer to every question and the right response in every situation would never have to adapt. Hence evidence of intelligence according to your definition would not be observed. I think it is normal to expect, or at least in my common sense, that rationality is somehow constrained with practical limitations. So that anything intelligent in world can't know everything. Because of that intelligence means and needs adaptation for current context and enviroment kind of choosing what needs to be known depending of goals ofcourse. So because rationality is bounded it needs adapt because world around this intelligent behaviour (allways) changes, to staying intelligent it needs to adapt its enviroment which is never same than it was before, expect maybe in game of Go which nesessary don't need adaptive intelligence kind of static intelligence should be enought then but then nobody needs to call that for intelligent anymore and so on, but that does not matter because such philosophical questions are rarely solved anyway so thats fine. t. harri - Original Message - From: Jim O'Flaherty, Jr. [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Sunday, July 22, 2007 6:40 PM Subject: Re: [computer-go] Intelligence Erik, In perfect theory, I agree with you. In the practicality of attempting to generate more effective computer Go players, I disagree. In theory, there is a perfect girlfriend for me. In practicality, there is my adapting to make the current girlfriend good enough and better, with perfection never really obtainable. Jim Erik van der Werf wrote: On 7/21/07, Weimin Xiao [EMAIL PROTECTED] wrote: Intelligence is the ability to adapt or learn. A hypothetical almighty oracle that already knows the correct answer to every question and the right response in every situation would never have to adapt. Hence evidence of intelligence according to your definition would not be observed. IMO the adaptation is just a means to an end. The end (Intelligence, whatever it is) does not necessarily require adaptation. Erik ___ 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/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] Pattern definition problem
Hi has anybody defined nice pattern definition markup for situations where optimal playing depends game history. My example situation is from 2*2 board. .X O. If game is [passA1B2A2B1A2A1A2B1] - [E-A1] Whites turn 2, E-A1 is optimal move for white [passB2A1A2B1A2B2A2B1] - [E-B2] Whites turn 2, , E-B2 is optimal move for white I need to model that difference using some kind of pattern language, but I am wondering if somebody is done nice practical definition for that allready. ty. t. Harri Salakoski http://sourceforge.net/projects/narugo ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Draughts / Checkers solved
Awesome. I believe similar aproach also in game of Go. I short that there is no limit how smartly you can store information and thats why I believe Erik e.t.c research in small board sizes is important and why I have tried to study TSP kernighan kind of algorithms those don't search even 1/100.. of all possible routes in big problem instances. For example if some patterns say from 100 board positions that Black is winning thats is end of search in that branch. Like it was in this group earlier random position is allmost end position in go game and so on and believe such facts minimize impossible looking search space enought and make search possible in near future atleast in 9*9 board. Of the 5 x 1020 possible positions, Schaeffer needed to evaluate only 1014 to prove that checkers, played perfectly, results in a draw. Even similar things are lot harder in game of go, but there is living groups you can prove you can get minimun scores for white and black and atleast in theory you can reduce search space a lot. In NaruGo project goal is generate patters which make search faster to found new better patterns and repeat that. http://sourceforge.net/projects/narugo t. harri - Original Message - From: terry mcintyre To: computer-go Sent: Thursday, July 19, 2007 11:31 PM Subject: Re: [computer-go] Draughts / Checkers solved http://www.spectrum.ieee.org/jul07/5379 seems to be a fairly decent article about the Chinook teams' solving of the Checkers game. To recap, they built an endgame database which has all board positions with 10 or fewer pieces. Once you reach the endgame database, you no longer expand the tree; the solution is known. Start from the root of the tree, one uses best-first search to narrow the search to those positions which are in the endgame database. Of the 5 x 1020 possible positions, Schaeffer needed to evaluate only 1014 to prove that checkers, played perfectly, results in a draw. Terry McIntyre [EMAIL PROTECTED] They mean to govern well; but they mean to govern. They promise to be kind masters; but they mean to be masters. -- Daniel Webster - Original Message From: Álvaro Begué [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Thursday, July 19, 2007 1:17:59 PM Subject: Re: [computer-go] Draughts / Checkers solved On 7/19/07, Chris Fant [EMAIL PROTECTED] wrote: On 7/19/07, steve uurtamo [EMAIL PROTECTED] wrote: my guess is that you are in fact missing something -- it seems unlikely that they enumerated _on disk_ all possible games and their correct response moves. anything taking up less space than that would require something more intelligent (or at least with a better capacity to collapse situations) than brute force. please someone set me straight -- if it's simply a list, generated one at a time, of board positions and response moves, i'll have a merry laugh tonight. s. You would not need to enumerate positions that cannot be reached when neither player is playing perfect. Not sure how many that leaves. That leaves about the square root of the total number of nodes, if you are using a good heuristic to sort the moves. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/ -- Got a little couch potato? Check out fun summer activities for kids. -- ___ 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/
Re: [computer-go] creating a random position
In normal board size 1% random positions is legal, so it needs some rounds, but method is still superior propably any other if position must be random. t. Harri - Original Message - From: Paul Pogonyshev [EMAIL PROTECTED] To: computer-go@computer-go.org Sent: Monday, July 09, 2007 12:38 AM Subject: Re: [computer-go] creating a random position George Dahl wrote: How would one go about creating a random board position with a uniform distribution over all legal positions? Is this even possible? I am not quite sure what I mean by uniform. If one flipped a three sided coin to determine if each vertex was white,black or empty, then one would have to deal with stones with no liberties somehow. Could those just removed? As I remember from theory of probability, you can create such a uniformly random position this way[1]: 1. create a really random position, i.e. traverse all intersection and assign a black/white/empty state at random to each; 2. if it happens to be not legal, discard and repeat step 1. I believe it should be very fast, and this mustn't be difficult to check. I.e. rate of discards should be low enough for speed of algorithm to be speed of step 1 times C, where C is small. However, this will tend to give you very artificial-looking positions. Whether it is fine for your use-case, you know better. [1] http://en.wikipedia.org/wiki/Rejection_sampling Paul ___ 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/
Re: [computer-go] Re: pseudoliberties
It seems kind of dream algorithm to be able extend results for bigger board sizes. Exact knowledge is allways good anyway. So amazing, it is suitable for max pseudo liberties for one string, count of legal board positions, maybe there is other properties for board this fits or more complex issues which this algorithm could be somehow extended any studies about that? I need to study it anyway, thanks. t. harri - Original Message - From: Gunnar Farneback [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Sunday, April 01, 2007 9:22 PM Subject: Re: [computer-go] Re: pseudoliberties Chris wrote: Just out of curiosity, how did you calculate these numbers? Dynamic programming, along the same lines as the algorithm to count legal board positions which was discussed on this list two years ago and is described in depth in the paper linked from http://homepages.cwi.nl/~tromp/go/legal.html /Gunnar ___ 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/
Re: [computer-go] Re: A nearest-neighbor heuristic
On Mar 13, 2007, at 23:27 , Peter Drake wrote: Hmmm -- p. 735 of Russell Norvig's AI text contains a strong argument that nearest-neighbor methods cannot be trusted for high- dimensional data. AFAIK that's because when you add more and more dimensions and try to calculate the distance between two data points you get less and less different values the higher the number of dimensions. You have so many dimensions that have the same distances (between different sets of data points I mean) that the few that are different get lost. Or that's at least that's what I've been told. Urban - -- http://bettong.net Explanation makes sense. My comment is maybe out of context, sorry about that but just ask this anyway. In other context? EA search, I had idea of using dynamic distance functions help local optimum problem. Kind of accepting fact that don't know how distance should be calculated. For fixing that distance function changes in search time dimension, and weights different dimensions differently, so algorithm has even possibility to advance from local optimum in longer search run and so on don't converge local optimum. I don't know/remember any studies related dynamic distance(in my case dynamic fitness) function but kind of intrested if there is as it is kind of simple idea. It is kind of biologically realistic to think that enviroment changes and values different attributes differently depending situation. This allows such behaviour that small change in one dimension can cause big difference between data-points without knowing anything about data-point semantics. t. Harri ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] A nearest-neighbor heuristic
http://sourceforge.net/projects/narugo -- Is project for pattern matching AI generation. Has pattern profiling, EA and NN e.t.c. if java1.5,xml are part of your tools check that. t. Harri From: Stuart A. Yeates [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Thursday, March 08, 2007 12:19 PM Subject: Re: [computer-go] A nearest-neighbor heuristic On 3/8/07, Eduardo Sabbatella [EMAIL PROTECTED] wrote: Regex'like, pattern maching, a lot have been done on this direction. The most complex pattern db / engine is not good enough to beat the modest, simple MC engine. I'm aware of the challenges. cheers stuart ___ 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/
Re: [computer-go] Situational super KO?
Thanks for detailed explanation, so first similar looking black position has no ko and next has. t. harri - Original Message - From: Erik van der Werf To: computer-go Sent: Wednesday, March 07, 2007 10:46 PM Subject: Re: [computer-go] Situational super KO? On 3/7/07, Harri Salakoski [EMAIL PROTECTED] wrote: Hi As reading http://www.cs.unimaas.nl/~vanderwerf/pubdown/solving_go_on_sm all_boards.pdf don't understand chapter 5.1. Following 3*3 go game. Maybe you were not actually reading the above link, but chapter 5 of my thesis? The thesis contains more info, so that's fine, but then it's better to use that as reference. All can be found at http://erikvanderwerf.tengen.nl/publications.html -A2 eee bee eee Don't like your formatting :-( ... #.. ... -B2 ... #O. ... -B1 ... #O. .#. -C3 - can be bad move according chapter 5.1 Subtle details in the rules can occasionally make a huge difference. ..O #O. .#. -B3? - don't understand how black wins using this move(a in diagram 10) .#O #O. .#. -A3 O.O #O. .#. -C2 O.O #O# .#. !!! situation: white to move, no consecutive passes, no point illegal due to basic ko !!! -A1 O.O .O# O#. -B3 O#. .O# O#. -C1 O#. .O# O.O -A2 .#. #O# O.O -C3 .#O #O. O.O -B1 .#O #O. .#O -A3 O.O #O. .#O And now black has no legal moves as position repeats? at least my test code says so. Move at C2 O.O #O# .#. situation: white to move, no consecutive passes, C1 Illegal due to basic ko Somebody could enlight me what I have misunderstanded chapter 5.1. The situation is different. For details see section 2.2.1 and appendix A of the thesis, or the section about the rules in the ICGA article. Erik -- ___ 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/