解數獨之技巧 - 數獨

Table of Contents

※ 引述《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

--

All Comments

Blanche avatarBlanche2006-09-18
未看完先推一個 XDXDXDDDDDD 望月玩遊戲都好認真!!!
Regina avatarRegina2006-09-20
跟我的方法一樣~我也從來沒在旁邊註記小數字
Jacky avatarJacky2006-09-22
裏A這麼晚都還沒睡阿XD
Annie avatarAnnie2006-09-25
我是到中級有一滴汗滴,就開始很辛苦了..
Jack avatarJack2006-09-29
要不然就是一堆空格,又沒重覆數字,很難推得出來..>"<
Jacky avatarJacky2006-09-30
看完這篇才發現~原來我的解法是沒辦法中的辦法..XD..學起來
Hedy avatarHedy2006-09-30
這方法真快耶...
Adele avatarAdele2006-10-01
我也從未用Try and Error,我甚至認為絕對不會用到這個方法
Bethany avatarBethany2006-10-01
因為'數獨'是唯一解, 所以應該不會用猜的方式來解
Jake avatarJake2006-10-05
不過沒辦法證明此論點~ 不過我曾試著用程式,也就是所謂的AI
Leila avatarLeila2006-10-05
來算出解, 不過最近小忙所以懶~ 不過如何設計題目, 似乎也蠻
Charlotte avatarCharlotte2006-10-09
有趣的~ 有空來想想~ :D