• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 03:23
CEST 09:23
KST 16:23
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 234ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon415.0.16 Hotfix (June 30) - Balance + Bug Fixes40Weekly Cups (June 22-28): Zergs thrive in new patch5[TLMC] Summer 2026 Ladder Map Rotation0
StarCraft 2
General
Serral wins Maestros of the Game 2 Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start) 5.0.16 Hotfix (June 30) - Balance + Bug Fixes Weekly Cups (June 29-July 5): Solar Doubles
Tourneys
Sea Duckling Open (Global, Bronze-Diamond) Crank Gathers Season 4: BW vs SC2 Team League GSL CK #5 Race War HomeStory Cup 29 RSL Revival: Season 6 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
60% Keyboards Viable for Starcraft? ASL 22 Proposed Map Pool Snow On New ASL S22 Map, Zerg Nerf BW General Discussion BGH Auto Balance -> http://bghmmr.eu/
Tourneys
IPSL Spring 2026 Top 4! CSLAN 4 is Coming! Escore Tournament StarCraft Season 2 The Casual Games of the Week Thread
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Dawn of War IV Stormgate/Frost Giant Megathread Nintendo Switch Thread Summer Games Done Quick 2026! ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7171 users

[R] I need a name - Page 3

Blogs > berated-
Post a Reply
Prev 1 2 3 All
BroOd
Profile Blog Joined April 2003
Austin10833 Posts
April 28 2008 21:50 GMT
#41
Truedoku
ModeratorSIRL and JLIG.
azndsh
Profile Blog Joined August 2006
United States4447 Posts
Last Edited: 2008-04-28 22:23:12
April 28 2008 22:22 GMT
#42
On April 28 2008 23:57 berated- wrote:
Show nested quote +
On April 28 2008 14:18 azndsh wrote:
aren't sudoku SAT solvers extremely inefficient? unless you formulate the problem way differently from what I have in mind


That's really kind of irrelevant to the project. I'm taking a boolean satisfiability class and we have to do a final project related to boolean equations. Considering I'm not a total badass, I knew I wasn't going to come up with the next great thing such as WalkSAT or Davis Putnam or GSAT, any of the SAT solving techniques that were monumental upon release. So I was left with two options, I could either find some current research and write an 8 page paper on it, or I could code up an algorithm.

Reading conference papers didn't strike me as overly fun, so I went with a coding project. I could then do something like just pass a boolean equation to an algorithm and try to solve it, which would have got the job done but is a little bland. So I sought out something that would at least be enjoyable.

As for the original question, my first response would have to be no. Using DP, a true sudoku puzzle ( one with only one answer and requiring no search techniques ) would actually require only unit propagation while solving the algorithm. Of course, you would have to define what it is inefficient compared to. Its obviously better than a try all possibilities solution. Are there other algorithms out there that might do better? I have no idea. I wasnt studying Sudoku, I was studying boolean equations, so I apologize that I can't give you a better answer.

I guess you would have to make that judgment call:

My technique ( learned from the work of others who have already done this - I'm just an undergrad, I can't be doing monumental work in my field ):

There are 729 variables - one for every possible number in every possible cell. These are represented by a 3 digit string - the row, the column, and the number.

So 111 refers to a one being in the upper left most box, and will be a 1 if there is a 1 there, 0 otherwise. A - in front represents that the boolean is negated. so -111 refers to Not a 1 in the upper left hand box

Then you have to generate the equation, it will be in CNF form -

So the first thing to check is that there is a 1-9 in every cell.
so, 111 v 112 v 113 v 114 v 115 v 116 v 117 v 118 v 119
but then you need to make sure there aren't more than one
so
-111 v -112, -111 v -113 . . . etc

Repeat for rows, columns, and boxes.

And solve.

Edit: Okay, well yes I would say that having a SAT solver for a 9x9 sudoku puzzle is a little over the top. I knew that it was for a 9x9, but I guess I didn't realy realize how much over the top it was. Of course, it doesn't help that I'm using a lot of java classes - trying to really modularize my code to make it easier to understand and write.

