100 likes | 109 Views
A Case for Predicate Answer Set Programming. Gopal Gupta Elmer Salazar, Kyle Marple, Zhuo Chen, Farhad Shakerin Department of Computer Science The University of Texas at Dallas Support from the US NSF is gratefully acknowledged. Common Sense Reasoning.
E N D
A Case for Predicate Answer Set Programming Gopal Gupta Elmer Salazar, Kyle Marple, Zhuo Chen, Farhad Shakerin Department of Computer Science The University of Texas at Dallas Support from the US NSF is gratefully acknowledged
Common Sense Reasoning • Usable AI: automated common sense reasoning (CSR) • Common Sense Reasoning: What humans use on a daily basis • Humans jump to conclusions (even when information is missing) • Tweety is a bird, it must fly (what if it is wounded? Or a penguin?) • Look out the window in cloudy weather, no one holding an umbrella no rain • “Jumping to conclusions” used to reduce the burden of reasoning • Negation as failure needed to model “jumping to conclusions” • Need non-monotonic logic: conclusion may be withdrawn later • Negation as failure: failed proof == falsehood • Classical negation: falsehood requires explicit proof • Note: formal logic has failed to simulate CSR • Reason for lack of success of the expert systems enterprise • Expert systems capture human knowledge, so must rely on CSR
Answer Set Programming • Both NAF and Classical Negation captured in ASP • Rules of the form: p :-a1,…, am, not b1,…, not bn. m≥0, n≥0 (rule) p. (fact) • Another reading: add p to the answer set if a1 ,…, am are in the answer set and b1 ,…, bn are not • Applications of ASP to common sense reasoning, planning, constrained optimization, knowledge rep, etc. • Semantics given via lfp of a residual program obtained after “Gelfond-Lifschitz” transform • Popular implementations: Smodels, DLV, CLASP, etc. • Almost 30 years of research invested , -c1,…, -ck.
Negation as Failure • Humans use negation as failure all the time. • Hard (for humans) to deal with nested negation though • Who all will go to Mexico? • Code this as: p :- not s. s :- not r. r :- not p. r :- not s. • What is the semantics of this program? • Individual rules easy to understand; extremely hard to understand what the program means as a whole • Paul will go to Mexico if Sally will not go to Mexico • Sally will go to Mexico if Rob will not go to Mexico. • Rob will go to Mexico if Paul will not go to Mexico. • Rob will go to Mexico if Sally will not go to Mexico.
Answer Set Programming • Semantics based on Possible Worlds and Stable Models • Given an answer set program, find its (stable) models • Model: assignment of true/false value to propositions to make all formulas true. Models are called answer sets • Captures default reasoning, non-monotonic reasoning, constrained optimization, exceptions, weak exceptions, preferences, etc., in a natural way • Better way to build “expert systems” • ASP incorporates both induction & coinduction • Finding stable models of answer set programs is not easy • Current systems CLASP, DLV, Smodels, etc., extremely sophisticated • Work by grounding the program, suitably transforming it to a propositional theory whose models are stable models of the original program • These models found using a SAT solver • Many disadvantages of SAT solver based approaches though
SAT Solver-based ASP Systems: Issues • Program must be finitely groundable (no lists, no strctures) • Grounding can result in exponential blowup in program size • SAT solvers find the entire model of the program • Some times it may not even be possible to find the answer sought, as they are hidden in the answer set • Minor inconsistency in the answer set will result in the system declaring that there is no answer set • Cannot deal with computations over real numbers • Because of these reasons, ASP has focused on solving optimization problems and not KR problems • Programmers have to be aware of the grounding process; code in a way to avoid combinatorial explosion on grounding FULL POTENTIAL OF ASP NOT REALIZED
Solution • Develop goal-directed answer set programming systems that support predicates (no grounding needed) • Goal-directed means that a query is given, and a proof for the query found by exploring the program search space • Essentially, we need Prolog style execution that supports stable model semantics-based negation • Thus, part of the knowledge base that is only relevant to the query is explored • Predicate answer set programs are directly executed without any grounding: lists and structures also supported Realized in the s(ASP) system Developed at UT Dallas; available on sourceforge.net
Applications Developed • Physician advisory system: advises doctors for managing chronic heart failure in patients • Automates American College of Cardiology guidelines • Complex guidelines expressed as rules (60 odd rules in 80 pages) • Knowledge patterns developed to facilitate the modeling • Tested with UT Southwestern medical center; • Can find diagnoses missed by cardiologists • Representing high school cell biology knowledge: • represented using ASP • Questions can be posed as ASP queries to the system • Recommendation systems – birthday gift advisor • Other systems that simulate common sense reasoning
Conclusions • ASP: A very powerful paradigm that can simulate complex reasoning, including common sense reasoning • Application to building KBSs limited due to reliance on SAT solvers • Need query-driven implementations: Prolog + NAF (stable models) --- But disadvantages of Prolog inherited (inefficient, incomplete search) --- So need to integrate with CLP(FD), tabled LP, etc. to realize a system that provides power of predicates with the efficiency of SAT solvers • Additionally: • Machine learning overused: used in places where AR suffices (and will be better) (Recommendation systems are one example) • ASP can serve as the language of rules to be learned to achieve explainable AI F. Shakerin, E. Salazar, G. Gupta. A New Algorithm to Automate Inductive Learning of Default Theories. To appear in ICLP 2017.
Thank You More info on my home page: http://utdallas.edu/~gupta