Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Way too much time on my hands

Re: Way too much time on my hands

From: Brian Peasland <oracle_dba_at_nospam.peasland.net>
Date: Wed, 12 Apr 2006 16:11:06 GMT
Message-ID: <IxMAAK.Eqv@igsrsparc2.er.usgs.gov>


> I find it fascinating how we used similar names for objects without ever
> seeing each others' work and choose totally different approaches.

Not too terribly surprising to me. You're modeling an entity and people often come up with the same attribute names even if they are for completely different purposes.

> Anyone else with a way of avoiding brute force?

Since you're in the .EDU world, have you leveraged some of your resources on campus? When I was working on my Masters, a course in Artificial Intelligence was a required course for graduation. Some of the work you're doing here is right up that alley. Brute force is one AI technique, but it often is the most time consuming method. Rote learning might help, but it might be hard to code for you too. Pattern recognition can help too, for instance, I see the following pattern in Sudoku all the time

x x x 1 x x x
x x x 4 2 x x x
x x x 3 x x x

x x x a     x x x
   5         x x x
x x x a     x x x
x x x       x x x
x x x   5   x x x
x x x       x x x

In the above, the 'x' values are unknown and don't factor in to the example. In the center "square", the 5 value can only be in the spots located by 'a', even though there are no other values in that square. The other values limit '5' to those two spots. This type of "pattern" can be stored, recognized, and use to limit where 5 can go in that center square.

There are many other patterns in Sudoku as well. The following pattern is an easy one to determine what the missing value is:

1 5 7 9 2 x 8 6 3

Similarly, this pattern can be easily solved:

1 9 5
7 3 x
6 8 2

Play as many Sudoku games as I have (I'm addicted to http://www.websudoku.com) and you'll see other patterns as well. Most of the patterns I use get me to know that a number goes in one of two spots. An additional clue is needed later to figure out which spot to eliminate. If you play on Websudoku, you can use the "pencil" feature to note which two spots a particular value can reside.

I'm not sure how you'd code all of this in PL/SQL. When I did my AI work, we made heave use of storing patterns and other rote learning on the file system. Since this is PL/SQL, you'd probably store these things in a database table.

Anyway...I'm definitely no AI expert. And I tossed my college text for the AI class a long time ago. But if I were on a university campus, I'd head over to my Comp Sci department and talk with a prof specializing in AI. Or, I'd hit up some grad students doing their work in AI. If they're CompSci geeks and love Sudoku, they might even help you for free! Just for the sport of it!

Cheers,
Brian

-- 
===================================================================

Brian Peasland
oracle_dba_at_nospam.peasland.net
http://www.peasland.net

Remove the "nospam." from the email address to email me.


"I can give it to you cheap, quick, and good.
Now pick two out of the three" - Unknown
Received on Wed Apr 12 2006 - 11:11:06 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US