The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions. Or if you must, use the Back Room[^] - but enter at your own risk.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen. For those discussions where you wish to be a little more frank, use the Soapbox[^]
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
Because a lawyer is entering the plea, and (if you believe them) lawyers aren't insane.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
The term 'reason', as used in this phrase, does not refer to the ability to reason of either the lawyer or the defendant, but the cause for the defendant of not being guilty (because of not being able to intend to perform a crime due to insanity).
Having said that, it would have been clearer to just say 'because' rather than 'by reason of'. The hilarity simply emerges from the convoluted ways of expressing stuff in legalese.
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
are we near the nether edge where real
and virtual are just a-and-b-sides for
the theme music for the march of genes?
analogue wonder of our bag of meat and
bones eclipsed by a digital perfection
where we can wallow in spotless dreams?
communal fragmented into isolated pods
reveling in the instantaneous illusion
of sharing thought divorced from being?
hunkered down in always online bunkers,
who will see the new barbed-wire fence
surrounding shrinking personal freedom?
to me the choice's clear: to hell with
virtual suicide by FaceBook or Twitter
published under the CPOPL License (Code Project Open Poetic License)
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
Yup. The evolution of homo sapiens resulting in the creation of machines that allow us to create virtual realities simply points out how what has always exist: the need to escape the dull and boring present into magical/violent/sensual/transwarp alternates.
to hell with virtual suicide by FaceBook or Twitter
I wrote a small (85 lines of C# code) backtraking Sudoku solver - primarily to illustrate the idea of backtracking. (After all, the fun of Sudoku is not "Press this button to se the solution", but exercizing your brain .)
Wikipedia claims that the general problem of solving a Sudoku "is known to be NP-complete". So I thought finding a Sudoku problem that could really stress a PC would be simple. Not true. The most difficult I have found until now solves in 3.4 milliseconds, evaluating about 110,000 tentative digit placements (about 30 ns per evaluation).
A typical "trait" of backtracking is that on the average it usually performs well, but the worst case performance may be bad. So I am searching for examples of that worst-case performance .
Where can I find Sudoku boards that are truly difficult to solve, even for a PC?
NP complete problems are extremely dependent on problem size, and 9 by 9 is not exactly a large problem. My solver can handle any board size, but I made a very quick and dirty user interface that handles 9 by 9 only, so I would like to stay within that size.
My backtracker makes 970 checks to fill an empty Sudoku board correctly, in about 30 microseconds.
Don't ask me how that CPU can do the check in 30 ns/check, but it does. The program has a single thread; before I started coding I was considering how to do multithreaded backtracking, but when a typical problem is solved in a handful milliseconds, then you don't do multithreading to improve response time. Actually, one reason why I would like a really difficult, time consuming one is to see if I can make it faster by multithreading.
You might not find what you're after. The accepted minimum number of clues that produces a *unique* solution is currently thought to be 17 so I'd look for boards with that number of clues. However less clues doesn't make it "harder", it just means there are possibly multiple solutions. If I was you I'd probably make my own starting solutions using a range of clues form various locations to see if you can work out what is a computationally hard board yourself.
And then again, zero clues (all empty board) is super-simple, for finding the fist solution.
I have not yet given my solver any "search further" function; the first solution is accepted. I haven't often seen "real" uses of backtracking with a need to find all solutions, so until now I haven't seen the need for it. Maybe finding all solutions would take significantly more time.
Last Visit: 31-Dec-99 18:00 Last Update: 19-Mar-18 3:33