Arthur Whitney का one-liner Sudoku solver (2011)
(dfns.dyalog.com)Sudoku समस्या हल करने का algorithm
-
Sudoku समस्या का विवरण
- Sudoku puzzle 3×3 grid के 3×3 boxes से बना होता है, और हर cell या तो खाली होता है या उसमें 1 से 9 के बीच का कोई अंक होता है.
- हर 3×3 box, 9 rows, और 9 columns में 9 अंक बिना किसी duplicate के होने चाहिए.
- उदाहरण समस्या और उसे हल करने का तरीका दिया गया है.
-
Algorithm का overview
- Matrix को vector की तरह process करके rows, columns, और Sudoku क्षेत्रों को index vectors के रूप में दिखाया जाता है.
- Puzzle की बुनियादी जांच की जाती है और possible elements को filter करके solution खोजा जाता है.
- अगर cell खाली हो तो अगली list पर जाया जाता है, और अगर cell में कई अंक हो सकते हों तो सबसे संकरे group से चुनकर list में जोड़ा जाता है.
- जब सभी cells में एक-एक अंक तय हो जाता है, तब solution मिल जाता है.
-
Technical notes
- यह solution Veli-Matti Jantunen ने दिया है, और Sudoku rectangle दिखाने के लिए ⍺ का उपयोग किया जा सकता है.
- Result के रूप में सभी solutions का vector, कोई solution न हो तो ⍬, और error हो तो '' लौटाया जाता है.
- Algorithm सरल है: matrix को vector की तरह process करना और possible elements को filter करके solution खोजना.
-
दूसरे approaches
- David Crossley और Arthur Whitney की alternative coding भी दी गई है.
- अलग-अलग coding styles और approaches समझाए गए हैं.
-
उदाहरण और उपयोग
- Sudoku समस्या हल करने के कई उदाहरण दिए गए हैं.
- Sudoku समस्या को आसानी से पढ़ने के लिए internal boxes को अलग करने वाला function भी दिया गया है.
GN⁺ का सार
- Sudoku समस्या हल करने के लिए कई algorithms और coding styles पेश किए गए हैं.
- Sudoku puzzle तार्किक सोच और problem-solving skills को बेहतर बनाने में उपयोगी है.
- अलग-अलग approaches के जरिए problem solving में flexibility बढ़ाई जा सकती है.
- Sudoku जैसी puzzles में Kakuro, KenKen आदि की भी सिफारिश की गई है.
1 टिप्पणियां
Hacker News राय