Using strictly ints and try all possibilities it takes java about 64 ms to solve a sudoku puzzle. Using my sat solver it takes about 400ms to solve - however, the largest time with my solver is keeping track of which variables I flipped and which ones I didn't, because I have to store and reset the variables while backtracking.

It might be kind of interesting to mod my program and then try to see some results. I've seen some sat solvers that use strictly ints ( as i described the 111 stuff above, all that is ints while i use 4 different wrapper classes to keep the method writing short). I think that if I were go get my program working in that state, and then we compared the run times you would see a lot closer of a contest.

Where I think the SAT solver would really shine would be on the larger puzzles for a generalized sudoku puzzle of size nxn. I would guess that even at 16x16 the sat solver ( if done properly with int values instead of classes ) would already start to out due the try all possibilities approach.

Once again though, I had fun with the project and truly believe it will still get me an A, so I'm not too worried about the efficiency. Hope this explain things a little better, and thanks for the thought provoking question.



yeah... with 729 variables and thousands of restrictions, it seems like it would take a very long amount of time for non-trivial puzzles. I only ask because we were each asked to make a SAT solver and puzzle generator in one of my CS classes. We even had a competition to see who had the best solver in the end. One really simple and effective heuristic is to assume that all your variables are false at the beginning, which in this case is true 8/9 of the time.

I ended up doing a 4x4 version of sudoku puzzles, but that was relatively straightforward and ran very quickly.
berated-
Profile Blog Joined February 2007
United States1134 Posts
April 29 2008 00:11 GMT
#43
On April 29 2008 07:22 azndsh wrote:
Show nested quote +
On April 28 2008 23:57 berated- wrote:
On April 28 2008 14:18 azndsh wrote:
aren't sudoku SAT solvers extremely inefficient? unless you formulate the problem way differently from what I have in mind


That's really kind of irrelevant to the project. I'm taking a boolean satisfiability class and we have to do a final project related to boolean equations. Considering I'm not a total badass, I knew I wasn't going to come up with the next great thing such as WalkSAT or Davis Putnam or GSAT, any of the SAT solving techniques that were monumental upon release. So I was left with two options, I could either find some current research and write an 8 page paper on it, or I could code up an algorithm.

Reading conference papers didn't strike me as overly fun, so I went with a coding project. I could then do something like just pass a boolean equation to an algorithm and try to solve it, which would have got the job done but is a little bland. So I sought out something that would at least be enjoyable.

As for the original question, my first response would have to be no. Using DP, a true sudoku puzzle ( one with only one answer and requiring no search techniques ) would actually require only unit propagation while solving the algorithm. Of course, you would have to define what it is inefficient compared to. Its obviously better than a try all possibilities solution. Are there other algorithms out there that might do better? I have no idea. I wasnt studying Sudoku, I was studying boolean equations, so I apologize that I can't give you a better answer.

I guess you would have to make that judgment call:

My technique ( learned from the work of others who have already done this - I'm just an undergrad, I can't be doing monumental work in my field ):

There are 729 variables - one for every possible number in every possible cell. These are represented by a 3 digit string - the row, the column, and the number.

So 111 refers to a one being in the upper left most box, and will be a 1 if there is a 1 there, 0 otherwise. A - in front represents that the boolean is negated. so -111 refers to Not a 1 in the upper left hand box

Then you have to generate the equation, it will be in CNF form -

So the first thing to check is that there is a 1-9 in every cell.
so, 111 v 112 v 113 v 114 v 115 v 116 v 117 v 118 v 119
but then you need to make sure there aren't more than one
so
-111 v -112, -111 v -113 . . . etc

Repeat for rows, columns, and boxes.

And solve.

Edit: Okay, well yes I would say that having a SAT solver for a 9x9 sudoku puzzle is a little over the top. I knew that it was for a 9x9, but I guess I didn't realy realize how much over the top it was. Of course, it doesn't help that I'm using a lot of java classes - trying to really modularize my code to make it easier to understand and write.

