Category Archives: Logic Programming

During the month of August, I focused on Relational Reinforcement Learning, a field that combines Relational Learning and Reinforcement Learning fields.  Please read my blog entry for Relational Reinforcement Learning.  Afterwards, I have read a number of different articles regarding RRL learning from different authors, including the RRL workshop at the ICML 2004 conference.  My initial preference is the work performed and researched by Dr. Eduardo F. Morales.

I posted my review and comments regarding part I of the book The Art of Prolog (Sterling and Shapiro 1994).  There are very few books regarding Logic Programming in recent years.  Since the mid 1990s, much of the effort in Logic Programming has been with Inductive Logic Programming and Relational Learning.  The emerging field of Statistical Relational Learning has become a new field of research.  Read More »

The book The Art of Prolog (Sterling and Shapiro 1994) is an excellent treatise in the subject of Logic Programming and Prolog.  The book is divided into four parts – Logic Programming, The Prolog Language, Advance Prolog Programming Techniques, and Applications.

Beginning with Logic Programming, chapter one provides the best introduction into Logic Programming as well as the first definition of the abstract interpreter for logic programming.  The definitons for term, functor, compound term, clause or rules, logic programs, and the meaning for logic programs are presented.  The summary is worth reading.

Read More »

I start this month reading the articles in Relational Reinforcement Learning.  It began as a curiosity due to a response in the Reinforcement Learning mailing list.  The authors point a speech by Rich Sutton and Leslie Pack Kaelbling at the IJCAI 1997 conference in Japan, in which they recommended the combination of Induction Logic Programming (aka Relational Learning) and Reinforcement Learning.  The authors of the paper demonstrate this concept by using the blocks world domain to illustrate the combination of both fields.  Perhaps, this is exactly what I needed since I have done much reading, studying, and video lectures with logic programming, ILP, and reinforcement learning.  Of course, this paper spawn much researching according to CiteSeerX and Google Scholarly.

I found the web site to the 2004 Workshop in Relational Reinforcement Learning and downloaded the proceedings.

I shall continue this path of research interest.

In this progress report, I attended the ICAI 09 conference in Las Vegas (the IJCAI 2009 is located in Pasadena).  I presented my work on A Brute Force Approach to Solving the Knights Tour Using Prolog.  One thing that I learned is the participants are proud to share their work with others.  Another lesson is to make your presentation within the time allotted.  A few presenters did not finish their presentations in the 20 minutes time slot.  I rehearsed my presentation a few times to have the timing within 20 minutes.  I also learned that I need to get more training with MS Power Point.

I am also continue to view the video lectures from the Summer Schools in Logic and Learning from Video Lectures.  Thus, I have completed the Intelligent Agents video lectures by John Lloyd.  Read More »

Reading the comp.ai.prolog news group, I noticed the prolog FAQ did not make any references to any advance prolog programming websites.  Though it mentions the Craft of Prolog as the book for the advance reader, it was published before the ISO Prolog standard was finalized.  I have in my wish list in Amazon the book Prolog Programming in Depth by Michael Covington et. al (Fascimile edition), which seems from the table contents a book that could compliment the Bratko’s Prolog: Programming for Artificial Intelligence and The Art of Prolog.  Here is an example:

cycle(X) :-
   (    X < 1 -> true
        ;
        write(X),
        nl,
        X1 is X - 1,
        cycle(X1)
   ).

The above example is used to count down from X to 1.  In all the online tutorials, I have not seen example using the -> control construct.  I will on occasion will publish some prolog code.

Part VI of the AIMA book covers learning and various techniques on agents can learn.  The material covers Learning from Observations, Neural Networks, Reinforcement Learning, and Knowledge in Learning.  In the second edition, the chapter in Neural Networks is replaced with Statistical Learning Methods.

I read Chapter 18 of the AIMA book called Learning from Observations.  The Chapter focuses on decision trees and decision lists as some computational learning theory.  The main classification algorithm is the ID3 algorithm for classifying examples and generating decision trees.  The ID3 algorithm is based on Hunt’s Concept Learning System (CLS).  The ID3 algorithm uses information theory for obtaining the decision tree covering most the examples.  I have studied the ID3 algorithm quite extensively since the original application was to classify the winning position in the king and rook versus the king and knight endgame (Quinlan 1983).

Read More »

In this report, I focused on my presentation for the upcoming ICAI ‘09 conference in Las Vegas.  It has currently 18 slides.

I am also viewing the video lectures from the Summer Schools in Logic and Learning from Video Lectures dot Net.  Thus, I have completed the Introduction to Logic video lectures.

I was also reading Michalski’s article on A Theory and Methodology of Induction Learning. Basically it was an article describing the induction process and some the issues associated with induction such as descriptive language, background information, examples, generalization, and hypothesis space.  All this sounded familar when I was reading the two books on ILP.  Induction is a common theme with the two books.  Various familar algorithms are discussed amongst this material.  It appears there are no easy answers in the induction of rules from examples.

Read More »

Back in 1990, since my goal back then was to develop a chess playing computer algorithm using prolog, as part of my research, I stumbled into Max Bramer’s book Computer Game Playing: Theory and Practice.  In that book there was a chapter by Ivan Bratko called Knowledge-based problem-solving in AL3, which according to the book the article appeared in Machine Intelligence 10.  In summary the AL3 system was basically a production system for chess problem using the Donald Michie Advice Language concept and utilizing Bratko’s IF condition THEN action rule concept.  At that moment of time, many of the concepts presented in the paper were foreign to me, and unbeknownst to me, many of the ideas are presented in Bratko’s AI book (1990).

Read More »

This month I submitted my paper A Brute Force Approach to Solving the Knight’s Tour using Prolog to the ICAI ‘09 conference, located at the Monte Carlo in Las Vegas, Nevada.  According to the conference chair, the conference acceptance rate was 27 percent.  This conference is in conflict the IJCAI conference in Pasadena, California.

Nevertheless, besides my research paper, much of my activity this month has been around logic programming and inductive logic programming (ILP).  I ordered from Amazon several books recently around this area, in particular The Art of Prolog and Inductive Logic Programming: From Machine Learning to Software EngineeringThe Art of Prolog has a gentle introduction to logic programming – it is very clear and instructive.  From this book I was able to understand early articles in Logic Programming.

Read More »