Download A Sudoku Solver In C 1 11 - A Sudoku Solver In C 1 11 Description, A Sudoku Solver In C 1 11 Reviews
Contact
 


 

Download

 
Download Now (27K)
GPL (GNU General Public License)
Downloads till now: 26
 
 

Quick search

 



 

Rate this software

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

No. Votes

0

 

Linux

Action, Adventure and RPG, Arcade, Fortune , FPS , MUD, Puzzle , Puzzles, RPG , RTS , Simulation , Simulations, Sports, Strategy, TBS , Tools & Editors, Tools and Editors,

Windows

Mac

Mobile

Drivers

Scripts - DHTML

Scripts - DHTML (new)

Web Developer Blog

Web Developer Blog (new)

Scripts and Applications

Ajax
ASP
ASP.NET
C and C++
CFML
CGI and Perl
Flash
Java
JavaScript
PHP
Python
XML

A Sudoku Solver in C 1.11

 

Details

Size: 27K
Last Update: 2008-04-15 23:41:38
OS Support: Linux
License/Program Type: GPL (GNU General Public License)
Publisher: Bill DuPree
Price:$0.00
Description:

A Sudoku Solver in C 1.11 is puzzle software developed by Bill DuPree.
A Sudoku Solver in C is a console-based Linux program, written in C language, that solves Su Doku puzzles using deductive logic. It will only resort to trial-and-error and backtracking approaches upon exhausting its deductive moves.



Puzzles must be of the standard 9x9 variety using the (ASCII) characters 1 through 9 for the puzzle symbols. Puzzles should be submitted as 81 character strings which, when read left-to-right will fill a 9x9 Sudoku grid from left-to-right and top-to-bottom. In the puzzle specification, the characters 1 - 9 represent the puzzle givens or clues. Any other non-blank character represents an unsolved cell.

The puzzle solving algorithm is home grown. I did not borrow any of the usual techniques from the literature, e.g. Donald Knuth's "Dancing Links." Instead I rolled my own from scratch as a personal challenge. As such, its performance can only be blamed on yours truly. Still, I feel it is quite fast. On a 333 MHz Pentium II Linux box it solves typical medium force puzzles in approximately 800 microseconds or about 1,200 puzzles per second, give or take. On an Athlon XP 3000 it solves about 6,600 puzzles per sec. (Solving time is dependent upon degree of difficulty, so YMMV.)

Description of Algorithm:

The puzzle algorithm initially assumes every unsolved cell can assume every possible value. It then uses the placement of the givens to refine the choices available to each cell. I call this the markup phase.

After markup completes, the algorithm then looks for singleton cells with values that, due to constraints imposed by the row, column, or 3x3 region, may only assume one possible value. Once these cells are assigned values, the algorithm returns to the markup phase to apply these changes to the remaining candidate solutions. The markup/singleton phases alternate until either no more changes occur, or the puzzle is solved. I call the markup/singleton elimination loop the Simple Solver because in a large percentage of cases it solves the puzzle.
If the simple solver portion of the algorithm doesn't produce a solution, then more advanced deductive rules are applied.

I've implemented two additional rules as part of the deductive puzzle solver. The first is subset elimination wherein a row/column/region is scanned for X number of cells with X number of matching candidate solutions. If such subsets (or tuples) are found in the row, column, or region, then the candidates values from the subset may be eliminated from all other unsolved cells within the row, column, or region, respectively.

The next deductive rule examines each region looking for candidate values that exclusively align themselves along a single row or column, i.e. a vector. If such candidate values are found, then they may be eliminated from the cells outside of the region that are part of the aligned row or column.

Note that each of the advanced deductive rules calls all preceeding rules, in order, if that advanced rule has effected a change in puzzle markup.

Finally, if no solution is found after iteratively applying all deductive rules, then we begin trial-and-error using recursion for backtracking. A working copy is created from our puzzle, and using this copy the first cell with the smallest number of candidate solutions is chosen. One of the solutions values is assigned to that cell, and the solver algorithm is called using this working copy as its starting point. Eventually, either a solution, or an impasse is reached.

If we reach an impasse, the recursion unwinds and the next trial solution is attempted. If a solution is found (at any point) the values for the solution are added to a list. Again, so long as we are examining all possibilities, the recursion unwinds so that the next trial may be attempted. It is in this manner that we enumerate puzzles with multiple solutions.

Note that it is certainly possible to add to the list of applied deductive rules. The techniques known as "X-Wing" and "Swordfish" come to mind. On the other hand, adding these additional rules will, in all likelihood, slow the solver down by adding to the computational burden while producing very few results. I've seen the law of diminishing returns even in some of the existing rules, e.g. in subset elimination I only look at two and three valued subsets because taking it any further than that degraded performance.

