
What's New - May, 2012
May 3, 2012: Another avid logic problem solver managed to break
my "Logic Solver" program last week, this time with a Geocaching problem with 10
different teams, home towns, and cache counts. The previous version
would only handle 9 values per variable without burping, but
Logic Problem Solver, Version 4.0 , just posted, handles up to 15
values and can solve the problem (also included in the download if you want to
try your hand).
May 8, 2012: The CHOICE statement type was added to
Logic Problem Saver Version 4.1
today after 5 days of challenging work. The full program is one of the most
complex I've written, with about 6000 lines of code equally divided between
handling the user interface and searching for a solution. It uses facts, and
other logical relationships extracted from problem description text by the user.
Choice statements simplify the user's job when we are told that a variable value
is associated with 2 or 3 possible values of another variable. Such
statements allows us to generate (negative) Facts about what values the associated variable
cannot have. For example: If we know that "Bob lives either in Virginia or North
Carolina" (the Choice statement), then he cannot live in any of the other states that the problem
allows. Those negative facts (e.g. "Bob does not live in Florida") can help complete the "Truth tables"
necessary to resolve who lives where. In the May 3rd Geocaching
problem, the three Choice statements eliminate user entry of 24 of those
negative Fact statements. Now if I can just find a dozen or so similar
problems, I will have saved enough time to pay for effort of the enhancement.
J
May 11, 2012:
ClearBlankLines is a
program which removes entirely blank lines from text files. It was written
several years ago to solve a particular problem I had with generated html code
on my website when some unknown action added 35,000 blank lines to web pages.
The pages were still viewable but speed slowed considerably, required storage
space increased, and my HTML editor program choked. I have had a
surprising number of emails thanking me for the program since then for
helping them resolve similar problems. Today's update adds an option
requested recently by a user to also remove leading blanks from lines which
contain text.
May 19, 2012: A Sudoku Helper program was posted last
month which led to this week's project, generating random Sudoku puzzles.
As usual, the problem turned out to be harder that I thought. Generating
valid filled boards is relative easy, there are billions of them. The hard
part is to remove some of the values and meeting the requirement that the board
can be filled in only one way. Once 53 or so numbers have been randomly
removed (28 clues), more than 99.8% of the resulting boards will have two or
more solutions and the probability of a random unique solution decreases rapidly
from there. It's still a work in progress, but
Sudoku V3.0 posted today averages about 1
unique solution per 400 boards tested for random puzzles with 28 or more
clues.
|