bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-apl] Dudoku Solver/Generator V0.1 to test, using Quad-DLX


From: Christian Robert
Subject: [Bug-apl] Dudoku Solver/Generator V0.1 to test, using Quad-DLX
Date: Fri, 2 Dec 2016 21:45:49 -0500
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

Here it is for anyone to test. (XSudoku.xml attached to this email)

Test it for me please and report any bug directly to me (unless it's bug-apl 
general purpose issue).

if a variable name "DEBUG" exist then the "Gengrid" function will show progress.
if you )erase DEBUG, no progress is showed

3 main functions exist:

1)    z←Display s                              // Display a 9x9 sudoku where 
zeroes mean blank cell

2)    z←Solve s                                // Solve   a 9x9 sudoku where 
zeroes mean blank cell

3)    z←[maxtime] Gengrid min_non_empty_cells  // Generate a sudoku within time 
limit maxtime (in seconds) or min_non_empty_cells





      )vars
DEBUG   SamplesEasy     SamplesHard     SamplesMedium   StarBurst

      S←{(Display ⍵) (Display Solve ⍵)}


      S ¨ SamplesEasy
  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
  ║ 5 │   │ 2 ║ 6 │ 1 │ 3 ║ 9 │   │ 8 ║  ║ 5 │ 4 │ 2 ║ 6 │ 1 │ 3 ║ 9 │ 7 │ 8 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 3 │ 6 ║ 7 │   │   ║   │   │   ║  ║ 1 │ 3 │ 6 ║ 7 │ 8 │ 9 ║ 2 │ 4 │ 5 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 8 │ 9 ║ 2 │   │   ║   │   │   ║  ║ 7 │ 8 │ 9 ║ 2 │ 4 │ 5 ║ 1 │ 3 │ 6 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │   ║ 8 │ 9 │ 4 ║   │ 6 │   ║  ║ 2 │ 1 │ 5 ║ 8 │ 9 │ 4 ║ 7 │ 6 │ 3 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 7 ║ 3 │   │   ║ 5 │   │ 4 ║  ║ 8 │ 9 │ 7 ║ 3 │ 2 │ 6 ║ 5 │ 1 │ 4 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │   ║   │   │ 7 ║ 8 │   │ 9 ║  ║ 3 │ 6 │ 4 ║ 1 │ 5 │ 7 ║ 8 │ 2 │ 9 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │ 3 ║ 5 │   │   ║   │ 9 │ 1 ║  ║ 6 │ 2 │ 3 ║ 5 │ 7 │ 8 ║ 4 │ 9 │ 1 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 4 │   │ 1 ║ 9 │ 3 │ 2 ║   │   │ 7 ║  ║ 4 │ 5 │ 1 ║ 9 │ 3 │ 2 ║ 6 │ 8 │ 7 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 9 │   │ 8 ║   │   │ 1 ║   │   │ 2 ║  ║ 9 │ 7 │ 8 ║ 4 │ 6 │ 1 ║ 3 │ 5 │ 2 ║
  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝
  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
  ║ 3 │ 5 │   ║   │ 2 │ 8 ║   │   │ 4 ║  ║ 3 │ 5 │ 7 ║ 9 │ 2 │ 8 ║ 1 │ 6 │ 4 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 4 ║ 5 │   │ 7 ║   │   │   ║  ║ 1 │ 2 │ 4 ║ 5 │ 6 │ 7 ║ 3 │ 8 │ 9 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 6 │ 8 │ 9 ║ 1 │   │ 3 ║   │ 5 │   ║  ║ 6 │ 8 │ 9 ║ 1 │ 4 │ 3 ║ 2 │ 5 │ 7 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║ 2 │ 6 │   ║   │   │   ║ 9 │ 3 │   ║  ║ 2 │ 6 │ 1 ║ 7 │ 5 │ 4 ║ 9 │ 3 │ 8 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 7 │   │   ║   │ 3 │   ║   │   │ 5 ║  ║ 7 │ 9 │ 8 ║ 2 │ 3 │ 6 ║ 4 │ 1 │ 5 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 4 │ 3 │ 5 ║   │   │   ║ 7 │   │ 6 ║  ║ 4 │ 3 │ 5 ║ 8 │ 1 │ 9 ║ 7 │ 2 │ 6 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │   ║ 3 │   │   ║ 6 │ 7 │   ║  ║ 8 │ 4 │ 2 ║ 3 │ 9 │ 5 ║ 6 │ 7 │ 1 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 1 │ 6 ║   │   │ 2 ║   │   │ 3 ║  ║ 5 │ 1 │ 6 ║ 4 │ 7 │ 2 ║ 8 │ 9 │ 3 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 3 ║ 6 │ 8 │ 1 ║ 5 │   │   ║  ║ 9 │ 7 │ 3 ║ 6 │ 8 │ 1 ║ 5 │ 4 │ 2 ║
  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝
  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
  ║   │ 1 │ 2 ║   │   │   ║   │ 7 │   ║  ║ 4 │ 1 │ 2 ║ 5 │ 3 │ 9 ║ 6 │ 7 │ 8 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 3 │ 5 │   ║ 1 │   │   ║   │ 4 │ 9 ║  ║ 3 │ 5 │ 6 ║ 1 │ 7 │ 8 ║ 2 │ 4 │ 9 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 9 ║ 2 │   │ 6 ║ 3 │ 5 │   ║  ║ 7 │ 8 │ 9 ║ 2 │ 4 │ 6 ║ 3 │ 5 │ 1 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │ 3 ║ 7 │ 8 │   ║ 9 │   │   ║  ║ 1 │ 4 │ 3 ║ 7 │ 8 │ 2 ║ 9 │ 6 │ 5 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 5 ║   │ 1 │ 3 ║   │   │ 4 ║  ║ 6 │ 7 │ 5 ║ 9 │ 1 │ 3 ║ 8 │ 2 │ 4 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 2 │   │   ║ 4 │ 6 │ 5 ║ 1 │ 3 │   ║  ║ 2 │ 9 │ 8 ║ 4 │ 6 │ 5 ║ 1 │ 3 │ 7 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║ 5 │   │ 1 ║   │   │   ║ 7 │   │   ║  ║ 5 │ 3 │ 1 ║ 8 │ 2 │ 4 ║ 7 │ 9 │ 6 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 9 │   │ 7 ║ 3 │   │   ║   │ 8 │   ║  ║ 9 │ 6 │ 7 ║ 3 │ 5 │ 1 ║ 4 │ 8 │ 2 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 2 │   ║ 6 │ 9 │   ║   │ 1 │   ║  ║ 8 │ 2 │ 4 ║ 6 │ 9 │ 7 ║ 5 │ 1 │ 3 ║
  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝
  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
  ║   │   │ 9 ║   │   │ 3 ║ 2 │ 7 │ 5 ║  ║ 4 │ 1 │ 9 ║ 8 │ 6 │ 3 ║ 2 │ 7 │ 5 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 2 │   │ 5 ║ 4 │ 7 │ 9 ║ 1 │ 6 │ 8 ║  ║ 2 │ 3 │ 5 ║ 4 │ 7 │ 9 ║ 1 │ 6 │ 8 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 6 │ 7 │ 8 ║ 2 │   │ 1 ║   │   │ 9 ║  ║ 6 │ 7 │ 8 ║ 2 │ 5 │ 1 ║ 3 │ 4 │ 9 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │ 2 ║ 7 │   │   ║   │   │   ║  ║ 1 │ 8 │ 2 ║ 7 │ 3 │ 6 ║ 9 │ 5 │ 4 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 9 │ 7 ║ 1 │   │   ║ 6 │   │   ║  ║ 5 │ 9 │ 7 ║ 1 │ 8 │ 4 ║ 6 │ 2 │ 3 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 3 │ 4 │   ║   │ 2 │   ║ 8 │ 1 │   ║  ║ 3 │ 4 │ 6 ║ 9 │ 2 │ 5 ║ 8 │ 1 │ 7 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │   ║   │   │   ║ 7 │   │   ║  ║ 9 │ 5 │ 1 ║ 3 │ 4 │ 2 ║ 7 │ 8 │ 6 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │ 6 │ 3 ║ 5 │   │ 8 ║   │ 9 │   ║  ║ 7 │ 6 │ 3 ║ 5 │ 1 │ 8 ║ 4 │ 9 │ 2 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │   ║   │   │ 7 ║   │ 3 │   ║  ║ 8 │ 2 │ 4 ║ 6 │ 9 │ 7 ║ 5 │ 3 │ 1 ║
  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝
  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
  ║ 5 │   │   ║   │   │ 3 ║   │   │   ║  ║ 5 │ 9 │ 1 ║ 7 │ 8 │ 3 ║ 2 │ 6 │ 4 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 2 │   │   ║   │   │ 9 ║ 1 │ 7 │ 8 ║  ║ 2 │ 3 │ 4 ║ 5 │ 6 │ 9 ║ 1 │ 7 │ 8 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║   │   │ 8 ║ 2 │   │ 1 ║   │   │ 9 ║  ║ 6 │ 7 │ 8 ║ 2 │ 4 │ 1 ║ 3 │ 5 │ 9 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║   │   │   ║ 8 │   │   ║   │ 4 │   ║  ║ 1 │ 2 │ 9 ║ 8 │ 3 │ 5 ║ 7 │ 4 │ 6 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 8 │   │ 6 ║ 1 │ 7 │   ║ 9 │ 2 │   ║  ║ 8 │ 5 │ 6 ║ 1 │ 7 │ 4 ║ 9 │ 2 │ 3 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 3 │ 4 │ 7 ║   │ 2 │   ║   │   │ 5 ║  ║ 3 │ 4 │ 7 ║ 9 │ 2 │ 6 ║ 8 │ 1 │ 5 ║
  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
  ║ 4 │ 1 │   ║   │ 9 │   ║   │ 8 │   ║  ║ 4 │ 1 │ 3 ║ 6 │ 9 │ 2 ║ 5 │ 8 │ 7 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 9 │   │   ║   │ 1 │   ║   │ 3 │ 2 ║  ║ 9 │ 8 │ 5 ║ 4 │ 1 │ 7 ║ 6 │ 3 │ 2 ║
  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
  ║ 7 │   │ 2 ║ 3 │ 5 │   ║ 4 │   │ 1 ║  ║ 7 │ 6 │ 2 ║ 3 │ 5 │ 8 ║ 4 │ 9 │ 1 ║
  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝


      S StarBurst
 ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗  ╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗
 ║ 9 │   │   ║ 1 │   │ 4 ║   │   │ 2 ║  ║ 9 │ 5 │ 7 ║ 1 │ 8 │ 4 ║ 3 │ 6 │ 2 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║   │ 8 │   ║   │ 6 │   ║   │ 7 │   ║  ║ 2 │ 8 │ 1 ║ 9 │ 6 │ 3 ║ 4 │ 7 │ 5 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║   │   │   ║   │   │   ║   │   │   ║  ║ 6 │ 4 │ 3 ║ 7 │ 2 │ 5 ║ 1 │ 9 │ 8 ║
 ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
 ║ 4 │   │   ║   │   │   ║   │   │ 1 ║  ║ 4 │ 9 │ 6 ║ 3 │ 5 │ 7 ║ 8 │ 2 │ 1 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║   │ 7 │   ║   │   │   ║   │ 3 │   ║  ║ 8 │ 7 │ 5 ║ 4 │ 1 │ 2 ║ 9 │ 3 │ 6 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║ 3 │   │   ║   │   │   ║   │   │ 7 ║  ║ 3 │ 1 │ 2 ║ 8 │ 9 │ 6 ║ 5 │ 4 │ 7 ║
 ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣  ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣
 ║   │   │   ║   │   │   ║   │   │   ║  ║ 7 │ 2 │ 9 ║ 5 │ 4 │ 8 ║ 6 │ 1 │ 3 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║   │ 3 │   ║   │ 7 │   ║   │ 8 │   ║  ║ 5 │ 3 │ 4 ║ 6 │ 7 │ 1 ║ 2 │ 8 │ 9 ║
 ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢  ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢
 ║ 1 │   │   ║ 2 │   │ 9 ║   │   │ 4 ║  ║ 1 │ 6 │ 8 ║ 2 │ 3 │ 9 ║ 7 │ 5 │ 4 ║
 ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝  ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝
      )fns
Display     GenRCD  Gengrid     OneRCD  S   Solve df
      )vars
DEBUG   SamplesEasy     SamplesHard     SamplesMedium   StarBurst
      )save
2016-12-02  21:19:49 (GMT-5) XSudoku
      )off

See attached workspace ...

Xtian.

Attachment: XSudoku.xml
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]