Classification of Sudoku solving algorithm
- The first three "Single, LockedCandidate, LockedSet" are basic methods, and are completed with these.
- Fish is a way to become a species that develops into various methods. Fish contains important concepts for constructing Sudoku algorithm. For example, "BaseSet and CoverSet", "Overlap", "Rank" etc.
- As the name suggests, ALS is a state that becomes a "LockedSet" when some elements are removed.
There are many types of Sudoku algorithms that use ALS. Since there are many ALS on the board, it is useful as a solution. It is difficult to find it manually, but it is easy to find it programmatically. -
Link is a state in which Fin is added to a group of Locked cells.
Links come in various forms, such as cell-to-cell, cell-to-ALS, ALS-ALS, and ALS-AIC.
Multiple links can be combined and connected to create various solution algorithms.
GNPX_v5 has reformatted the Link expression to make it easier to extend. There will be further restructuring in v6. - SueDeCoq reinterpreted it as a combination logic of AnLS and ALS. The conditions for the solution have been expanded.
- There are two ways to connect links: radially connecting from the starting point to other cells/numbers, and returning to the starting point to form a loop.
- ForceChain is an algorithm that uses link concatenation (intercell links, AIC, ALS links).
A powerful method that uses spillover exploration and history management.
Force-based algorithms are based on the following logic.- A set X has one element true and the rest false. Which element is true is undetermined.
- A chain that starts with a true element determines the true/false of the elements led by the concatenation.
- In a chain starting with false element, the value of the derived element is uncertain (it can be true or false).
- For a chain that starts by assuming each element of set X to be true, if the truth value of element A that all chains lead to is the same(all true or all false), the truth of element A is determined.
- In a chain that starts by assuming that one element B of set X is true, the starting element B is determined to be false if multiple roots lead to unequal truth values for element C(true and false).
- Subset Exclusion
- Firework
- Exocet
GeneralLogic
All Sudoku solving algorithms shown in the table above can be expressed as "GeneralLogic".
This is a method to exclude logically inconvenient (unlikely) candidates
from the coverage of BaseSet and CoverSet.
It is relatively easy to reinterpret the results solved by the algorithm of the conventional method
with BaseSet and CoverSet.
However, in a naive way, "GeneralLogic" is not very efficient at solving Sudoku, so it is not a practical algorithm.
Continue development? Resistance is futile?