Collaborators: Joaquin Arias (PhD Student @ IMDEA/UPM, Spain), Dr. Manuel Carro (IMDEA/UPM, Spain)
The ALPS Lab is engaged in research in Computational Logic, AI (automated reasoning, machine learning) and advanced programming languages.
Much of the work revolves around exploring application of advanced logic programming techniques and answer set programming
to these areas.
Current project in AI are in areas of automating common sense reasoning, natural language text question-answering, automated conversational agents, inductive logic programming, and explainable AI.
In programming languages,
current focus is on conduction and its applications, semantics of negation, and automated program synthesis.
An (incomplete) list of current projects is below.
Explainable AI/Inductive Learning of Default Theories: This line of research
extends work done in the field of inductive logic programming (where one learns a
logic program from examples and background knowledge) to learning normal logic programs, i.e., learning logic
programs that contain negation as failure. Normal logic programs have been shown
to model human-style common sense reasoning quite well. The inductive learning
algorithms my group has developed learns a default relation as well as exceptions to
it. The learning algorithm can also handle features that range over real numbers. The
algorithms recursively learn exceptions to exceptions and so on thereby producing a
learned theory that has high accuracy. The project is a step towards what is
dubbed Explainable AI and will prove to be a very important contribution to the area
of Machine Learning. Implementations have been developed (Software release coming soon).
The technique has been extended to explain models learned from statistical
machine learning methods. Details are in:
Farhad Shakerin, Gopal Gupta. Induction of Non-Monotonic Logic Programs to
Explain Boosted Tree Models Using LIME. In Proc. AAAI 2019.
(click to read),
Farhad Shakerin, Elmer Salazar, Gopal Gupta. Inductive Learning of Default
Theories. Theory and Practice of Logic Programming Journal 17(5-6): 1010-
1026, 2017 (Proc. 33rd ICLP).
(click to read)
Natural Language Question Answering: This project, called CASPR, is focused on modeling
knowledge using answer set programming (ASP), a logic programming paradigm that provides
a sound semantics for negation as failure. Knowledge contained in an English passage
text is translated into an ASP knowledge-base. Relevant common sense knowledge
from resources such as WordNet and VerbNet is translated into ASP as well. Finally, a
question asked against the passage text is translated into an ASP query and executed
against the knowledge-base assembled in the first two steps. Using our query-driven
s(ASP) system, justiication for the question's answer can also be computed. This line
of work has the potential to solve the common sense reasoning problem of AI, a major
road block in building truly intelligent systems. The system uses our novel,
goal-directed implementation of answer set programming called s(ASP). The techniques
developed are also being used to answer natural language questions about objects in picture.
Dhruva Pendharkar, Gopal Gupta. An ASP-based Approach to Answering Questions
for Natural Language Text. In Proc. 21st Symp on Practical Aspects of
Declarative Languages, 2019. Springer LNCS.
ASP-based natural language question answering
Query-driven (Predicate) Answer Set Programming: This problem pertains to
executing answer set programs in a goal-directed, top-down manner. This problem
was widely considered unsolvable and most implementations are based on using a SAT
solver, and thus can only handle propositional programs. The idea of coinductive
logic programming pioneered in the ALPS lab is what facilitated the first solution to this
problem. It culminated in the Galliwasp system. Galliwasp was
then generalized to the s(ASP) system that can execute predicate answer set programs
directly, where predicates can contain arbitrary terms (most other systems available
thus far can only handle propositional answer set programs). Both Galliwasp and
s(ASP) are publicly available. s(ASP) has been used to develop a number of innovative
applications. A student hackathon was recently organized around it.
s(ASP) Resources:
Kyle Marple, Elmer Salazar, Gopal Gupta. Goal-directed Predicate Answer Set Programming.
(click here for the paper)
Application of s(ASP): A Degree Audit System (includes source code and documentation.); UTD CS, Math and MechE majors, try an audit now: click here
Application of s(ASP) to High School Cell Biology: represneting textbook knowledge in ASP: Represented as an answer set program (runs on the s(ASP) system.)
A medical application of s(ASP): A Physician Advisory System for CHF
(appears in Proc. ICLP 2016); automates the guidelines published here using the s(ASP) system.
s(ASP) application that uses abductive inference to improve diagnosis of CHF.
A hackathon around s(ASP) was organized by the UT Dallas AI Society in Nov 2016. See the 18 projects that were undertaken.
Galliwasp Resources: Papers and software for Galliwasp, a propositional goal-directed ASP system, are available.
Kyle Marple, Ajay Bansal, Richard Min and Gopal Gupta. Goal-Directed Execution
of Answer Set Programs. Proc. Principles and Practice of Declarative
Programming (PPDP), ACM Press, 2012. pp 35-44.
Kyle Marple and Gopal Gupta. Galliwasp: A Goal-Directed Answer Set Solver.
Selected Papers from LOPSTR'12. Springer LNCS 7844. pp. 122-136. 2013.
Coinductive Logic Programming: The idea is to give operational semantics to
compute answers that are in the greatest fixpoint semantics. Coinductive LP has farreaching
applications. Standard logic programming (or standard computation) is based
on induction (least fixpoint semantics). Infiite structures such as perpetual programs,
omega-automata, etc., cannot be modeled elegantly by induction. Rather, they
need coinduction for modeling. The paper that introduced coinductive LP received the
ICLP 2016 test-of-time award for being the most influential paper of ICLP 2006. Coinductive
logic programming has been incorporated in many Prolog implementations, most notably in
SWI Prolog.
L. Simon, A. Mallya, A. Bansal, G. Gupta. Coinductive Logic Programming. In
Proc. Int'l Conference on Logic Programming. 2006. Springer Verlag LNCS 4079.
pp. 330-345.
G. Gupta, N. Saeedloei, R. Min, B. DeVries, K. Marple, F. Kluzniak. Infinite
Computation, Co-induction, and Computational Logic. In Proc. 4th Interna-
tional Conference on Algebra and Co-algebra in Computer Science. Springer Verlag,
pp. 40-54.
Software:Metainterpreter supporting
DRA-style tabling and coinduction with applications to LTL model checking
Modeling Real-time Systems with CLP(R): It is hard to model real-time systems
faithfully (as time is continuous). Most systems model time by discretizing it.
Discretizing time only produces an approximation. This work showed how time in
real-time systems can be faithfully modeled using constraint logic programming over
reals (CLP(R)). We began by showing how timed automata can be faithfully modeled;
this was then generalized to timed grammars, timed push down automata, timed
pi-calculus, timed linear temporal logic, timed planning, etc.
G. Gupta, E. Pontelli. A Constraint-based Approach to Specification and Verification
of Real-time Systems. In Proc. IEEE Real-time System Symposium, San
Francisco, pp. 230-239. Dec. '97.
N. Saeedloei, G. Gupta. Timed Definite Clause Grammars. Proc. 26th International
Conference on Logic Programming. 2010. pp. 212-221
N. Saeedloei, G. Gupta. Timed pi-calculus. Proc. 8th International Symposium
on Trusted Global Computing. Buenos Aires. 2013. Springer Verlag, LNCS 7844.
pp. 122-136.