Tag Archive for prolog

Week 2: Revised Project Proposal

I have revised my project, having honed in the scope of the project after discussing it with fellow students and faculty. I have also done some research and decided on target robotics simulation suite.

Following is the revised project proposal:

Project title: Using Prolog As A Robotics Decision-Making Tool

Area of research

AI and robotic simulation, as well as cross-paradigm language interaction.

Short project description

I hope to integrate the Prolog language with a robotics simulation suite. The end goal of this is to allow for usage of logic-based programming in simple robotic decision making.

Why is this of any value? Because Prolog’s resolution engine offers very finely-tuned depth-first-search and backtracking systems, and Prolog itself benefits from a rich history of AI application.

If it works, I should be able to create a simple robotic simulation which is using a Prolog component to perform some simple decision-making tasks. I hope to extend this to touch on “Truth Maintenance Systems”, under recommendation from Richard.

I have created a blog to track my progress located at:

http://www.musicallyinept.com/blog/category/computing/cpat-project/

Prior knowledge

I previously studied Prolog in the Computability program here at Evergreen. The main projects I have written so far include a lexer and parser for a subset of C, an implementation of the Bellman-Ford shortest path algorithm, and some constraint-based logic puzzle solvers.

Resources needed to accomplish the project (textbooks, manuals)

I have found a simulation package called Webots which has a free 30-day trial and supports C, which I am much more confident that I can successfully integrate Prolog with.

On the Prolog end, I will be using the SwiPL implementation which offers some good built-in API functionality for calling it from outside languages.

Other students you know of (if any) interested in related topics

My affinity group consists of Victoria, Jennifer, Jesse, Brian, David, and Jason, who are all doing robotics-related projects. Richard will be the faculty advisor to this project. I know of no one else who is interested in Prolog!

Short Bibliography

I intend to use the two following textbooks to reinforce my Prolog knowledge:

  • “The Art of Prolog”, Sterling and Shapiro.
  • “Prolog Programming for Artificial Intelligence”, Ivan Bratko.

    I still need to find some good sources on robotics simulation and truth maintenance systems.

  • Week 1: Project Proposal – First Draft

    Project title: Application & Integration of Prolog

    Area of research

    AI and either robotics or symbolic manipulation (see below), as well as cross-paradigm language interaction.

    Short project description

    I need to do a bit more research to figure out if this is fully feasible, but I hope to integrate the Prolog language with a robotics visualization suite. The end goal of this is to allow for usage of logic-based programming in simple robotic decision making.
    Why is all this of any value? Because Prolog’s resolution engine offers very finely-tuned depth-first-search and backtracking systems, and Prolog itself benefits from a rich history of AI application.

    If it works, I should be able to create a simple robotic simulation which is using a Prolog component to perform some simple decision-making tasks.
    There is a possibility that the above may pose technical limitations beyond the scope of this project. Should my efforts in the short term to access the Prolog interpreter from robotic control code fail, I will instead switch gears and focus on implementing an automated equation solver in Prolog– something which has actually been done before. As I am very interested in tapping into Prolog from other languages, I will write a Python wrapper to access and display the functionality of the equation solver.

    Prior knowledge

    I previously studied Prolog in the Computability program here at Evergreen. The main projects I have written so far include a lexer and parser for a subset of C, an implementation of the Bellman-Ford shortest path algorithm, and some constraint-based logic puzzle solvers.

    Resources needed to accomplish the project (textbooks, manuals)

    In order to successfully integrate Prolog with robotics simulation software, I will need the software itself. Microsoft Robotics Developer Studio is free, but API calls to the simulator seem to require C#. I have found a simulation package called Webots which has a free 30-day trial and supports C, which I am much more confident that I can interface Prolog with.

    On the Prolog end, I will be using the SwiPL implementation which offers some good built-in API functionality for calling it from outside sources.

    Other students you know of (if any) interested in related topics

    Unknown. I know that Richard has a strong interest in robotics.

    Short Bibliography

    I intend to use the two following textbooks to reinforce my Prolog knowledge:

    “The Art of Prolog”, Sterling and Shapiro.
    “Prolog Programming for Artificial Intelligence”, Ivan Bratko.

    Prolog implementation of a C-lite parser

    Wrote a Clite parser– in Prolog!
    Read more