Re: [請益] 解數獨之技巧

看板puzzle作者 (望月無願)時間18年前 (2006/09/14 01:25), 編輯推噓7(705)
留言12則, 7人參與, 最新討論串2/3 (看更多)
※ 引述《GATINHA (用生命愛保齡球與肚皮舞)》之銘言: : 昨晚第一次玩數讀。不過我是買書局賣的一本一本的。 : 買的是日本格林出品,上面寫著正宗數獨發源地正版授權。 : 沒想到easy level,我還有辦法解。 : 但到medium level,就解得很辛苦... : 有時提示的數字真的無法猜出其中空格能填什麼。 : 要不然就是先填了一個數,到後面有些地方就因那個數字,而無法填下去。 : 想請問數獨高手們,解數獨,是否有什麼技巧呢?? : 謝謝!! 我最難解過黑色那本的第99題...而且沒有用到Try and error 也就是所謂試誤法 很早以前我注意到捷運上有人在玩數獨的時候 當時的人解法大多都是從數字比較密集的地方下手,然後小小列出各格的可能數字 之後再用四面八方的條件限制來搞刪去法,最後就會得到一個又一個的確定值 但是我個人覺得這是沒有辦法中的辦法,僅次於Try and error的最終次要手段 也許我的想法跟刪去的方式大同小異,但在我的本子上很少會看到小數字的 就拿我手邊的格林第5本的第25題(medium無汗滴)來做例子ꘊ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗ 首先大致觀察一下每種數字的個數 ║ │ │ ║ │ │ ║ │ │ ║ 一般從數量多或者位置較有利的下手 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │2│ ║8│ │ ║6│ │5║ 1:三個 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 2:四個 ║ │4│8║6│ │ ║2│7│1║ 3:三個 ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 4:兩個 ║ │1│ ║2│ │ ║3│ │4║ 5:三個 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 6:四個 ║ │ │ ║ │ │ ║ │ │ ║ 7:三個 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 8:四個 ║5│ │6║ │ │7║ │8│ ║ 9:一個 ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ │ │5║1│6│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │ │ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗ ║ │ │ ║ │ │ ║x│x│║  ╟─┼─┼─╫─┼─┼─╫↑┼↑┼─╢  ║ │2│ ║8│ │ ║6│x│5║ 利用已知數字的位置關係做尋找 ╟─┼─┼─╫─┼─┼─╫↑┼↑┼─╢  ║ │4│8║6│ │ ║2│7│1║ 9個數字彼此並沒有順序性,不妨先鎖定3 ╠═╪═╪═╬═╪═╪═╬↑╪↑╪═╣  ║ │1│ ║2│ │ ║3│ │4║ 注意右邊的三個九宮格,下面兩個3往上推 ╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢  ║ │ │ ║ │ │ ║ │ │ ║ 可以限制住右上九宮格中,3的位置 ╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢  ║5│ │6║ │ │7║ │8│ ║ 這樣就輕鬆找出一個3了 ╠═╪═╪═╬═╪═╪═╬═╪↑╪═╣ ║3│9│7║ │ │5║1│6│ ║ ╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │ │ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║ │ │ ║ │ │ ║ │ │3║ 依序,我們可以照這種方式 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │2│ ║8│ │ ║6│ │5║ 再推出一個6 ╟─┼─┼─╫─┼─┼─╫↓┼─┼─╢  ║ │4│8║6│ │ ║2│7│1║  ╠═╪═╪═╬═╪═╪═╬↓╪═╪═╣  ║ │1│ ║2│ │ ║3│x│4║  ╟─┼─┼─╫─┼─┼─╫↓┼↑┼─╢  ║ │ │ ║ │ │ ║x│x│║  ╟─┼─┼─╫─┼─┼─╫↓┼↑┼─╢  ║5│ │6→ → →7→x→8→x║  ╠═╪═╪═╬═╪═╪═╬═╪↑╪═╣ ║3│9│7║ │ │5║1│6│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │ │ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗ 接著是兩個8... ║ │ │ ║ │ │ ║│x│3║ ╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢ ║ │2│ ║8│ │ ║6│x│5║  ╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢  ║ │4│8║6│ │ ║2│7│1║  ╠═╪═╪↓╬═╪═╪═╬═╪↑╪═╣  ║x│1│x║2│ │ ║3│ │4║  ╟↑┼─┼↓╫─┼─┼─╫─┼↑┼─╢  ║x││x║ │ │ ║ │ │6║  ╟↑┼─┼─╫─┼─┼─╫─┼↑┼─╢  ║5│x←6← ← ←7← ←8│ ║  ╠↑╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ │ │5║1│6│ ║ ╟↑┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │ │ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║ ││ ║ │ │ ║8│ │3║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 依照7、5、2的順序 ║ │2│ ║8││ ║6│ │5║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 以及同樣的直橫交錯九宮限制法 ║ │4│8║6│ │ ║2│7│1║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 就可以解出大量的數字 ║│1│ ║2│ │ ║3│ │4║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║ │8│ ║ │ │ ║│ │6║ 首先是7 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║5│ │6║ │ │7║ │8│ ║ 這裡就不提供像上面的箭頭及順序了 ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ │ │5║1│6│ ║ 請自己想像 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │ │ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║ │7│║ │ │║8│ │3║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 接著推出各個5,再來是2 ║ │2│ ║8│7│ ║6│ │5║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║ │4│8║6││ ║2│7│1║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣  ║7│1│ ║2│ │ ║3││4║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║│8│ ║│ │ ║7│ │6║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║5│ │6║ │ │7║ │8│║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ ││5║1│6│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ ││ ║ ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║ │7│5║ │ │2║8│ │║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 先前已經檢驗過一次的3, ║ │2│║8│7│ ║6│ │5║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 因為現在很多格子的限制變嚴格了 ║ │4│8║6│5│║2│7│1║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 又可以回頭檢驗3在各九宮格中的限制 ║7│1│ ║2│ │ ║3│5│4║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║2│8│ ║5│ │ ║7│ │6║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║5││6║ │ │7║ │8│2║ 接下來就輕鬆了,因為很多直橫行  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ │2│5║1│6│ ║ 甚至是九宮格內的未知數字都降到三個以下 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║ 甚至僅剩一個未知數的 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │2│ ║ 找數字的速度會加快很多 ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║ │7│5║ │ │2║8│ │3║ 進入中後盤,從剩餘空格不大於三個的 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │2│3║8│7│ ║6│ │5║ 開始找起 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║│4│8║6│5│3║2│7│1║ 看看是否有空缺的數字 ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣  ║7│1│║2│ │ ║3│5│4║ 來藉由推導位置法 限制出答案來 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║2│8│║5│ │ ║7││6║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║5│3│6║ │ │7║│8│2║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ ║3│9│7║ │2│5║1│6│ ║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│ │2║ │ │1║ │3│ ║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║ │ │ ║ │ │ ║ │2│ ║  ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- ╔═╤═╤═╦═╤═╤═╦═╤═╤═╗  ║6│7│5║9│1│2║8│4│3║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║1│2│3║8│7│4║6│9│5║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢  ║9│4│8║6│5│3║2│7│1║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 最終盤就是一些零碎的小整理了 ║7│1│9║2│8│6║3│5│4║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 難度會隨著數字的減少而降低 ║2│8│4║5│3│9║7│1│6║  ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 左邊是參考解答 ║5│3│6║1│4│7║9│8│2║  ╠═╪═╪═╬═╪═╪═╬═╪═╪═╣  ║3│9│7║4│2│5║1│6│8║ 寫這篇文章之前,我大概用了5分鐘左右 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║8│5│2║7│6│1║4│3│9║ 解過這一題了 ╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ ║4│6│1║3│9│8║5│2│7║ 剩下的零碎數字用你自己的解法應該可以吧 ╚═╧═╧═╩═╧═╧═╩═╧═╧═╝ -- 呼 好累 明天可以晚起也不是這樣虛耗的XD -- =頭文字D Arcade Ver.3= ID :ムガン 車種:Toyota MR-2 G-Limited [sw20] (黑) 積分:480萬 對戰Lv.19,走り屋Lv.16 home course:秋名(下り),time attack 3'03"693 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.235.153 ※ 編輯: gwendless 來自: 61.216.235.153 (09/14 03:09)

