📄 acm-final.ps
字号:
63 0 V5634 0 R-63 0 V-5754 0 R(1 : 1.12) Rshow1200 1516 M63 0 V5634 0 R-63 0 V-5754 0 R(1 : 1.09) Rshow1200 1874 M63 0 V5634 0 R-63 0 V-5754 0 R(1 : 1.06) Rshow1200 2242 M63 0 V5634 0 R-63 0 V-5754 0 R(1 : 1.03) Rshow1200 2620 M63 0 V5634 0 R-63 0 V-5754 0 R(1 : 1) Rshow1200 2998 M63 0 V5634 0 R-63 0 V-5754 0 R(1.03 : 1) Rshow1200 3366 M63 0 V5634 0 R-63 0 V-5754 0 R(1.06 : 1) Rshow1200 3723 M63 0 V5634 0 R-63 0 V-5754 0 R(1.09 : 1) Rshow1200 4071 M63 0 V5634 0 R-63 0 V-5754 0 R(1.12 : 1) Rshow1200 4409 M63 0 V5634 0 R-63 0 V-5754 0 R(1.15 : 1) Rshow1200 501 M0 63 V0 4175 R0 -63 V0 -4375 R(2) Cshow2014 501 M0 63 V0 4175 R0 -63 V0 -4375 R(3) Cshow2828 501 M0 63 V0 4175 R0 -63 V0 -4375 R(4) Cshow3642 501 M0 63 V0 4175 R0 -63 V0 -4375 R(5) Cshow4455 501 M0 63 V0 4175 R0 -63 V0 -4375 R(6) Cshow5269 501 M0 63 V0 4175 R0 -63 V0 -4375 R(7) Cshow6083 501 M0 63 V0 4175 R0 -63 V0 -4375 R(8) Cshow6897 501 M0 63 V0 4175 R0 -63 V0 -4375 R(9) Cshow1200 501 M5697 0 V0 4238 V-5697 0 V0 -4238 V200 2620 Mcurrentpoint gsave translate 90 rotate 0 0 M(Leaves Relative to Aspiration NegaScout) Cshowgrestore4048 101 M(Depth) Cshow4048 4939 M(Chess) CshowLT07711 2620 M(AspNS) Rshow7831 2620 M360 0 V-6991 0 R814 0 V814 0 V814 0 V813 0 V814 0 V814 0 V814 0 VLT17711 2420 M(AB) Rshow7831 2420 M360 0 V2014 3244 M814 0 V814 -497 V813 251 V814 246 V814 479 V7951 2420 D2014 3244 D2828 3244 D3642 2747 D4455 2998 D5269 3244 D6083 3723 DLT27711 2220 M(MTD\(f\)) Rshow7831 2220 M360 0 V2014 2491 M814 -801 V814 137 V4455 837 L814 715 V814 -281 V7951 2220 A2014 2491 A2828 1690 A3642 1827 A4455 837 A5269 1552 A6083 1271 ALT37711 2020 M(Dual*) Rshow7831 2020 M360 0 V2014 2747 M814 -127 V814 -390 V813 131 V814 -131 V814 0 V7951 2020 B2014 2747 B2828 2620 B3642 2230 B4455 2361 B5269 2230 B6083 2230 BLT47711 1820 M(SSS*) Rshow7831 1820 M360 0 V2014 2620 M814 -129 V814 -261 V813 -818 V814 1079 V814 631 V7951 1820 C2014 2620 C2828 2491 C3642 2230 C4455 1412 C5269 2491 C6083 3122 Cstrokegrestoreendshowpage%%EndDocument @endspecial 143 666 a Fq(Figure)10 b(4:)k(Leaf)e(Node)e(Count)f(Chess)-75 799 y(bound)14 b(or)h(an)g(upper)g(bound,)h(respectively)m(.)30b(W)m(e)16 b(call)f(this)f(vari-)-75 845 y(ant)19 b(MTD\()pFl(\246)p Fq(\))g(\(an)g(explanation)f(for)g(the)h(choice)h(of)e(name)j(and)-75 890 y(the)c(code,)j(a)f(minor)d(modi\256cation)h(to)g(\256gure)g(3,)j(can)e(be)g(found)-75 936 y(in)12 b([19)o(,)h(20)o(]\).)22 b(The)13 b(intuition)c(behind)i(MTD\()p Fl(\246)pFq(\))h(is)g(that)g(starting)f(a)-75 982 y(sequence)j(of)f(minimal-window)e(Alpha-Beta)i(calls)g(close)g(to)g(the)-751027 y(minimax)g(value)g(is)g(cheaper)h(than)f(using)f(a)i(start)f(value)g(of)g(+)p Fl(\245)g Fq(or)-75 1073 y Fm(\000)pFl(\245)p Fq(,)d(as)h(in)e(SSS*)g(or)h(DUAL*.)15 b(Empirical)9b(tests)h(have)g(established)-75 1119 y(this)g(assumption)g(to)h(be)g(true,)g(for)g(simulations)f(and)h(for)f(a)i(number)-751164 y(of)j(games)i([19)o(,)g(20)o(,)f(21,)g(24)o(].)32b(SSS*)15 b(and)h(DUAL*)g(consists)f(of)-75 1210 y(many)9b(searches)h(that)d(compute)h(uninteresting)f(bounds)g(that)g(are)i(far)-75 1256 y(away)j(from)e(the)h(tar)o(get)g(value.)18b(MTD\()p Fl(\246)p Fq(\))10 b(consists)h(of)f(a)i(few)f(well-)-751301 y(placed)j(searches,)j(yielding)12 b(bounds)h(close)i(to)e(the)h(tar)o(get.)26 b(In)13 b(an)-75 1347 y(iterative)d(deepening)h(setting,)f(a)i(natural)e(choice)h(for)g(the)g(heuristic)-751393 y(start)f(value)g(is)g(the)g(value)h(of)f(a)g(previous)g(iteration.)-75 1463 y Fp(T)l(est)h(Results)-75 1513y Fq(Experiments)d(have)h(been)g(conducted)g(for)f(a)h(variety)f(of)g(algorithms)-75 1558 y(using)13 b(Phoenix.)25 b(Experiments)14b(have)g(also)g(been)g(performed)g(for)-75 1604 y(checkers)i(and)e(Othello)f(with)g(results)h(similar)f(to)h(those)g(reported)-751650 y(here)f([20)o(,)g(21)o(].)21 b(All)12 b(algorithms)f(use)i(the)f(same)h(base)g(procedures)-75 1695 y(with)c(iterative)h(deepening,)g(transposition)e(tables)i(and)g(the)g(history)-75 1741y(heuristic.)25 b(Forward)14 b(pruning)e(and)i(selective)g(search)h(have)f(been)-75 1787 y(turned)g(of)o(f)h(to)g(ensure)g(comparable)h(results.)29 b(Results)14 b(were)i(ob-)-75 1832 y(tained)10b(using)f(20)h(test)f(positions)g(that)g(were)i(chosen)f(for)g(providing)-75 1878 y(reliable)k(and)g(representative)g(results.)26b(The)15 b(results)f(were)g(cross-)-75 1924 y(checked)d(with)f(dif)o(ferent)f(positions)f(and)j(for)f(deeper)h(searches.)-331969 y(Figure)16 b(4)h(shows)g(the)g(number)g(of)f(leaf)i(nodes)f(evaluated)g(by)-75 2015 y(Alpha-Beta,)24 b(Aspiration)c(NegaScout)h(\(NegaScout)h(enhanced)-75 2061 y(with)27 b(aspiration)g(windows\),)k(AB-SSS*,)i(AB-DUAL*)28 b(and)-75 2106 y(MTD\()p Fl(\246)pFq(\))7 b(for)h(dif)o(ferent)f(search)i(depths.)14 b(Aspiration)6b(NegaScout)i(is)-75 2152 y(the)i(current)g(algorithm)f(of)h(choice)h(by)f(most)g(chess)i(programmers,)-75 2198 y(therefore)c(we)h(have)g(chosen)g(this)e(algorithm)g(as)i(our)f(baseline.)14b(Fig-)-75 2243 y(ure)h(5)g(shows)g(that)g(MTD\()p Fl(\246)pFq(\)')n(s)f(execution)h(time)g(performance)h(is)-752289 y(proportional)8 b(to)h(the)h(leaf)h(node)f(count.)-332335 y(From)h(these)h(\256gures)f(we)h(see)g(a)g(number)f(of)g(interesting)f(points.)-75 2380 y(First,)i(the)g(performance)h(of)e(all)h(algorithms)e(is)i(within)e(a)j(range)f(of)-752426 y Fl(\261)g Fq(15\045,)e(contradicting)f(simulation)g(results)i(that)f(claim)h(SSS*)g(can)-75 2472 y(be)g(signi\256cantly)e(better)h(than)g(Alpha-Beta)g([15)o(].)16 b(The)11 b(tests)f(dif)o(fer)-752517 y(because)16 b(Alpha-Beta-enhancements)g(have)f(improved)f(the)g(per)o(-)-75 2563 y(formance)d(of)e(all)h(algorithms,)f(and)g(because)j(simulated)d(trees)h(lack)-75 2609 y(essential)15 b(properties)g(of)f(real)i(trees)g([20)o(,)g(21)o(].)30 b(Given)15 b(these)g(re-)-752654 y(sults,)9 b(we)g(\256nd)f(that)g(performance)h(comparisons)g(based)g(on)g(vanilla)-75 2700 y(textbook)h(versions)g(of)h(Alpha-Beta)g(are)h(of)f(no)f(value)i(for)e(the)h(real)1052 591 y@beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2267@rwi 1417 @rhi @setspecial%%BeginDocument: plot.cpu.p.ps/gnudict 40 dict defgnudict begin/Color false def/Solid false def/gnulinewidth 5.000 def/vshift -66 def/dl {10 mul} def/hpt 31.5 def/vpt 31.5 def/M {moveto} bind def/L {lineto} bind def/R {rmoveto} bind def/V {rlineto} bind def/vpt2 vpt 2 mul def/hpt2 hpt 2 mul def/Lshow { currentpoint stroke M 0 vshift R show } def/Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def/Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def/BL { stroke gnulinewidth 2 mul setlinewidth } def/AL { stroke gnulinewidth 2 div setlinewidth } def/PL { stroke gnulinewidth setlinewidth } def/LTb { BL [] 0 0 0 DL } def/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def/LT0 { PL [] 0 1 0 DL } def/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def/P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def/D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def/A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def/C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def/S { 2 copy A C} defendgnudict begingsave50 50 translate0.050 0.050 scale0 setgray/Times-Roman findfont 200 scalefont setfontnewpathLTaLTb1200 1008 M63 0 V5634 0 R-63 0 V
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -