pasky / pachi

A fairly strong Go/Baduk/Weiqi playing program
http://pachi.or.cz/
GNU General Public License v2.0
510 stars 116 forks source link

loosing fights due to dcnn? #60

Open pw31 opened 7 years ago

pw31 commented 7 years ago

Is it possible that dcnn "forces" Pachi sometimes to play moves that loose tactically?

I'd like to draw your attention to this game after White's move 151. b11. Pachi plays black and is to move. It is Pachi version is 11.99, with dcnn support, updated on Sept. 10th, which I think is still the latest version.

The thing is that Pachi with black plays 152. b14? to atari and capture one stone on the second line, as strongly suggested by dcnn, but this moves seems to loose the fight on the spot. My understanding of this position is that instead 152. a12! is correct, winning the capturing race, and black can resign.

It is interesting to study the ~6 black moves before that position. Black 134. d14 is a severe attack, and Pachi seems to work confidently towards the position after W151, "knowing" he can win it with 152. a12 (as suggested by it's winning probability of ~65%). But then dcnn kicks in, prevents the correct follow-up move 152. a12 and replaces it with a "good shape move" 152. b14 which is correct in 98% of such positions, but fails in this one.

Is my analysis correct?

Thanks, Peter

(;FF[4]CA[UTF-8]AP[GoGui:1.4.9] HA[2]PB[Pachi 11.99 on auriga]PW[CrazyPhone 5dan Slow]DT[2016-11-10] RE[W+Resign] AB[dp][pd]PL[W];W[];B[pp];W[dd];B[fc];W[cf];B[jd];W[qf];B[qh];W[qc];B[qd] ;W[pc];B[od];W[rd];B[re];W[rc];B[qe];W[nc];B[jp];W[qn];B[qk] ;W[qq];B[qp];W[pq];B[op];W[rp];B[ro];W[rq];B[qo];W[nq];B[np] ;W[mq];B[ck];W[lo];B[ch];W[db];B[mn];W[fq];B[eq];W[fp];B[jn] ;W[do];B[co];W[eo];B[cn];W[cq];B[cp];W[er];B[km];W[nd];B[ne] ;W[me];B[mf];W[nf];B[oe];W[le];B[ng];W[lf];B[mg];W[hc];B[hd] ;W[ic];B[id];W[gc];B[gd];W[fb];B[ec];W[eb];B[ig];W[lg];B[lh] ;W[kh];B[li];W[ki];B[kg];W[lj];B[oc];W[ob];B[nb];W[mb];B[md] ;W[mc];B[pb];W[na];B[kf];W[ld];B[kj];W[jj];B[kk];W[ii];B[hh] ;W[gj];B[jh];W[ji];B[mj];W[fh];B[ff];W[gg];B[gf];W[hg];B[ih] ;W[hf];B[if];W[eg];B[gi];W[fi];B[hj];W[hk];B[fj];W[gk];B[ik] ;W[ej];B[bq];W[dq];B[cr];W[dr];B[gh];W[fg];B[fk];W[fl];B[ek] ;W[dk];B[el];W[dl];B[em];W[cj];B[dm];W[cl];B[oq];W[or];B[pr] ;W[nr];B[ei];W[dj];B[df];W[dg];B[cg];W[ef];B[de];W[ce];B[ee] ;W[fe];B[ed];W[ge];B[fd];W[cd];B[dh];W[eh];B[di];W[bg];B[bh] ;W[bi] C[Black A looks obvious, but looses the fight instantly.

Black B seems to win on the spot.] (;B[bf]C[error due to dcnn?];W[ah];B[ag];W[ai];B[be];W[ci];B[bg];W[bd];B[gn]; W[br] ;B[ar];W[cs];B[mp];W[lp];B[kq];W[lq];B[bs];W[as];B[hq];W[hp] ;B[bs];W[iq];B[ir];W[ip];B[jq];W[hr];B[gr];W[gq];B[io];W[ln] ;B[lm];W[mo];B[nn];W[no];B[oo];W[rn];B[pn];W[so];B[sp];W[sn] ;B[qm];W[as];B[sm];W[sq];B[rm];W[jc];B[hs];W[jr];B[kr];W[is] ;B[qr];W[rr];B[sp];W[so];B[fo];W[ep];B[bs];W[cr];B[bm];W[se] ;B[rf];W[sf];B[sg];W[sd];B[rb];W[qb];B[qa];W[pa];B[he];W[ae] ;B[bl];W[rg];B[qg];W[sh];B[rh];W[sg];B[dc];W[cc];B[kd];W[kc] ;B[si];W[ke];B[je];W[fn];B[go];W[en];B[fm];W[ho];B[hn];W[ko] ;B[jo];W[bk];B[js];W[ks];B[ls];W[lr];B[js];W[ir];B[gp];W[hq] ;B[ms];W[ns];B[ks];W[bp];B[ap];W[aq];B[ps];W[ao]) (;B[ah]C[... and B wins.];W[ci];B[bf];W[ai];B[ag];W[ae];B[be];W[ad];B[bd]; W[bc] ;B[he]))

lemonsqueeze commented 7 years ago

Hi Peter,

Interesting situation. I tried to replicate at move 151 (after w B11), same result: it finds B14 but not A12.

Actually even without dcnn it still doesn't find A12, so i don't think dcnn is to blame here (although it's true it doesn't push towards the right answer). This looks like an mcts semeai bug : the playouts add too much noise because they don't play the semeai well enough, this creates a horizon effect in the tree and Pachi can't look deep enough to find out who wins the semeai...

I'd have thought increasing the number of simulations would fix it here but it doesn't seem to be the case. Maybe i don't understand this well enough...