09/14 04:56, , 1F
未看完先推一個 XDXDXDDDDDD 望月玩遊戲都好認真!!!
09/14 04:56, 1F

09/14 09:59, , 2F
跟我的方法一樣~我也從來沒在旁邊註記小數字
09/14 09:59, 2F

09/14 11:51, , 3F
裏A這麼晚都還沒睡阿XD
09/14 11:51, 3F

09/14 21:54, , 4F
我是到中級有一滴汗滴,就開始很辛苦了..
09/14 21:54, 4F

09/14 21:55, , 5F
要不然就是一堆空格,又沒重覆數字,很難推得出來..>"<
09/14 21:55, 5F

09/15 09:27, , 6F
看完這篇才發現~原來我的解法是沒辦法中的辦法..XD..學起來
09/15 09:27, 6F

09/16 22:21, , 7F
這方法真快耶...
09/16 22:21, 7F

09/26 00:47, , 8F
我也從未用Try and Error,我甚至認為絕對不會用到這個方法
09/26 00:47, 8F

09/26 00:48, , 9F
因為'數獨'是唯一解, 所以應該不會用猜的方式來解
09/26 00:48, 9F

09/26 00:50, , 10F
不過沒辦法證明此論點~ 不過我曾試著用程式,也就是所謂的AI
09/26 00:50, 10F

09/26 00:51, , 11F
來算出解, 不過最近小忙所以懶~ 不過如何設計題目, 似乎也蠻
09/26 00:51, 11F

09/26 00:52, , 12F
有趣的~ 有空來想想~ :D
09/26 00:52, 12F
文章代碼(AID): #1523xovc (puzzle)
討論串 (同標題文章)
文章代碼(AID): #1523xovc (puzzle)