精華區beta puzzle 關於我們 聯絡資訊
在 2006 年時,Marc Bourzutschky 發表了如下的「題目」: 8           黑白 7          pP = 小兵 6           rR = 城堡 5          nN = 騎士 4          bB = 主教 3          qQ = 皇后 2         kK = 國王 1             abcdefgh 題目:黑先,白方 517 步獲勝(假定不採用 50 步規則)。 註:所謂獲勝指的是將死對方或者讓局面退化成一個理論上已知必勝的單純殘局。 這個就是目前為止史上最難的一道西洋棋謎題。 好啦……我開玩笑的,其實這並不是真的用來給人解的, 而是用來讓超級電腦回答的題目。 進入電腦時代之後,隨著殘局資料庫的建立, 很多過去對於殘局的認識都有了非常大的改變, 除了一些過去被認為是和棋的局面被發現其實能勝之外, 還發現了很多這種雖然必勝法存在但卻極度困難而且攻防漫長之局面, 上面這個局面就是目前為止發現最長的殘局局面: 如果黑方永遠以最佳棋步回應的話, 白方要經過整整 517 步之後才能吃掉對方的城堡,確定勝利。 如果依照標準的規則,老早就會因為 50 步規則的限制而被判定和棋了。 當然,在現實當中人類是完全沒有可能下出最佳棋步的, 因為非常多殘局資料庫所導致的結論是人類的邏輯所完全無法理解的, 純粹就只是暴力窮舉之後的結果。 所以如果現實中真的出現這種局面,視雙方的實力差距而定, 也許白方是有辦法在 50 步之內進入勝局的。 話說上面那道「題目」的完整解答如下: (只列出最長的一線,如果黑方不是照這樣下,那只會死得更快) 1...Rd7+ 2.Kc3! Bd1 3.Qf1+! Bf3 4.Qc1+! Kf5 5.Kb2! Rb7+ 6.Ka3 Ra7+ 7.Kb4 Rb7+ 8.Ka5 Ra7+ 9.Kb6 Rb7+ 10.Ka6 Re7 11.Qf1 Re6+ 12.Ka7 Re7+ 13.Kb8 Re8+ 14.Kc7 Re3 15.Kc8 Rc3+ 16.Kb8! Kf4 17.Qg1! Ne4 18.Nf1! Rb3+ 19.Ka7! Rd3 20.Qh2+! Kf5 21.Kb8 Nf6 22.Nd2! Bd5 23.Qf2+! Ke5 24.Qe2+ Kd4 25.Ka7 Nd7 26.Qg4+! Kc5 27.Qg1+! Kb4 28.Qb1+! Kc3 29.Qc1+ Kd4 30.Qb2+ Kc5 31.Qc2+! Kd4 32.Qa4+ Kc5 33.Qa5+ Kd4 34.Qb4+ Ke5 35.Ka6 Kf5 36.Qb1 Ne5 37.Kb5! Bc6+ 38.Kb4! Bd5 39.Qf1+ Kg6 40.Qe2 Kf6 41.Qh5 Ke6 42.Qg5 Nc6+ 43.Kb5 Ne5 44.Qh6+ Kf5 45.Nf1 Bc6+ 46.Kb4 Rd4+ 47.Kb3 Rd3+ 48.Ka2 Bd5+ 49.Kb1! Nc4 50.Qh5+! Kf6 51.Qh4+ Ke6 52.Ng3! Rb3+ 53.Kc1! Rc3+ 54.Kd1 Re3 55.Nf1! Ra3 56.Qf4 Kd7 57.Ke1 Kc6 58.Qh6+ Kc5 59.Kf2 Rb3 60.Qh8 Ra3 61.Qb8 Kc6 62.Qb1 Rc3 63.Kg1 Ra3 64.Qc2 Kb6 65.Qf5 Kc5 66.Qf8+ Kb5 67.Qe8+ Kc5 68.Qe2 Rf3 69.Qe7+ Kd4 70.Qg7+ Kc5 71.Qg5 Kc6 72.Qh4 Kb5 73.Qe7 Kb6 74.Qb4+ Kc6 75.Qe1 Ra3 76.Qf2 Rf3 77.Qd4 Kd6 78.Qh4 Kc5 79.Nh2 Ra3 80.Ng4 Ra1+ 81.Kf2! Ra2+ 82.Kg3! Ra3+ 83.Kf4 Rf3+ 84.Kg5 Be6 85.Nf6! Ne5 86.Nh5 Rf5+ 87.Kh6 Ng4+ 88.Kg6! Ne5+ 89.Kh7 Rf7+ 90.Kh6! Ng4+ 91.Kg5 Ne5 92.Qa4 Rf5+ 93.Kh6! Bc4 94.Qa5+ Kd4 95.Qb6+ Kd5 96.Qd8+ Ke4 97.Qd1 Ke3 98.Qc1+ Kd4 99.Ng3 Rf6+ 100.Kh5 Kd5 101.Kh4 Rg6 102.Kh3 Bd3 103.Qf4 Rg8 104.Qb4 Bc4 105.Qd2+ Ke6 106.Qh6+ Kd5 107.Qh7 Kc5 108.Kh2 Rg6 109.Qe7+ Kd5 110.Qd8+ Ke6 111.Qf8 Kd5 112.Kh3 Bb5 113.Qa3 Bc6 114.Kg2 Rf6 115.Kh2 Nf3+ 116.Kh3 Rh6+ 117.Kg2! Nd4 118.Qe7 Kc4+ 119.Kg1! Rg6 120.Qf7+ Re6 121.Qf4 Kd3 122.Qf1+ Kc3 123.Qc1+ Kb4 124.Kh2 Rf6 125.Kh3 Bd7+ 126.Kg2! Bc6+ 127.Kh2 Rf3 128.Qd1 Kc5 129.Nh5 Kd5 130.Qh1 Ke6 131.Qg1 Ke5 132.Qg7+ Ke4 133.Qc7 Kd5 134.Nf4+ Kc4 135.Qb8 Rc3 136.Qa7 Be4 137.Qb6 Bc6 138.Qa6+ Kc5 139.Nd3+ Kd6 140.Nb2 Rb3 141.Nd1 Nf3+ 142.Kg3 Nd4+ 143.Kf2 Rf3+ 144.Ke1 Kd5 145.Qb6 Kc4 146.Qa7 Bb5 147.Nf2 Nc2+ 148.Kf1 Bc6 149.Qa6+ Kc5 150.Qa2 Nd4 151.Kg1! Rf5 152.Kh2 Rh5+ 153.Kg3! Rg5+ 154.Kf4! Rf5+ 155.Kg4 Bf3+ 156.Kh4 Rh5+ 157.Kg3 Rg5+ 158.Kf4 Rf5+ 159.Ke3! Re5+ 160.Kd3 Be2+ 161.Kd2! Kb4 162.Qg8 Bb5 163.Qg4 Re2+ 164.Kc1! Kc4 165.Nd1! Rc2+ 166.Kb1 Rd2 167.Qc8+ Bc6 168.Qg8+! Kb4 169.Nb2 Be4+ 170.Ka2! Nb5 171.Qb3+! Ka5 172.Ka1! Bd5 173.Qa4+! Kb6 174.Qb4! Rd4 175.Qe1 Be4 176.Nd1 Rc4 177.Qe3+ Kc6 178.Kb2 Rc2+ 179.Kb3 Nd6 180.Qh6 Rc5 181.Nc3 Bd5+ 182.Kc2 Kd7 183.Qg7+ Kc6 184.Kd1 Bf7 185.Kd2 Bc4 186.Ke1 Ra5 187.Qf6 Rf5 188.Qg6 Kc7 189.Qg7+ Rf7 190.Qg3 Kc6 191.Qg2+ Kc7 192.Qh2 Kc6 193.Qh1+ Kc5 194.Qh8 Re7+ 195.Kd1! Re8 196.Qh2 Re3 197.Kc2 Rd3 198.Qe5+ Kc6 199.Qh5 Rg3 200.Qa5 Rh3 201.Kd2 Rh2+ 202.Ke3 Rh3+ 203.Kf4 Rd3 204.Na4 Rd4+ 205.Kf3 Rd3+ 206.Kg4 Rd4+ 207.Kh3 Ne4 208.Qa7 Be6+ 209.Kg2! Rb4 210.Qa6+! Kd5 211.Kf3 Kd4 212.Qe2 Kd5 213.Ke3 Bd7 214.Nb2 Bb5 215.Qh5+ Ke6 216.Nd1 Nf6 217.Qh3+ Kf7 218.Kd2 Rd4+ 219.Kc1 Rc4+ 220.Kb2 Rb4+ 221.Ka3 Ra4+ 222.Kb3 Rd4 223.Nc3 Bc4+ 224.Kc2! Be6 225.Qe3 Rh4 226.Qa7+ Kg6 227.Ne2 Rb4 228.Kc1 Rc4+ 229.Kb2 Rb4+ 230.Ka3 Rb3+ 231.Ka4! Rf3 232.Qd4 Bd7+ 233.Kb4 Be6 234.Qc5 Bd7 235.Qd6 Bg4 236.Nd4 Rd3 237.Kc4 Re3 238.Nc6 Bc8 239.Qh2 Re4+ 240.Kc5 Bb7 241.Qg1+ Kh7 242.Na7 Rg4 243.Qh2+ Kg6 244.Nb5 Rg2 245.Qh3 Rg5+ 246.Kb4 Bg2 247.Qh2 Bd5 248.Nd6 Ne4 249.Nc8 Nf6 250.Qd6 Rh5 251.Qc7 Kg5 252.Qe5+ Kg6 253.Qe3 Kh7 254.Qd3+ Kg7 255.Nd6 Rg5 256.Ka4 Rh5 257.Qg3+ Kh7 258.Kb4 Kh6 259.Ka3 Rg5 260.Qc3 Kg6 261.Qc2+ Kh6 262.Nf5+ Kh5 263.Qd3 Kg6 264.Ng3+ Kf7 265.Qe3 Rg8 266.Nf5 Ra8+ 267.Kb2! Ra2+ 268.Kb1 Ra6 269.Qe7+ Kg6 270.Nd6 Rb6+ 271.Kc2 Rb3 272.Qe5 Rf3 273.Kd2 Bc6 274.Nc4 Bd5 275.Ne3 Be4 276.Ng4 Bb7 277.Qe6 Kg5 278.Ne5 Rf2+ 279.Kc3 Rf4 280.Nf7+ Kg6 281.Nd6 Be4 282.Kd2 Rf2+ 283.Ke1 Rf4 284.Qc4 Kg5 285.Qe2 Bg6 286.Qe5+ Kg4 287.Ke2 Bf5 288.Qa1 Nh5 289.Ke3 Bc2 290.Qa8 Bg6 291.Qd5 Ng3 292.Nc4 Nf5+ 293.Ke2! Ng3+ 294.Kd2 Kh3 295.Qc6 Re4 296.Qa6 Re2+ 297.Kc3 Be4 298.Qd6 Kg2 299.Kb4 Bf3 300.Ka5 Nf5 301.Qc5 Be4 302.Kb6 Rc2 303.Qb4 Kf2 304.Ne5 Ke3 305.Nd7 Nd4 306.Qa3+ Ke2 307.Ne5 Nf5 308.Qa6+ Kf2 309.Qa4 Ng3 310.Qb4 Ke3 311.Nc4+ Kd3 312.Nd6 Ke3 313.Ka7 Bd3 314.Qb6+ Kf3 315.Qd4 Be4 316.Kb8 Re2 317.Nf7 Bf5 318.Ng5+ Kg2 319.Qd5+ Be4 320.Qb3 Bf5 321.Qf3+ Kh2 322.Qb7 Re8+ 323.Ka7! Re2 324.Qd5 Rf2 325.Nf3+ Kg2 326.Nd2+ Kh3 327.Qc6 Kg4 328.Qc3 Rf4 329.Nc4 Re4 330.Ne3+ Kg5 331.Qc5 Re6 332.Kb8 Re8+ 333.Kb7 Re6 334.Kc7 Re4 335.Kc6 Re8 336.Kb6 Re4 337.Ka5 Re6 338.Kb5 Re4 339.Nd5 Nh5 340.Ne7 Ng3 341.Qc1+ Kh4 342.Qh6+ Kg4 343.Nd5 Kf3 344.Qf6 Kg4 345.Qg7+ Kf3 346.Qc3+ Kf2 347.Qc5+ Kf3 348.Ka5 Bg4 349.Nf6 Rf4 350.Qc6+ Kf2 351.Nd5 Re4 352.Qf6+ Bf3 353.Nf4 Ne2 354.Nd3+ Ke3 355.Ne5 Rf4 356.Qb6+ Nd4 357.Kb4 Ke4 358.Nc4 Kf5 359.Qh6 Be2 360.Ne3+ Ke5 361.Qh8+ Ke4 362.Qe8+! Kf3 363.Nd5! Re4 364.Qf7+ Kg3 365.Qg6+ Kf3 366.Nf6 Rf4 367.Qh5+ Kg3 368.Qg5+ Kf3 369.Kc3 Nb5+ 370.Kb3! Rc4 371.Nd5 Nd4+ 372.Kb2 Rc2+ 373.Kb1 Ke4 374.Nf6+ Kd3 375.Nd7 Bf3 376.Ne5+ Ke2 377.Qh4 Rd2 378.Nc4! Rd1+ 379.Kb2! Rd3 380.Qg5 Rb3+ 381.Ka2! Rd3 382.Qe5+ Kf2 383.Nb2 Rd2 384.Qf4 Ke2 385.Kb1 Bg2 386.Nc4 Rd3 387.Qh2 Kf1 388.Qh7 Rc3 389.Kb2 Rc2+ 390.Ka3 Rc3+ 391.Kb4 Ne2 392.Ne5 Rh3 393.Qf5+ Ke1 394.Nd3+ Kd2 395.Nc5 Rg3 396.Qh7 Ke3 397.Qd3+ Kf2 398.Qc4 Rc3 399.Qh4+ Rg3 400.Ka5 Kg1 401.Qe7 Kf2 402.Qf6+ Ke1 403.Qh4 Kf1 404.Qd8 Ke1 405.Nd3+ Kd2 406.Nb4+ Kc1 407.Qe7 Kd2 408.Qd6+ Ke3 409.Nc2+ Kf2 410.Qe7 Rf3 411.Qh4+ Rg3 412.Ka6 Bh3 413.Qf6+ Rf3 414.Qa1 Rd3 415.Qe1+ Kf3 416.Qb4 Kg3 417.Qe7 Kf2 418.Ka5 Rc3 419.Qf8+ Rf3 420.Qb4 Rc3 421.Qb6+ Kg3 422.Ne3 Nf4 423.Nc4 Rf3 424.Qc7 Rf2 425.Qg7+ Kh2 426.Qe5 Kg3 427.Qg5+ Kh2 428.Kb6 Bg2 429.Ne3 Bh3 430.Qe5 Kg3 431.Nd5 Kg4 432.Qd4 Kg3 433.Qe3+ Rf3 434.Qe5 Kg4 435.Nf6+ Kg3 436.Ne4+ Kg2 437.Qc5 Ne2 438.Qc4 Nf4 439.Qc2+ Kh1 440.Qc5 Bg2 441.Nf2+ Kh2 442.Ng4+ Kh3 443.Qg5 Rb3+ 444.Ka5 Ra3+ 445.Kb4 Rf3 446.Ne5 Nd5+ 447.Kb5 Rf4 448.Kc5 Be4 449.Nc6 Rh4 450.Qd2 Kg4 451.Qe1 Bg2 452.Qe6+ Kg3 453.Nd4 Nf4 454.Qb3+ Kh2 455.Qe3 Rh5+ 456.Kd6! Rd5+ 457.Ke7! Nh3 458.Qd2 Kg3 459.Qc3+ Kh2 460.Qe3 Rg5 461.Qe2 Nf4 462.Qf2 Rg4 463.Nf5 Nd5+ 464.Ke6 Rg6+ 465.Kd7 Rg4 466.Qe1 Nf6+ 467.Kc7 Ne4 468.Qc1 Rg5 469.Qf4+! Kg1 470.Ne3 Rg7+ 471.Kb6 Rg6+ 472.Ka5 Rg5+ 473.Kb4 Rg6 474.Qe5 Bf3 475.Qa1+ Kh2 476.Qb2+ Kh1 477.Qc1+ Rg1 478.Qc8 Rg3 479.Qh8+ Kg1 480.Qa1+ Kf2 481.Qd4 Rg5 482.Nf5+ Kg2 483.Qb2+ Kh3 484.Ne3 Rh5 485.Nf1 Kg4 486.Qg7+ Kh3 487.Qg1 Rh4 488.Ka3 Rf4 489.Qh2+ Kg4 490.Ne3+ Kg5 491.Nd5 Rf7 492.Qe5+ Kh4 493.Ne7 Ng5 494.Ng8 Ne4 495.Nh6 Rf6 496.Nf5+ Kg4 497.Ne3+ Kh4 498.Kb4 Rb6+ 499.Ka5 Rf6 500.Qh2+ Kg5 501.Qh7 Ng3 502.Qg7+ Rg6 503.Qe5+ Kh6 504.Qf4+ Rg5+ 505.Kb6 Be2 506.Qf8+ Kh7 507.Nd5 Bc4 508.Nf6+ Kg6 509.Nd7 Nh5 510.Qd6+ Kh7 511.Qe7+ Kh6 512.Qe3 Be6 513.Ne5 Bd5 514.Qd4 Bg8 515.Qd2 Nf6 516.Nf3 Nd5+ 517.Kb7 Kg7 518.Qxg5+ 終於,皇后吃到了黑方的城堡,贏定了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.19.121.146 ※ 編輯: terrorlone 來自: 163.19.121.146 (04/18 20:50)
geken:看到517步害我嚇到了... 04/18 20:49
puzzlez:@@ 原po 辛苦了 這未免太誇張了..... 04/18 21:28
pikacha:這...血吐很大... 04/18 22:02
joeyeh:發一個11段證書好了 04/19 09:58
ledia:其實更有挑戰性的問題是, 找到所謂 "更容易讓對手犯錯" 路線 04/20 00:54
ledia:盡量讓對手犯錯才是讓這類冗長棋步大幅縮短的機會 04/20 00:55
terrorlone:引述一位大師講過的話就是,永遠別假設你的對手會犯錯 04/20 06:33
terrorlone:設陷阱是可以的,但僅當即便對手沒中計也無所謂時為之 04/20 06:34
terrorlone:就這個意義來講,其實此解答中幾乎每一步都是這種陷阱 04/20 06:36
terrorlone:黑棋只有狹窄的路可以硬撐那麼久,其餘的都會死得更快 04/20 06:38
terrorlone:而若你還要追求「更容易讓對手犯錯」的棋步, 04/20 06:39
terrorlone:那就會付出「萬一對手沒中計就會拖更久」的代價 04/20 06:40
terrorlone:這不是一個想把棋下好的人應該追求的東西 04/20 06:41
ledia:不不不, 這些棋步都會有很多種同步數的選擇 04/20 13:51
ledia:設陷阱當然是要在不會讓步數增多的情況下使用 04/20 13:52
ledia:當你有最佳答案時, 你並不是假設對手犯錯, 而是主動的去引 04/20 13:53
ledia:誘對手犯錯 04/20 13:53
terrorlone:黑棋的選擇絕對沒你說的那麼多,你可有真的跑過一遍? 04/20 13:54
ledia:沒有 ^^ 不過一般電腦殘局資料庫都會有很多等位的選擇 04/20 13:54
terrorlone:是的,但這個例子中原作者給出的這條線已經是超窄的了 04/20 13:55
terrorlone:他已經有把你說的東西考慮進去了 04/20 13:56
ledia:所以我提出的是更有挑戰性的問題, 而不是此題的延伸呀 XD 04/20 13:56
ledia:事實上越窄/步數改變曲線越陡的路線反而對手越不容易犯錯 04/20 13:58
terrorlone:而原作者也已經回答了你的這個問題了 04/20 13:58
puzzlez:西洋棋題目好像滿受歡迎的 過來的人數變多了 04/20 13:58
terrorlone:那要看是什麼對手 04/20 13:59
ledia:其實我對電腦西洋棋不太有興趣... 因為電腦已經狂電棋王了XD 04/20 13:59
terrorlone:電腦當然不可能犯錯,而人類的話則不管怎樣都會犯錯 04/20 13:59
terrorlone:你這個說法的觀點也有點太偏重結果論了 04/20 14:00
ledia:也可能你的殘局資料庫比較大, 可以欺負還在用搜尋的對手 04/20 14:00
terrorlone:雖然單看結果而言棋王是輸了沒錯,但電腦的計畫能力仍 04/20 14:00
terrorlone:然遠遠在人類之下 04/20 14:00
terrorlone:那樣的對手基本上跟人類的差別不大,也是超容易錯 04/20 14:01
ledia:這只是人類的自我安慰 輸贏是絕對的 04/20 14:01
ledia:不過電腦贏人腦, 贏的也是人類(的科技)呀 XD 04/20 14:02
terrorlone:是這樣嗎?在佈局上輸了一大截,最後只靠恰好抓到棋王 04/20 14:02
ledia:看一堆多 unit 怪獸級的機器互相下棋, 其實是沒什麼意思的 04/20 14:02
terrorlone:犯錯的一瞬間而贏棋,這樣就算是實力在人類之上嗎? 04/20 14:03
ledia:你可以多看看現在電腦的棋力囉 ~ 04/20 14:03
terrorlone:你如果真的有看電腦西洋棋大賽,就知道他們的佈局有多 04/20 14:03
terrorlone:麼糟糕了,而且也都完全沒有長遠計劃的概念 04/20 14:04
ledia:你看的是什麼比賽呀 || 佈局是最容易改進的部份耶 XD 04/20 14:04
terrorlone:這你就大錯特錯了。電腦是完全沒有佈局概念的 04/20 14:05
terrorlone:線在的程式設計還是環繞在古典的 Minimax 法上 04/20 14:05
ledia:電腦不用有概念呀, 只要有資料庫就好啦 @@ 04/20 14:05
terrorlone:用那種方式只能導致短程的判斷,卻沒有長遠的佈局觀 04/20 14:05
ledia:沒有人用 minimax 做開局的啦 那幾十年前的事了 04/20 14:06
terrorlone:這就是為什麼西洋棋也許下得贏人類,但圍棋一樣慘敗 04/20 14:06
ledia:人類應用電腦下棋, 開局收集開局資料庫, 殘局自己算資料庫 04/20 14:06
terrorlone:只靠計算能力、開局 book 和殘局資料庫,是不會有真正 04/20 14:07
ledia:所以像是西洋棋 象棋 都能短時間內做得很好 04/20 14:07
terrorlone:強大的實力的 04/20 14:07
ledia:對於符合電腦搜尋特性的棋類應該可以很快就變很強吧 04/20 14:07
ledia:圍棋就跟電腦的搜尋特性差很多 04/20 14:08
terrorlone:真正要變強,除非改變整個程式設計的理論 04/20 14:08
terrorlone:這點是那些設計西洋棋引擎的人都在做的事情 04/20 14:09
terrorlone:因為他們都一直了解到所謂視野效應所帶來的問題 04/20 14:09
ledia:西洋棋應改抵定開殘資料庫, 中局搜尋了吧, 很難再改了 04/20 14:09
ledia:圍棋才有很大改變的機會 04/20 14:09
terrorlone:可是要本質地解決視野效應,必須徹底改變整個核心概念 04/20 14:10
terrorlone:這不見得很難,近來已經開始有一些突破了 04/20 14:10
terrorlone:最主要的就是把邏輯推理跟搜尋加以結合 04/20 14:11
ledia:可以請問有什麼突破嗎? 我倒是都沒怎麼聽說 @@ 04/20 14:11
terrorlone:而使得一些極度荒唐的長程錯誤不會在電腦上出現 04/20 14:12
ledia:邏輯推理不是憑空而來的吧 04/20 14:12
terrorlone:例如讓電腦知道判斷什麼叫「觀廁所」的狀況 04/20 14:12
ledia:如果只是人類經驗, 那也一樣會有視野效應 04/20 14:12
terrorlone:問題是現在電腦的視野效應明顯地太嚴重了 04/20 14:13
ledia:畢竟最主要的問題在評分函數不夠完善 04/20 14:13
terrorlone:一些在人類看來極度明顯的封鎖線防禦電腦卻看不出來 04/20 14:13
ledia:怎麼改大架構都不會變, 改動也只是在改評分函式而已 04/20 14:14
terrorlone:評分函數再怎麼改良也不及人類的思考能力的 04/20 14:14
terrorlone:因為人類最重要的不是按照公式去評估局面,而是加上推 04/20 14:14
terrorlone:理的成分在裡頭,這是現在最需要教導電腦的 04/20 14:15
ledia:當然呀, 因為電腦棋類最主要就是在把人類知識化成評分函式呀 04/20 14:15
ledia:人類不可能賦予更多的知識, 只能期望電腦在得到一部份的知 04/20 14:15
terrorlone:光是那樣做會沒完沒了,還不如設計邏輯引擎出來 04/20 14:16
ledia:識之後, 利用電腦的強項: 運算, 能夠比人類更快找到答案 04/20 14:16
terrorlone:這個就是現在最新的設計概念之一 04/20 14:16
ledia:不不, 你不需要把 "所有" 知識都給它, 它就有機會能贏你了 04/20 14:17
ledia:不是吧 從最一開始就是在做這件事呀, 有什麼新的觀念 @@? 04/20 14:17
terrorlone:你如果只是希望電腦贏人類那麼膚淺的話,早就已經辦到 04/20 14:17
ledia:所以我說看電腦西洋棋沒意思啦 XD 04/20 14:18
terrorlone:你真的知道我說的邏輯引擎是什麼東西嗎? 04/20 14:18
ledia:你先把電腦棋類在做什麼弄懂吧 @@|| 04/20 14:18
terrorlone:那是一種從目標作為導向、逆向搜尋這個目標所需的條件 04/20 14:19
ledia:那個很早就有在做啦 ^^| 04/20 14:19
ledia:這種方法用在電腦棋類上最大的問題 04/20 14:19
terrorlone:然後在用樹狀結構交叉比對出可以從現在局面達成的策略 04/20 14:20
terrorlone:的技巧,這是跟過去的搜尋方法完全相反的方式 04/20 14:20
ledia:就是多目標之千互相矛盾或權重問題的處理 04/20 14:20
ledia:這一點人類始終做不好 ,或是太費力根本沒辦法去做 04/20 14:20
ledia:之間* 04/20 14:21
ledia:圍棋很多人都是用這類的思維切入 04/20 14:21
terrorlone:所以在實作上才需要用新的方式來突破啊 04/20 14:21
ledia:對於西洋棋或象棋類來說, 也許能改善一點點, 但是無法以此 04/20 14:22
ledia:作為主要的運算方式, 因為不夠好 04/20 14:22
terrorlone:無論如何必須要推翻 "Computers don't plan" 的印象 04/20 14:22
ledia:這不是新的方式.... 他也很久了 04/20 14:22
ledia:那也不算 plan, 也只是從寫好的幾種目標找一種來算而已 04/20 14:22
ledia:這根開局資料庫並沒有不一樣, 只是開局是寫死的 04/20 14:23
terrorlone:現在在開發這種程式的時候可不是設定死的目標選項喔 04/20 14:24
ledia:plan 最重要的一點是沒有前提, 就現在的局面制定策略 04/20 14:24
ledia:但是電腦你沒有給他目標, 他就一定不會往這邊算 04/20 14:24
ledia:這是無庸致疑的 04/20 14:24
ledia:不要把電腦能做的事想得這麼神 04/20 14:25
ledia:電腦棋類退一百步講, 也只是你教他怎麼下, 他照著下而已 04/20 14:25
ledia:只是人類的教材和電腦的特性, 目前只對西洋棋做得比較好 04/20 14:26
terrorlone:例如現在不會那麼單純地說目標是一個 fork 或類似的 04/20 14:26
terrorlone:tactics 04/20 14:26
ledia:無論如何, 單目標多目標, 也一定都是之前先設定好的目標 04/20 14:27
terrorlone:而會變成是一種模糊的佈局提升 04/20 14:27
ledia:此外, 你還需要讓電腦知道符合什麼條件才能用什麼策略 04/20 14:27
ledia:他不會無端或是模糊沒有任何條件之下自己下決定 04/20 14:27
terrorlone:但是到底何謂提升,就是讓電腦根據局面來個別判斷 04/20 14:27
terrorlone:當然你硬要說這也是一種既定寫好的目標我也沒話說 04/20 14:28
ledia:電腦不會 "自己" 判定 04/20 14:28
ledia:無論什麼行為都是程式設計師先寫好的 04/20 14:28
terrorlone:但是問題是這樣的一種構想實現了沒?還沒嘛 04/20 14:28
ledia:你當然沒話說.... 我寫電腦棋類的程式可沒辦法這樣變魔術XD 04/20 14:29
terrorlone:到現在的西洋棋引擎都還只是狂拼選擇性搜尋的能力而已 04/20 14:29
ledia:實現啦, 很多人都有用 goal-oriented search 呀 04/20 14:29
ledia:只是用的比重多少或是效果好不好的差異而已 04/20 14:29
terrorlone:有哪一個引擎已經把這樣的技巧真正實作出來?沒有吧 04/20 14:30
ledia:但是拼搜尋就夠贏人腦啦 04/20 14:30
ledia:我倒要問問哪一個沒有 ? XD 04/20 14:30
ledia:你舉一個出來, 最好是有 open-source 的, 我可以去驗證 04/20 14:30
terrorlone:Deep Junior 哪邊有用這個方法在做? 04/20 14:31
ledia:哪邊可以下載 Deep Junior 的 code 嗎? XD 04/20 14:33
terrorlone:你也不用這麼麻煩,你給我一篇文章真的談論到 goal 04/20 14:34
terrorlone:oriented search 的完整實作,我就閉嘴 04/20 14:35
terrorlone:那樣也未嘗不好,至少我可以不用浪費時間做重複的研究 04/20 14:39
terrorlone:但你總得要讓我看到真的我想做的東西已經被做出來了 04/20 14:40
ledia:ok, 那請問為了讓電腦 favor 當頭炮, 所以讓有這個型式出現 04/20 14:44
ledia:時會加分, 算是 goal-oriented search 嗎? XD 04/20 14:44
ledia:如果會的話.... 有在做象棋的應該都會有 XD 04/20 14:44
terrorlone:當然不算,那只是一種評分函數而已 04/20 14:45
ledia:那要怎樣才算 ? 那也是設定一個 goal 讓程式決定要不要做呀 04/20 14:48
terrorlone:那樣的程式如果在搜尋深度之內找不到當頭炮就不會管它 04/20 14:49
terrorlone:但真正的 GOS 應該要分析構成當頭炮的邏輯要件 04/20 14:49
terrorlone:然後逆向繼續推理出逐步實現的要件 04/20 14:50
terrorlone:將每一個小策略存在記憶體當中,等到他們能夠被串連 04/20 14:51
terrorlone:之後一口氣發動非常長遠的當頭炮計畫 04/20 14:52
ledia:這樣你的深度一樣不會夠 @@||| 04/20 14:53
ledia:同樣計算能力的電腦, 有什麼道理一種方法看得到一種看不到 04/20 14:53
ledia:search space 是一樣大的, 除非你不管其它分支算出來的結果 04/20 14:54
terrorlone:理由就是在於搜尋的時候沒有考慮到邏輯因素的存在 04/20 14:54
ledia:我以為 goal-oriented 也是會受搜尋深度影響的 @@ 04/20 14:54
terrorlone:如果你用正向搜尋,就算你選擇性搜尋的技巧再怎麼好 04/20 14:55
ledia:不會因為邏輯對了, 就不需要把全部的東西 full search 完呀 04/20 14:55
terrorlone:也不可能把路線窄化到只剩一線,但是 GOS 可以 04/20 14:55
ledia:我認為學理上不可能, 不過這是題外話, 回原本的討論 04/20 14:56
terrorlone:因為目標就是那麼樣地明確,絕無分支 04/20 14:56
ledia:我對 GOS 有誤解, 所以大概找不到有這麼做的程式 04/20 14:56
ledia:不過我認為想法是對的, 但是如果設定的目標太遠 04/20 14:57
ledia:仍然是搜不完的, 不會因為被化成小目標, 搜尋量就減少 04/20 14:57
terrorlone:別說你找不到,我也一樣找不到啊,而就是這樣才要做嘛 04/20 14:57
ledia:因為這些目標的搜尋數量是要用乘的 ,不是用加的 04/20 14:57
ledia:嗯... 那我只能祝你好運了 ^^| 04/20 14:58
ledia:我想別人有想過卻沒做過一定有其原因, 也許你看見了別人想不 04/20 14:58
ledia:到的東西, 所以我並無惡意, 但是這麼做是辛苦的, 你要有心 04/20 14:59
ledia:理準備.... 04/20 14:59
terrorlone:搜尋量會差非常多,而且下出來的棋步會更合乎棋理 04/20 14:59
ledia:搜尋數量會變很多意謂時間內算不完.... 04/20 15:00
terrorlone:沒有做的原因,其實你剛才已經講過了 04/20 15:00
ledia:但是變合理, 在正確處理單一 goal 之後, 你還要處理多個 04/20 15:00
ledia:goal 之間的權重問題, 互相矛盾的問題 04/20 15:01
terrorlone:就是因為很難把邏輯規則制定出來,以及目標的權重問題 04/20 15:01
ledia:嗯, search space 這一點得要先解決, 我想這個只有真的做下 04/20 15:01
terrorlone:這絕對是需要再投注更多研究才能實現的 04/20 15:01
ledia:去才會有感覺, 權重問題可以花時間慢慢找方法調整 04/20 15:02
terrorlone:所以你跟我說早就已經有人做,我真的有點傻眼 04/20 15:02
ledia:先過了第一關再說 XD 04/20 15:02
ledia:我說的應該只能算 goal-oriented heuristic 吧 04/20 15:03
ledia:只是一些加分或是好處引誘電腦去執行 04/20 15:03
ledia:電腦發現不可行, 或短時間發現執行不了也不會去做 04/20 15:04
ledia:但是電腦短時間會發現執行不了, 很難改變邏輯就讓它發現 04/20 15:04
ledia:可以執行就是了 ^^| 04/20 15:04
terrorlone:你說的沒錯,因此整個設計的概念要有很大的改變才行 04/20 15:05
terrorlone:我看這個問題討論到這邊應該也差不多了,不妨先歇會 04/20 15:10
terrorlone:試試看我在這邊貼的其他謎題吧,我相信你會有興趣的 ^^ 04/20 15:11