Ovid (publius_ovidius) wrote,

  • Mood:

Back to our regularly scheduled programming

Heavy Geek Alert. Go away lest you be bored.

Now that the hubbub is dying down, I'm looking forward to returning to a normal routine. Richard Freytag has been working on turning his work on the Prolog grammar into something usable by my AI::Prolog module. Given that I have a local talk on this due for May, I'm hoping this will be done soon. If possible, I'll use it to throw together a simple expert system. Otherwise, I'll stick with an old-fashioned text adventure. More people can understand them.

One odd coincidence (it will take a while before I get to the coincidence part) I noticed is that Prolog is the language used in a book I found at Powell's Technical entitled "Inductive Logic Programming" (MIT Press). Inductive Logic Programming (ILP) is a type of programming combining machine learning and logic programs. In the programming most people do, you tell the computer how to twist and munge data every step of the way. After enough twisting and munging, you arrive at your goal. In logic programming, you describe your goal in logical terms and the computer figures out how to twist and munge the data for you. It can even make logical inferences. Tell the computer that all cats are furry and that Bob hunts all furry things and it will just "know" that Bob hunts cats, even though you didn't say it. In Prolog, it would look like this:

hunts(bob, Thing) :-

That looks a bit weird, but trust me, it's doing powerful things under the hood.

Inductive logic programming takes this one step further. By providing the computer with positive and negative examples of what you're trying to prove, it attempts to write a program that will satisfy all of your positive examples and none of your negative ones. If provided enough examples, and if it successfully produces such a program, the resulting program has predictive behavior. Instead of merely making logical inferences from existing facts and rules, it can make predictions. While still a relatively new technology, there is one field that it's being used in: detecting credit card fraud. Given the events of the past few days, I find that a bit amusing.
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded