---
title: "電腦如何解數獨：從回溯法到 DLX | Sudoku Flow"
description: "數獨求解程式如何運作：回溯法、以高德納的舞蹈鏈（Dancing Links）處理的精確覆蓋，以及模仿人類思路、以技巧說明每一步的求解器。"
url: https://sudokuflow.com/zh-hant-hk/encyclopedia/computers/
language: zh-Hant-HK
last_modified: 2026-10-05
---

[數獨百科](https://sudokuflow.com/zh-hant-hk/encyclopedia/) · 數學與電腦

# 電腦如何解數獨

更新於2026-10-05

## 快速解答

回溯法是程式解數獨的常見方法：填入一個數字，只要仍符合規則便繼續，若沒有數字可填就撤銷先前的某個選擇。高德納（Donald Knuth）的 X 演算法配合舞蹈鏈（Dancing Links），將回溯法應用於謎題的精確覆蓋模型。模仿人類思路的提示引擎運作方式不同：它們會以具名的技巧解釋每一步。

## 回溯法

求解程式在一個空格中嘗試填入一個合法數字，然後繼續。如果沒有任何數字能得出解答，就撤銷先前的某個選擇，改試另一個。先選擇可填數字最少的格子，往往能大大縮短搜尋過程。

資料來源: [Wikipedia: Sudoku solving algorithms](https://en.wikipedia.org/wiki/Sudoku_solving_algorithms), [Peter Norvig: Solving Every Sudoku Puzzle](https://www.norvig.com/sudoku.html)

## 精確覆蓋與舞蹈鏈

數獨可以改寫成精確覆蓋問題：選出一組填法，使每個格子，以及每一行、每一列和每一宮中的每個數字，都恰好被覆蓋一次。高德納在2000年11月的一篇論文中描述了舞蹈鏈（Dancing Links），這是執行其回溯式 X 演算法的一種高效方法；將它應用於數獨的精確覆蓋模型，便能迅速找出一道謎題的所有解。

資料來源: [Wikipedia: Sudoku solving algorithms](https://en.wikipedia.org/wiki/Sudoku_solving_algorithms), [Knuth, Dancing links (arXiv cs/0011047, 2000)](https://arxiv.org/abs/cs/0011047)

## 隨機搜尋

有些程式會先隨機填滿網格，再調換數字以減少衝突的數目，所用方法包括模擬退火或遺傳演算法。這些方法曾作為替代途徑受到研究；成效如何，取決於程式和謎題本身。

資料來源: [Wikipedia: Sudoku solving algorithms](https://en.wikipedia.org/wiki/Sudoku_solving_algorithms)

## 像人一樣思考的求解器

提示引擎的任務不同：不只是找出答案，而是展示一個人能跟着做的下一步。我們應用程式的引擎按固定次序嘗試各種人類技巧，從最簡單的（例如隱性唯一數）到最困難的（例如鏈和幾乎鎖定集），並採用第一個能填出數字的技巧；較難的技巧則是透過先排除候選數來運作。它在一道謎題中用到的最難技巧，決定了該謎題在應用程式中的等級。

資料來源: [每個數獨難度等級，要你懂甚麼](https://sudokuflow.com/zh-hant-hk/data/sudoku-difficulty-levels/)

## 另見

- [數獨檢查工具](https://sudokuflow.com/zh-hant-hk/tools/sudoku-checker/)
- [每個數獨難度等級，要你懂甚麼](https://sudokuflow.com/zh-hant-hk/data/sudoku-difficulty-levels/)

## Related articles

- [數獨的數學](https://sudokuflow.com/zh-hant-hk/encyclopedia/math/)
- [數獨難度如何評定](https://sudokuflow.com/zh-hant-hk/encyclopedia/difficulty/)
- [數獨規則詳解](https://sudokuflow.com/zh-hant-hk/encyclopedia/rules/)

## 資料來源

- [Wikipedia: Sudoku solving algorithms](https://en.wikipedia.org/wiki/Sudoku_solving_algorithms)
- [Peter Norvig: Solving Every Sudoku Puzzle](https://www.norvig.com/sudoku.html)
- [Knuth, Dancing links (arXiv cs/0011047, 2000)](https://arxiv.org/abs/cs/0011047)
- [每個數獨難度等級，要你懂甚麼](https://sudokuflow.com/zh-hant-hk/data/sudoku-difficulty-levels/)

[所有文章 →](https://sudokuflow.com/zh-hant-hk/encyclopedia/)

![數獨應用程式圖示](https://sudokuflow.com/assets/app-icon.png)

## 想玩更多這類盤面？

我們也製作了一款數獨應用程式，支援 iPhone、iPad、Mac 和 Android。程式內完全沒有廣告，可以離線使用；你要求提示時，它會教你用哪種技巧，而不只是幫你填上一個數字。

[App Store iPhone、iPad、Mac](https://apps.apple.com/app/apple-store/id6502922368?pt=125379530&ct=sudokuflow_web&mt=8) [Google Play Android](https://play.google.com/store/apps/details?id=com.rubigogames.sudoku&referrer=utm_source%3Dsudokuflow%26utm_medium%3Dweb%26utm_campaign%3Dsite)

Sudoku Flow 由 Rubigo Games 製作，也就是本網站推介的數獨應用程式的開發者。
