Algorithm
Each solving algorithm is warped from the left tab
Classification of Sudoku solving algorithm
Classification | Algorithm | Remarks, aliases, etc. |
Single |
Last Digit *** Naked Single *** Hidden Single *** |
|
LockedCandidate | LockedCandidate *** | |
LockedSet | LockedSet *** | 2D-4D |
Fish |
Fish(2D-7D) *** Finned Fish *** Franken/Mutant Fish + Finned F/M Fish + (Finned)Endo Fish (Finned)Canibalism Kraken(Finned)Fish + |
Alias 2D: X-Wing 3D: SwordFish 4D: JellyFish 5D: Squirmbag 6D: Whale 7D: Leviathan |
Link (Link-Chain) |
SkyScraper EmptyRectangle X-Chain ** XY-Chain ** (Multi)Coloring XY-Wing W-Wing RemotePair |
|
SueDeCoq | SueDeCoq ++ | |
ALS (ALS-Chain) |
ALS XZ ALS XY-Wing ALS Chain ** ALS Death Blossom ALS Death BlossomEx |
XYZWing Extension |
NiceLoop |
NiceLoop * Grouped NiceLoop ** + |
|
ForceChain |
ForceChain_Cell * + ForceChain_House * + ForceChain_Contradiction ** ++ |
|
GeneralLogic | GeneralLogic * + |
- 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.
- The next most important are Link and ALS, which are cell group relationships.
These algorithms will not be used alone, but if you combine two or more of them,
it becomes an analysis algorithm (the method shown in the "Type" column of the table).
For example, an algorithm combining Fish with Link is relatively easy to make.
- NiceLoop is also an algorithm that becomes an extension type.
Basic NiceLoop is an algorithm that uses strong/weak links between cells.
it has evolved into a GroupedNiceloop that incorporates AIC, ALS links.
AIC, ALS, and combining those links with Fish are also conceivable.
- ForceChain is an algorithm that uses super link (cell-to-cell link, cell group link, ALS link).
The links are used to build a chain and logically derive the truth of the cell candidates.- 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).
- Finally it is about SueDeCoq. This is a method independent of other methods. And fascinating.
In program creation, i used ALS.
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?