Separating Easy and Hard Logic Programming Problems

Background:

When we generate random instances of NP-Complete problems, depending upon what random distributions we use, problems may be usually hard, usually easy, or mixed (that is both hard and easy). Most famous is probably the research, started by Franco and Paul, about when random a randomly generated k-CNF formula is probably satisfiable.

Problem Statement:

A less studied, and apparently more complicated problem is the distribution of normal logic programs which have "stable model". Stable models grew out of "Artificial Intelligence (AI) and programming language called Prolog". Stable models are also describe briefly in the text used in "AI 1 and 2" this and last year. We will use existing software to test for the existence of stable models. Studying stable models is desirable because there are some NP problems shich are much easier to reduce to the existence of stable models than to propositional satisfiability

Team Members:

Olatunde Philip Adejumobi mojeboski2006@yahoo.com

Jeremy Lavergne lavergje@email.uc.edu

Andrew Fickas fickasaj@email.uc.edu

Faculty Advisor:

Professor John Schlipf (Computer Science at University of Cincinnati) and Professor M. Truszcznski (University of Kentucky)

Goal:

Is to run experiments that will tell us where and how to search for stable models for some class of logic programming. Also, for the project to serves as guidiance for future work in this area of theory of computation (that is, possibly write a publishable paper).

Subgoals:

  1. Write and run test scripts to generate many random logic programs

  2. Summarise and graph the percentage of programs with the stable models as the parameters change

  3. Limited analysis of statistical significance of conclusion made

  4. Use the data, plus data archived by other researchers, to propose reasonable alternate distributions to study

Helpful Skills:

  • Completion of necessary class work, for instance Algorithms, Probability and Statistic, and Symbolic Logic

  • Programming skills for writing tests' scripts

  • Experience with the problem due to past research experience at UC Berkeley