Using strictly ints and try all possibilities it takes java about 64 ms to solve a sudoku puzzle. Using my sat solver it takes about 400ms to solve - however, the largest time with my solver is keeping track of which variables I flipped and which ones I didn't, because I have to store and reset the variables while backtracking.

It might be kind of interesting to mod my program and then try to see some results. I've seen some sat solvers that use strictly ints ( as i described the 111 stuff above, all that is ints while i use 4 different wrapper classes to keep the method writing short). I think that if I were go get my program working in that state, and then we compared the run times you would see a lot closer of a contest.

Where I think the SAT solver would really shine would be on the larger puzzles for a generalized sudoku puzzle of size nxn. I would guess that even at 16x16 the sat solver ( if done properly with int values instead of classes ) would already start to out due the try all possibilities approach.

Once again though, I had fun with the project and truly believe it will still get me an A, so I'm not too worried about the efficiency. Hope this explain things a little better, and thanks for the thought provoking question.



yeah... with 729 variables and thousands of restrictions, it seems like it would take a very long amount of time for non-trivial puzzles. I only ask because we were each asked to make a SAT solver and puzzle generator in one of my CS classes. We even had a competition to see who had the best solver in the end. One really simple and effective heuristic is to assume that all your variables are false at the beginning, which in this case is true 8/9 of the time.

I ended up doing a 4x4 version of sudoku puzzles, but that was relatively straightforward and ran very quickly.


While it does take a long time relatively, under half a second to solve a sudoku puzzle is still pretty fast imo. As far as the competition part, that sounds awesome. They have a national sat competition every year that my prof has been to. Of course the people who enter those are the people that created most of the algorithms that we studied this year.

I talked to my professor about holding one at our school when he got to teach his boolean SAT course again, but considering our honors seminar class has 2 people in it, I doubt it would be much fun. Plus I'm graduating so I wouldn't even get to stay around to enjoy it.
minus_human
Profile Blog Joined November 2006
4784 Posts
April 29 2008 00:13 GMT
#44
sudoku=> songoku

[image loading]
Prev 1 2 3 All
Please log in or register to reply.
Live Events Refresh
Next event in 2h 38m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 226
StarCraft: Brood War
Sea 4023
BeSt 1558
Mind 110
sorry 46
ZergMaN 33
Bale 22
Nal_rA 15
ajuk12(nOOB) 13
NotJumperer 4
Dota 2
NeuroSwarm141
Fuzer 67
League of Legends
Doublelift3471
JimRising 685
Counter-Strike
Sick193
Other Games
summit1g5011
Happy188
Hui .141
Mew2King32
RuFF_SC231
Organizations
Other Games
gamesdonequick27713
StarCraft: Brood War
UltimateBattle 102
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• practicex 41
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota238
League of Legends
• Jankos1703
• Stunt327
Upcoming Events
Replay Cast
2h 38m
CrankTV Team League
3h 38m
OSC
5h 38m
Big Brain Bouts
8h 38m
Replay Cast
16h 38m
RSL Revival
1d 1h
Serral vs Bunny
ByuN vs GgMaChine
CranKy Ducklings
1d 2h
Afreeca Starleague
1d 2h
Snow vs Jaedong
YSC vs hero
IPSL
1d 8h
Dragon vs Ret
RSL Revival
2 days
Solar vs Rogue
Maru vs NightMare
[ Show More ]
Sparkling Tuna Cup
2 days
IPSL
2 days
Bonyth vs Hawk
GSL
3 days
Replay Cast
3 days
WardiTV Weekly
4 days
The PondCast
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

CSL Season 21: Qualifier 2
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
Escore Tournament S3: W2
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Heroes Pulsing #3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

ASL Season 22: Wild Card Qualifier
CSLAN 4
Blizzard Classic Cup 2026
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Eternal Conflict S2 E2
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.