[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [computer-go] Pattern matching - example play
Surprisingly there's was zero response to Frank's post below. Lacking time
at the moment I hadn't looked at it at all myself until today. Since I asked
him to do an experiment just like this and post the results I feel he
deserved at least a serious look at it from me.
First let me say I think his 'system' (since he doesn't want to call it
'program') did very well in this game. Much better than any others I have
seen so far that attempted something similar. So obviously Frank did a very
good job here. I must admit that I didn't think it would be possible to make
something play this well based purely on pattern-matching.
Earlier I have voiced my skepticism about how valuable such a system would
be in a Go playing program. The game here still confirms my opinion in this
respect. Now before I get accused again of saying "your shit stinks" or
something of the kind, please read my analysis given below carefully. After
that it's still possible to disagree with me of course, but I hope we can
keep it civilised this time.
Before I continue, let me make a few statements. I've taken myself as a
judge of the quality of the moves. I'm not a pro of course. But I consider
my level close enough to that of a pro to make very little difference for
this discussion. Although I played through the whole game, I paid
particularly close attention to the first 100 moves. The choice of this
number was completely arbitrary. I made a simple tally of each side, how
many *good* moves they played, and how many *bad* moves. A move was
considered good if I would have played there myself, or if the move played
seemed more or less equivalent to the move I would have played. All other
moves were considered *bad*, without making any qualification how bad they
actually were.
Out of the 50 moves each side played, I counted 6 bad moves for Black and 12
for White. A pro would probably only disagree with me on a couple of those.
After these 100 moves I think White is about 30 points behind, but that in
itself I consider of less importance. But it seems to confirm the fact that
White is doing better in this game. Now if we look at what Frank's system
does, which is predict which moves are 'pro' moves, we could conclude that
his system predicts 64% of the moves correctly. If we look at Go++ however,
we could similarly say that it scored 88%.
Now if Frank can improve the accuracy of his system to 90%, which I think
would be quite a feat by itself, then I think we can say that at best it
would make it play on a similar level as Go++ (for the first 100 moves at
least).
What I'm trying to say here is that current Go software already achieve what
Frank's system tries to achieve. The reason current Go software is still
weak is in the small number of bad moves they make in the beginning of the
game and the large number of really bad moves they make in the middle and
end-game. In my opinion the big difference in playing level could only be
achieved by improved evaluation and life-and-death (W could kill the B
corner later on for example), which is why I put much more value in those
parts of Go software when it comes to playing. How much can be improved by
doing better pattern-matching? Would 95% accuracy make a huge difference
over 90%? I'm still very skeptical about that, to say the least.
Mark Boon
> -----Original Message-----
> From: computer-go-bounces@xxxxxxxxxxxxxxxxx
> [mailto:computer-go-bounces@xxxxxxxxxxxxxxxxx]On Behalf Of Frank de Groot
> Sent: Monday, November 22, 2004 20:48
> To: computer-go
> Subject: [computer-go] Pattern matching - example play
>
>
> Attached & below a game that shows how a purely-pattern system
> plays against
> Go++ 5.0 Level 5 (highest):
> White totally neglects making territory.
>
>
>
> (;GM[1]FF[4]SZ[19]CA[UTF-8]
> AP[Moyo Go Studio]
> GN[Go++ 5.0[B] vs. MoyoGo[W]]
> PW[MoyoGo]
> PB[Go++ 5.0]
> KM[5.5]
> OT[No byo-yomi]
> DT[2004-11-22]
> ;B[cc];W[pp];B[pc];W[dp];B[jq];W[hq];B[mq];W[oq];B[jo];W[kp];B[kq];W[ho];
> B[jp];W[pe];B[qe];W[qf];B[qd];W[pf];B[nc];W[hm];B[qk];W[qi];B[qn];
> W[qo];B[pn
> ];
> W[rn];B[rm];W[ro];B[oj];W[jm];B[qj];W[pi];B[nl];W[oi];B[ck];W[nj];
> B[no];W[cm
> ];
> B[ch];W[ok];B[ol];W[pj];B[cq];W[dq];B[cp];W[co];B[bo];W[bn];B[do];
> W[cn];B[dr
> ];
> W[er];B[cr];W[fq];B[ap];W[hk];B[df];W[hc];B[fc];W[mp];B[np];W[nq];
> B[mr];W[mo
> ];
> B[mn];W[ln];B[kn];W[km];B[lm];W[ll];B[lo];W[mm];B[kc];W[ln];B[nn];
> W[he];B[ke
> ];
> W[lp];B[lm];W[ml];B[lg];W[ln];B[ko];W[nk];B[hh];W[gg];B[gh];W[eg];
> B[ei];W[hg
> ];
> B[fh];W[ih];B[ii];W[jh];B[ji];W[kh];B[if];W[jf];B[ie];W[ig];B[id];
> W[hd];B[ki
> ];
> W[lh];B[mg];W[kf];B[lf];W[ef];B[de];W[ee];B[fd];W[ed];B[gb];W[hb];
> B[el];W[em
> ];
> B[fe];W[fl];B[hf];W[dd];B[gf];W[cd];B[be];W[bd];B[ce];W[fg];B[bb];
> W[db];B[dc
> ];
> W[cb];B[bl];W[an];B[bc];W[ad];B[ec];W[ae];B[bg];W[ac];B[ds];W[es];
> B[ps];W[pr
> ];
> B[os];W[qs];B[ep];W[eq];B[br];W[qr];B[in];W[hn];B[ir];W[ns];B[im];
> W[il];B[rf
> ];
> W[rg];B[re];W[hr];B[af];W[ek];B[dk];W[ej];B[dj];W[li];B[dl];W[kg];
> B[nf];W[je
> ];
> B[jd];W[ao];B[bp];W[le];B[me];W[kd];B[kb];W[md];B[nd];W[jn];B[dm];
> W[dn];B[fm
> ];
> W[en];B[gl];W[gm];B[fn];W[fo];B[fk];W[gn];B[sg];W[rh];B[og];W[pg];
> B[mc];W[ld
> ];
> B[gj];W[fl];B[fm];W[rj];B[rk];W[sh];B[io];W[sf];B[pk];W[pd];B[qc];
> W[hl];B[sj
> ];
> W[si];B[ri];W[fn];B[dg];W[rj];B[lc];W[ke];B[ri];W[fl];B[gk];W[rj];
> B[kk];W[sk
> ])
>
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/