What's New in This Release:
Code optimization has resulted in a 30% increase in speed.
A Sudoku Solver in C 1.11 supports english interface languages and works with Linux.

Downloading A Sudoku Solver in C 1.11 will take several seconds if you use fast ADSL connection.

Leave a comment




(optional)

What is 7-3?




0 comments


Add to

 Del.icio.us   Digg It   Furl   YahooMyWeb   Blinklist
 

A Sudoku Solver in C 1.11 Version History

Product Date Added
A Sudoku Solver in C 1.11 2008-04-15 23:41:38


Related Software

Crossfire Maps
From category: MUD
Crossfire Maps 1.9.1 is mud software developed by Crossfire Development Team. Crossfire Maps packages includes maps for the Crossfire MUD client. Crossfire is a multi-player graphical arcade...
Buscayasminas
From category: Puzzle
Buscayasminas 0.30a is puzzle software developed by Juan Alba Maldonado. Buscayasminas project s an open source \"Minesweeper\" alike game totally written in DHTML (JavaScript, CSS and HTML) that u...
Flexible Isometric Fallout-like Engine
From category: RPG
Flexible Isometric Fallout-like Engine 2006.1 is rpg software developed by FIFE Development Team. Flexible Isometric Fallout-like Engine is a next-generation 2D engine that aims to be modern and ha...
Outlook Password Rescue Tool Awarded Software
From category: Arcade
Password unmask utility display Microsoft office outlook password. Tool display encrypted security code review forgotten mail account password, login detail and incoming outgoing server information. P...
Cube 2005-08-29
From category: FPS
Cube 2005-08-29 is fps software developed by Wouter van Oortmerssen. Cube is an open source multiplayer and singleplayer first person shooter game built on an entirely new and very unconventional e...
XContractBridge
From category: Action
Linux Contract Bridge simulation with random deal, Acol bidding, score to rubber, Blackwood, Baron, Jacoby and Stayman conventions....
Fight Win Prevail
From category: Simulation
Fight Win Prevail 0.0.8 is simulation software developed by The FWP-Team. Fight Win Prevail (or FWP for short) is a hobbyist multiplayer first person shooter. Fight Win Prevail is set in an imagina...
Enemy Lines 7
From category: Arcade
Enemy Lines 7 0.6 is arcade software developed by Raphael Pikrin. Enemy lines 7 is a single player first person 3d shooter game. Shoot down enemy bombers threatening your city. Requir...
Debians Pimientos
From category: Arcade
Debian vs Pimientos 1.1.0 is arcade software developed by Hector Blanco de Frutos. Debian vs Pimientos is an arcade game developed using the SDL libraries SDL, SDL_image, SDL_mixer, and SDL_ttf. Th...
FreeDoom
From category: FPS
FreeDoom 0.5 is fps software developed by FreeDoom Team. FreeDoom is free content for free Doom engines. Id Software have released the source code to their classic game, Doom, under the GNU...
Block Attack Raise of the Blocks
From category: Puzzle
Block Attack - Raise of the Blocks is another block fall game based on Tetris Attack....
EDM 20061030
From category: FPS
EDM 20061030 is fps software developed by EDM Team. EDM (Extended Death Match) project is a fork of the Sauerbraten FPS engine which adds new gameplay and engine features. Sauerbraten was written b...
Battery77
From category: Arcade
Battery77 2.4 is arcade software developed by em7em7em. Battery77 project is a remake of the Battle City game. Play the game right at the Battery homepage. Looking for 2d sprite artist (desi...
Falling Up 004
From category: Arcade
Falling Up 004 is arcade software developed by Kaolin Fire. Falling Up it\'s another tetris clone. No, I\'m not trying to make any money off of it or claim it as particularly unique. It is fun. Try...
KinderGarten Awarded Software
From category: Simulations
Kindergarten is a fun-filled, colorful and interactive management game where you play Mila, the kindergarten owner! You have to help Mila take care of the babies that get dropped off by their mommies!...
 

Top Downloads

 
1. Canon PIXMA iP1200 Printer Driver
2. Canon PIXMA iP1000 Printer Driver
3. Realtek ALC/ 262/ 265/ 268/ 660/ 861/ 880/ 882/ 883/ 885/ 888 Audio
4. Canon PIXMA MP210 MP Drivers
5. Canon PIXMA iP1300 Printer Driver c
6. Lite-On Cd-Rw LTR-48327S firmware
7. Canon PIXMA iP1600 Printer Driver
8. Canon PIXMA iP1300 Printer Driver a
9. ABF Audio Tags Editor
10. Canon i-SENSYS LBP2900 Printer Driver R
11. dmg2iso
12. Realtek RTL8139C(L)+/RTL8139D(L)/RTL8100(L)/RTL8130/RTL8139B(L) Driver
13. Genius Eye 110 Webcam Driver
14. Asus EZVcr II
15. Asus PVDC-X Bios 0601
16. Pioneer DVR-K16
17. SendSong
18. Canon PIXMA MP460 MP Drivers xp64
19. MediaLink
20. Canon PIXMA iP1200 Printer Driver x64 d

DownloadTube Editor Reviews

 
1. PDFGuard
PDFGuard is a smart tool for the PDF file format users who w...
2. MovieGuard
MovieGuard is a powerful tool designed for the media artists...
3. TGPSoft
TGPSoft is a smart tool for the webmasters who want to easil...
4. zMailGuard
zMailGuard is a powerful tool for the e-mail users who want ...
5. Type4Me
Type4Me is a tool for the webmasters and chat users who want...
6. MP3Guard
This program is for the musicians who want to make money sel...
7. eBookGuard
eBookGuard is for the authors who want to make money selling...
8. JpegGuard
JpegGuard is a smart tool for the JPEG users who want to kee...
9. ShareGuard
ShareGuard Copy Protection For Shareware Developers - this p...
10. Free Download Manager - WeBBusterZ
Useful if you want to stop and resume your downloads wheneve...

Software Reviews Full List



Recent Blog Posts

 
1. Automatic Installation of Joomla! on Windows With JoomlaPC
A convenient alternative for the development or testing of J...
2. An Introduction To Joomla! Templates Creation With Adobe Dreamweaver CS3
Joomla! is a content management system and framework with a ...
3. Two New Firefox Stable Releases Are Available For Free Download: Firefox 3.0.2 and Firefox 2.0.0.17
Recently, two Firefox stable releases for Windows, Mac OS, a...
4. How To Deploy A Linux LiveCD on Windows Using MobaLiveCD
There are many ways to test a certain Linux distribution on ...
5. Ever Needed A Free Video Converter And You Just Couldn’t Find It? Here’s Our Suggestion.
With so many different video (or even audio) converters arou...
6. Top 101 Most Downloaded Windows Software: Free Demo Movies and Download Links
We often have to decide if we should download the latest v...
7. A New Powerful Virus Could Affect Millions of WordPress Blogs
The WordPress blogging platform powers millions of web...
8. Google Chrome – It’s Finally Here. Will A Revolution Begin?
First, it was the rumors. Then, Google announced it official...
9. An Amazing Free Document Processing Software: LyX
The documents management task could be difficult in absence ...
10. DownloadTube Toolbar is Available For Free Download
Recently, we have made available for free download the Dow...

Last 20 Scripts

 
1. Scripteen Free Image Hosting Script
Scripteen Free image hosting script allows you to deploy a f
2. jQuery.Listen
jQuery.Listen allows you to register event handlers along wi
3. jQuery.FastTrigger
jQuery.FastTrigger provides a simplified version of jQuery.t
4. jQuery.Collection
jQuery.Collection plugin generates generic collection classe
5. jQuery.Bubble
jQuery.Bubble plugin adds bubbling functionality to jQuery J
6. jQuery.Accessible
jQuery.Accessible is a jQuery plugin that provides you many
7. jQuery.SerialScroll
jQuery.SerialScroll plugin allows you to easily animate any
8. Fancy Sliding Tab Menu
Fancy Sliding Tab Menu script helps you to create a sliding
9. TableDnD
TableDnD plugin allows the user to reorder rows within a tab
10. tableRowCheckboxToggle
tableRowCheckboxToggle is a jQuery plugin that will toggle t
11. jQuery Calculation Plug-in
jQuery Calculation Plug-in provides easy-to-use jQuery funct
12. imgAreaSelect
imgAreaSelect is a jQuery plugin for selecting rectangular
13. jWYSIWYG
jWYSIWYG is a jQuery plugin that allows you to edit HTML con
14. GlassBox
GlassBox is a JavaScript utility that allows you to implemen
15. Damn Small Rich Text Editor
Damn Small Rich Text Editor is a simple to implement JavaScr
16. jQuery Flexigrid
jQuery Flexigrid helps you to create lightweight JavaScript
17. AJAX Queue/Synch/Abort/Block Manager
AJAX Queue/Synch/Abort/Block Manager provides you the opport
18. NyroModal
NyroModal provides you a simple to use modal window jQuery b
19. jQuery Virtual Tour
jQuery Virtual Tour allows you to present panoramic images i
20. SqueezeBox
SqueezeBox is another LightBox clone that allows you to disp