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:
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!
I intend to use the two following textbooks to reinforce my Prolog knowledge:
I still need to find some good sources on robotics simulation and truth maintenance systems.