Articles

Applications of

Esra Erdem, Michael Gelfond, Nicola Leone

I Answer set programming (ASP) has nswer set programming (ASP) is a knowledge represen- been applied fruitfully to a wide range tation and reasoning (KR) paradigm. It has rich high- of areas in AI and in other fields, both Alevel representation languages that allow recursive def- in academia and in industry, thanks to initions, aggregates, weight constraints, optimization the expressive representation languages statements, default negation, and external atoms. With such of ASP and the continuous improve- ment of ASP solvers. We present some expressive languages, ASP can be used to declaratively repre- of these ASP applications, in particular, sent knowledge (for example, mathematical models of prob- in knowledge representation and rea- lems, behaviour of dynamic systems, beliefs and actions of soning, robotics, bioinformatics, and agents) and solve combinatorial search problems (for exam- computational biology as well as some ple, planning, diagnosis, phylogeny reconstruction) and industrial applications. We discuss the knowledge-intensive problems (for example, query answer- challenges addressed by ASP in these ing, explanation generation). The idea is to represent a prob- applications and emphasize the strengths of ASP as a useful AI para- lem as a “program” whose models (called “answer sets” [Gel- digm. fond and Lifschitz 1988, 1991]) correspond to the solutions of the problem. The answer sets for the given program can then be computed by special software systems called answer set solvers, such as DLV, Smodels, or clasp. Due to the continuous improvement of ASP solvers and the expressive representation languages of ASP, ASP has been applied fruitfully to a wide range of areas in AI and in other

Copyright © 2016, Association for the Advancement of . All rights reserved. ISSN 0738-4602 FALL 2016 53 Articles

fields. Areas of AI that include applications of ASP are nic. Though not encountered in mathematics, non- planning, probabilistic reasoning, data integration monotonicity seems to be a prevailing feature of and query answering, multiagent systems, natural commonsense reasoning. It is especially relevant to language processing and understanding, learning, reasoning with so called defaults — statements of the theory update/revision, preferences, diagnosis, form “Normally (typically, as a rule) elements of class description logics, semantic web, multicontext sys- C have property P.” We all learn rather early in life tems, and argumentation. Other areas that include that parents normally love their children, citizens are applications of ASP are, for instance, computational normally required to pay taxes, and so forth. We also biology, systems biology, bioinformatics, automatic learn, however, that these rules are not absolute and music composition, assisted living, software engi- allow various types of exceptions. It is natural to neering, bounded model checking, and robotics. assume that these and other defaults should be ASP has also been used in industry, for instance, for included in a reasoner’s KB. Learning correct ways to decision support systems (Nogueira et al. 2001) (used reason with defaults and their exceptions is necessary by United Space Alliance), automated product con- for building an agent capable of using such a KB. One figuration (Tiihonen, Soininen, and Sulonen 2003) of the best available solutions to this problem uses (used by Variantum Oy), intelligent call routing the knowledge representation language CR-Prolog (Leone and Ricca 2015) (used by Italia Telecom) and (Balduccini and Gelfond 2003) — a simple extension configuration and reconfiguration of railway safety of the original ASP language of logic programs with systems (Aschinger et al. 2011) (used by Siemens). two types of negation and epistemic disjunction. In this article, we will describe only some of these A program Π of CR-Prolog consists of a first-order ASP applications, in particular, in knowledge repre- signature, a collection Πr of standard ASP rules of the sentation and reasoning, robotics, bioinformatics, as form well as some industrial applications. For a wide vari- l |…| l  l ,…,l ,not l ,…,not l ety of ASP applications and relevant references, we 0 k k+1 m m+1 n refer the reader to the ASP applications table.1 and a collection Πcr of consistency-restoring rules (or simply cr-rules)2 of the form: ASP and Knowledge Representation + l0  lk+1,…,lm ,not lm+1,…,not ln. One of the main goals of AI is to better understand

how to build software components of agents capable Here each li is a literal, that is, an atom p(¯)t or its of reasoning and acting in a changing environment. negation ¬p(¯).t The last statement says that ¯t does not Most AI researchers agree that to exhibit such behav- have property p. In contrast, default negation not has ior the agent should have a mathematical model of an epistemic character — not l is often read as “it is its environment and its own capabilities and goals. A not believed that l is true.” Similarly, the connective logic-based approach to AI (McCarthy 1990) suggests | (also denoted by or) is often called epistemic dis-

that this model should contain a knowledge base junction with l1 | l2 being read as “l1 is believed to be (KB) — a collection of statements in some declarative true or l2 is believed to be true.” Intuitively, a regular language with precisely defined syntax and seman- ASP rule Head ← Body says that if the body of the rule tics. As a rule, such a KB should include common- is believed then the reasoner must believe its head. A sense knowledge — information an ordinary person cr-rule says that if the body of the rule is believed, is expected to know — as well as some specialized then the reasoner may possibly believe its head; how- knowledge pertinent to a particular set of activities ever, this possibility may be used only if Πr is incon- the agent is built to perform. Early proponents of log- sistent. ic-based AI believed that such a KB could be built in Informally, program Π can be viewed as a specifi- classical first-order logic (FOL) which, at the time, cation for answer sets — sets of beliefs that could be was commonly used for formalization of mathemat- held by a rational reasoner associated with Π. Answer ical reasoning. It was quickly discovered, however, sets are represented by collections of ground literals. that this logic may not be a fully adequate tool for In forming such sets the reasoner must satisfy the representing nonmathematical (especially common- rules of Π together with a so-called rationality princi- sense) knowledge. The main problem was difficulty ple, which says that the reasoner associated with the with using FOL for defeasible (or nonmonotonic) rea- program shall believe nothing that he is not forced to soning. In precise terms, a consequence relation A believe by the program’s rules. In the absence of cr- F between statements of a declarative language is rules this idea is captured by the standard answer set called monotonic if, for every A, B, and F, if A F semantics. then (A B) F. This property guarantees that, once The definition of an answer set for an arbitrary CR- proven, a statement stays proven. If this condition is Prolog program is as follows. For a collection R of cr- not satisfied, that is, if addition of new information rules, by α(R) we denote the collection of regular rules can force a reasoner to withdraw its previous conclu- obtained by replacing labeled arrows in cr-rules of R sion, the consequence relation is called nonmonoto- by ←. A minimal (with respect to the preference rela-

54 AI MAGAZINE Articles

Π tion of the program) collection R of cr-rules of such ¬loves(P,C) + parent(P,C). that Πr ⋃α(R) is consistent (that is has an answer set) Π is called an abductive support of . A set A is called The new program P consisting of regular rules (1), Π 4 an answer set of if it is an answer set of the regular (2), and (4) and cr-rule (6) entails that Mary cares ASP program Πr ⋃α(R) for some abductive support R about John. A consistent answer set of the program of Π. can be obtained from its regular rules only and cr- In the following, we assume that the rules that are rule (6) is not used. If, however, we expand P4 by in sans-serif font are in the ASP Core language ASP- statement (5), regular rules of the program are not Core-2,3 whereas the rules in math font (for example, sufficient to avoid the contradiction. Consistency cr-rules) are in languages (for example, CR-Prolog) restoring rule (6) will be activated and the reasoner that extend the ASP Core language in different ways. will conclude that Mary does not love John. The schematic variables (respectively, object con- The previous example is rather general and allows stants) in rules are denoted by strings whose first let- for representation of different types of exceptions to ters are in uppercase (resp. in lowercase). defaults. More information on this can be found in Example 1 [Representing Defaults] Gelfond and Kahl (2014). A default “parents normally love their children” can be represented by the following rule: Reasoning about Effects of Actions (1) loves(P,C) :- Gaining better understanding of basic principles and parent(P,C), not -loves(P,C). mathematical models of default reasoning helped researchers to move forward in solving a number of Consider a program P1 consisting of this rule and a fact: other longstanding problems of AI and KR. In this (2) parent(mary,john). section we briefly describe an ASP-based solution of one such problem — finding logical means for repre- Since the answer set semantics of CR-Prolog incorpo- senting and reasoning about direct and indirect rates the rationality principle and no rule of the pro- effects of actions. gram forces the reasoner to believe that Mary does To act in a changing (dynamic) domain, a rational not love John, the first rule allows it to conclude that agent should have a mathematical model of this she does. Additional information, domain allowing it to predict such effects. Here we (3) -loves(mary,john) limit ourselves to discrete dynamic domains repre- will not lead to a contradiction. The new statement sented by transition diagrams whose nodes corre- will render the first rule inapplicable and allow the spond to possible physical states of the domain and reasoner to withdraw its earlier conclusion. State- whose arcs are labeled by actions. σ σ ment (3) is an example of so-called direct exceptions A transition ( 1, a, 2) indicates that the execution σ to defaults, that is, exceptions that directly contradict of action a in state 1 may cause the domain to move σ the default conclusion. The situation is not always to state 2. Due to the size of the diagram, the prob- lem of finding a concise specification for it is not triv- that neat. Let us now consider a program P2 consist- ing of statements (1) and (2) above, together with a ial and has been a subject of research for a compara- new rule: tively long time. Its solution requires a good (4) cares(P,C) :- loves(P,C) . understanding of the nature of causal effects of actions in the presence of complex interrelations It is easy to see that P entails cares(mary, john). If, 2 between fluents — propositions whose truth value however, we were to learn that Mary does not care for may depend on the state of the domain. John and expanded P by 2 An additional level of complexity is added by the (5) -cares(mary,john) need to specify what is not changed by actions in a the new program, P3, would become inconsistent, concise, clear, and elaboration tolerant way. A semi- that is, will not have answer sets. In our everyday rea- nal paper (Hayes and McCarthy 1969) in which the soning we do not seem to have difficulties in dealing problem of finding such a specification (called the with such indirect exceptions to defaults. We would frame problem) was discussed also suggested a direc- avoid the contradiction by simply concluding that tion in which its possible solution could be found. Mary and John constitute an (indirect) exception to The proposal was to reduce the solution of the frame default (1). So the fact (5) is the only conclusion that problem to the problem of finding a concise, accu- can be derived from the program. To model this type rate, and elaboration tolerant representation of the of reasoning, we should make it possible for our pro- inertia axiom — a default that says that things nor- gram to recognize that the relationship between par- mally stay as they are. The search for such a repre- ents and their children may be not that of love, but sentation substantially influenced AI research during still be able to use our default whenever possible. This the next 30 years. An interesting account of the his- is done using a cr-rule. tory of this research together with some possible Indirect exceptions to default (1) can be represent- solutions can be found in (Shanahan 1997). We have ed as follows: already discussed the ways of using ASP for repre-

FALL 2016 55 Articles

senting defaults and their exceptions so it shall not state the relations between fluents of the domain. come as a surprise that ASP provides a good solution The next rule describes a relationship between fluents to the frame problem. It also turned out that rules of representing positions of switches and valves. ASP languages can nicely capture causal relations (3) h(pos(V,P),I) :- between fluents, which led to the development of a controls(S,V), h(pos(S,P),I). powerful methodology for representing and reason- The rule states that if a switch is placed in a particu- ing about actions and their effects. lar position, then so is the valve controlled by this We illustrate this methodology by way of example switch. — representation of a simple hydraulic system of a The next rule describes the relationship between space shuttle. The example is taken from an actual the values of fluentpressurized (N) for neighboring decision support software system (Nogueira et al. nodes. 2001) developed to help shuttle controllers to deal (4) h(pressurized(N2),I) :- with critical situations caused by multiple failures. connected(N1,V,N2), Example 2 [Effects of Actions] h(pressurized(N1),I), h(pos(V,open),I). Consider a hydraulic system viewed as a graph whose nodes are labeled by tanks containing propellant, jets, The rule says that if nodes N1 and N2 are connected junctions of pipes, and so on. Arcs of the graph are by open valve V and node N1 is pressurized then so is labeled by valves that can be opened or closed by a node N2. We also assume that tanks are always pres- collection of switches. The system is used to deliver surized and encode this as follows: propellant from tanks to a proper combination of jets. (5) h(pressurized(N),I) :- tank(N), step(I). To axiomatize the knowledge pertinent to this To complete the definition of this fluent we need example, we describe the graph by a collection of to state that no other nodes except those defined by

statements of the form connected(N1, V, N2) — valve rules 4 and 5 are pressurized. This is done by the rule V labels the arc from N1 to N2, and controls(S, V ) — (6) -h(pressurized(N),I) :- node(N), step(I), switch S controls valve V. Fluents pos(S, open) and not h(pressurized(N),I). pos(S, closed) define positions of switch S. Fluents Suppose now that the system contains nodes n1, n2, pos(V, open) and pos(V, closed), defining the position and n3 where n1 is a tank; n1 and n2 are connected by of a valve, and fluent pressurized(N), which holds valve v1; n2 and n3 are connected by valve v2; v1 and when node N is reached by propellant from some v2 are controlled by switches s1 and s2, respectively. tank, will be defined in terms of positions of switch- Assume also that initially, the switches are closed. es of the system. One can see that at the initial step 0, node n1 is pres- The following axiom surized (axiom 5), and nodes n2 and n3 are not (axiom (1) -h(pos(X,P1),I) :- 6). To compute the effects of flipping switchs 1 let us h(pos(X,P2),I), P1 != P2 expand the program by statement guarantees that positions of switches and valves are occurs(flip(s1),0). mutually exclusive, that is, cannot both be true at the The direct effect of this action, determined by axiom

same time step. Here relation h(F, I), where h stands 2, is h(pos(s1, open), 1). There are also indirect effects for holds, is true if a fluent F holds (is true) at time- that follow from axioms 3, 4, and 1: h(pos(v1, open), step I of the system’s trajectory. 1), h(pressurized(n2), 1), and ¬h(pos(v1, closed), 1). To Now we concentrate on the representation of complete our formalization we need to add our solu- action flip(S), which flips the switch S from position tion to the frame problem, which will allow us to

open to position closed and vice versa. Note that this conclude that flipping switch s1 does not change the action has comparatively complex effects including status of switch s2 and valve v2. As discussed earlier, the propagation of the delivery of propellent from this can be done by simply axiomatizing the default tanks to other nodes of the system. The effects will be stating that normally the value of fluent pos(S, Val) divided into direct and indirect. remains unchanged: The direct effect of flipping a switchS from closed (7a) h(pos(S,Val),I+1) :- to open will be given by the following axiom switch(S), h(pos(S,Val),I), (2) h(pos(S,open),I+1) :- not -h(pos(S,Val),I+1). (7b) -h(pos(S,Val),I+1) :- occurs(flip(S),I), h(pos(S,closed),I) switch(S), -h(pos(S,Val),I), where occurs(A, I) is true if action A occurs (hap- not h(pos(S,Val),I+1). pened, is executed) at I. The rule states that if action This is, of course, a typical ASP representation of a flip(S) occurred at a time-step I, in which the fluent default that provides the solution to the frame prob-

pos(S, closed) was true, then at the next step, I + 1, the lem. It guarantees that at step 1 switch s2 is still fluent pos(S, open) would become true. A similar closed. Since positions of v2 and the value of pressur- axiom is needed for flipping a switch from the open ized(n3) are fully determined by positions of the to closed position. switches, nothing else is necessary — v2 will remain To represent indirect effects we simply need to closed and n3 depressurized.

56 AI MAGAZINE Articles

The ability of ASP languages to represent defaults sets of logic programs. An interested reader may look and to express indirect effects of actions by a unidi- into Gelfond and Kahl (2014) for further details. rectional implication made it a good tool for repre- There are other interesting applications of ASP to senting knowledge about dynamic domains. Nowa- classical KR problems. These include its early use for days, however, such knowledge is more frequently providing a declarative semantics to the negation as represented in so-called action languages (Gelfond failure construct of the Prolog programming lan- and Lifschitz 1998), which are more specialized, guage (Gelfond and Lifschitz 1988) as well as com- higher-level languages designed for specifying state- paratively recent work on combining subtle forms of action-state transition diagrams. Consider, for exam- logical and probabilistic reasoning (Baral, Gelfond, ple, one such language, called AL (Gelfond and Kahl and Rushton 2009). 2014). Axiom 2 from example 2 may be written in AL as Applications of ASP to Robotics flip(S) causes pos(S, open) if pos(S, closed) which is a special case of a dynamic causal law of AL ASP has been applied in various robotic applications, — a statement of the form such as assembly planning, mobile manipulation, geometric rearrangement, multirobot path finding, A causes F if P. multirobot coordination, multirobot planning, plan The law says that execution of action A in a state that execution and monitoring, and human-robot inter- satisfies property P causes fluent F to become true in action, to provide methods for high-level reasoning a resulting state. Axiom 4 from example 2 may be (like planning, hypothetical reasoning, diagnostic written as reasoning) and for declarative problem solving (like

pressurized(N2) if pressurized(N1), team coordination, gridization of continuous space). connected(N1, V, N2), For instance, Erdem, Aker, and Patoglu (2012) use pos(V, open) ASP for planning of actions of multiple robots to col- which is a special case of an action language AL state- laboratively tidy up a house within a given time (fig- ment ure 1). They illustrate applications of their ASP-based F if P. planning, execution and monitoring approach with dynamic simulations with PR2 robots.4 The statement guarantees that every state of the sys- In another study Erdem et al. (2013) use ASP to tem satisfying property P also satisfiesF . The inertia find an optimal global plan for multiple teams of axioms 7a and 7b can be replaced by the simpler heterogeneous robots in a cognitive factory to man- statement ufacture a given number of orders within a given fluent(inertial, pos(S, Val)) time (figure 2). They also use ASP for diagnosing plan which indicates that the fluentpos (S, Val) is subject to failures during monitoring of plan execution the inertia axiom. Overall, use of action languages (Erdem, Patoglu, and Saribatur 2015). They illustrate leads to substantially simpler representations and applications of their ASP-based planning with allows the system designer to avoid some ASP-related dynamic simulations and with an augmented reality details. ASP, however, continues to play an important physical implementation that utilizes Kuka youBots role in reasoning about actions. and Lego NXT robots controlled over Robot Operat- First, answer set semantics of logic programs is ing System (ROS). They show applications of their often used to define semantics of action languages. execution-monitoring algorithm, in particular, the Natural translations from action languages to logic use of diagnostic reasoning for replanning and programs allow us to use the notion of answer set to repairs, with dynamic simulations using Kuka precisely define the effects of executing an action A youBots and a Nao humanoid robot.5 in a state σ. Rules 1–6 of example 2 can be viewed as Havur et al. (2014) use ASP for geometric part of such translation from the description of our rearrangement of multiple movable objects on a domain in an action language. The translation will cluttered surface, where objects can change locations also contain a more general version of axioms 7a and more than once by pick and/or push actions (figure 7b: 3). They use ASP for gridization of the continuous h(F,I+1) :- plane for a discrete placement of the initial configu- fluent(inertial,F), h(F,I), not -h(F,I+1) rations and the tentative final configurations of -h(F,I+1) :- objects on the cluttered surface, and for planning of fluent(inertial,F), -h(F,I), not h(F,I+1) robots’ actions. The authors illustrate applications of which provide a rather general solution of the frame their method with the CoCoA service robot, which problem. features a holonomic mobile base and two 7 degrees Second, translation from action languages to logic of freedom (DoF) arms with grippers.6 programs enables us to reduce classical reasoning Zhang, Sridharan, and Wyatt (2015) use ASP to tasks such as prediction, planning, and finding expla- describe objects and relations between them, and nations of unexpected events to computing answer utilize this knowledge to improve localization of tar-

FALL 2016 57 Articles

Figure 1. Multiple Robots Tidying Up a House.

get objects in an indoor domain using (primarily) ity checks of robotic actions using probabilistic visual data. Such a use of ASP has been illustrated by motion-planning methods, as well as automatic a physical implementation with a wheeled robot extraction of relevant commonsense knowledge from navigating in an office building.7 the existing knowledge bases available on the web. In these robotic applications, there are some Such a variety of hybrid reasoning is possible in ASP, important challenges from the point of view of thanks to “external atoms” (Eiter et al. 2006). These robotic planning and diagnosis. The following dis- atoms provide a general interface between high-level cusses how ASP can handle them. reasoning and low-level external computations, in the spirit of semantic attachments in theorem prov- Hybrid Reasoning ing. More precisely, an external atom is an expression One of the key challenges addressed in these robotic of the form applications is hybrid reasoning, which can be &g [Y , …, Y ](X , …, X ) understood as integrating high-level reasoning tasks, 1 n 1 m where Y , …, Y and X , …, X are two lists of terms such as planning, hypothetical reasoning, and diag- 1 n 1 m (called input and output lists, respectively), and g is nosis, with low-level external computations. These external computations include, for instance, feasibil- an external predicate name. Intuitively, an external atom provides a way for deciding the values of an

58 AI MAGAZINE Articles

Figure 2. Multiple Robots Collaboratively Working in a Cognitive Factory.

output tuple with respect to the values of an input tuple. External atoms allow us to embed results of external computations into ASP programs. Therefore, external atoms are usually implemented in a pro- gramming language of the user’s choice. Integrating High-Level Reasoning with Low-Level Feasibility Checks Consider, for instance, multiple robots rearranging objects on a cluttered table (Havur et al. 2014). The objects can only move when picked up and placed, or pushed by robots, and the order of pick-and-place and push operations for rearranging objects may matter to obtain a feasible kinematic solution. There- fore, motion planning (for example, finding a con- tinuous trajectory from one configuration of the robot to another configuration) and other low-level feasibility checks alone are not sufficient to solve them. However, manipulation of objects also requires feasibility checks, such as whether the robot will be able to move an object from one location to another location without colliding with the other objects, or whether the robot will be able to reach the object on the table and grasp it without any collisions. There- Figure 3. A Mobile Service Robot fore, task planning only (for example, finding a Rearranging Objects on a Cluttered Tabletop. sequence of robotic actions from an initial state to a goal state) is not sufficient to solve the problem either. These examples illustrate the necessity for a hybrid approach to planning that integrates task planning with feasibility checks.

FALL 2016 59 Articles

One of the preconditions of the action pickPlace(R, Optimizations in Planning and Diagnosis O, C) of a robot R picking and placing an object O There are various sorts of desired optimizations in onto location C is that the object O is graspable by robotic applications. For instance, in planning, an the end effector of the robot. This precondition can optimal plan can be understood as a plan with mini- be formalized in ASP as follows: mum makespan or a plan with minimum total cost ← occurs(pickPlace(R, O, C), I), of actions. In diagnostic reasoning, an optimal diag- not &reachableGraspable[O, R](). nosis can be understood as a hypothesis with a small- Here &reachableGraspable[O, R]() is an external atom; est number of broken parts of robots. Such optimiza- it returns true if and only if the end effector of the tions are possible in ASP, thanks to “optimization manipulator R can successfully reach and grasp the statements.” given object O according to kinematics and force-clo- For instance, consider the cognitive factories sure calculations of OPENRAVE. Note that these cal- domain with multiple teams of heterogeneous robots culations are done in a continuous configuration (Erdem et al. 2013; Erdem, Patoglu, and Saribatur space using real numbers, and thus are not possible in ASP. 2015). The following expression One of the preconditions of the action push(R, O, #minimize {C,R,I : h(cost(R,C),I), C) of a robot R pushing an object O to location C is robot(R), step(I)} that the volume swept by the object O from its cur- is used to minimize the sum of all costs C of robotic rent configuration toward another configuration in actions performed in a local plan, where costs of C does not collide with other objects. This precondi- actions performed by robot R at every time step are tion can be described as follows: defined by fluents of the formcost (R, C). ← occurs(push(R, O, C), I), The following statement minimizes the total num- not & pushPossible[location, O, I](). ber of the broken parts of robots while finding a diag- Here &pushPossible is an external predicate as well: it nosis for a discrepancy: takes as input all locations of objects at time step I, #minimize {1,P,R: broken(R,P), comp(R,P)} and checks whether the swept volume of the object where atoms of the form comp(R, P) describe robots O collides with other objects using Open Dynamics and their parts, and atoms of the form broken(R, P) Engine (ODE). describe that part P of the robot R is broken. Embedding Commonsense Knowledge in High-Level Reasoning Complex Constraints in Replanning Consider, for instance, the housekeeping domain During plan execution, discrepancies between the with multiple robots (Erdem, Aker, and Patoglu observed state and the expected one may be detected 2012). The commonsense knowledge about expected that are relevant for the rest of the plan. These dis- locations Loc of objects Ep (for example, dish in crepancies may be due to an unexpected obstacle in kitchen, bed in bedroom) can be extracted from the the environment, change of locations of objects, bro- existing commonsense knowledge base ConceptNet ken robots, or failures of some actions. Once the (Liu and Singh 2004) by means of queries through its cause of a discrepancy is detected, a new plan from Python API, and can be defined by external atoms of the current state can be computed. While replan- the form &in_place[Ep, Loc](). Then, one can repre- ning, some guidance from earlier experiences and sent the expected locations of objects Ep in the house causes of discrepancies might be helpful to compute by a new fluent of the form at_desired_location(Ep) as a better plan that does not fail due to the same rea- follows: sons. ASP allows us to include such a guidance, by ← h(at_desired_location(Ep), I) including constraints into the representation of the h(at(Ep, Loc), I), &in_place[Ep, Loc](). planning problem description. These constraints This rule formalizes that the object Ep is at its desired might express not only the new knowledge about the location if it is at some “appropriate” position Loc in environment, robots, and/or goals, but also what sort the right room. of actions should not be executed under what condi- Another line of research that represents common- tions and when. For instance, in the housekeeping sense knowledge for service robotics applications is domain (Erdem, Aker, and Patoglu 2012), if some by Chen et al. (2010). In these applications, com- robot’s plan fails because the robot cannot pick up an monsense knowledge such as “a long-shape object B object that turns out to be quite heavy, the robot whose center-of-mass is on the table, is initially in might want to delay asking for help as much as pos- balance if there is a can A on one end E of it and 1 sible so that the other robots are not distracted. Such another can B on the other end E2 of it” is formulat- ed in ASP: a complex constraint (for example, heavy objects can be picked with help only during the last three steps h(balance(B,A,C),0) :- h(on(A,E_1),0), h(on(C,E_2),0), of the plan) can be represented in the planning prob- endof(E_1,B), endof(E_2,B). lem description using ASP.

60 AI MAGAZINE Articles

Commonsense Knowledge and Exceptions (2011) introduce a method to model biochemical Consider, for instance, the housekeeping domain reactions and genetic regulations as influence graphs with multiple robots (Erdem, Aker, and Patoglu in ASP, to detect and explain inconsistencies between 2012). Normally, the movable objects in an untidy experimental profiles and influence graphs. With this house are not at their desired locations. Such com- method, they compare the yeast regulatory network monsense knowledge can be described by means of with the genetic profile data of SNF2 knockouts, and defaults, as in the following rules: find the data to be inconsistent with the network. Brooks et al. (2007) use ASP to solve the problem of -h(at_desired_location(Ep),I) :- endpoint(Ep), step(I), reconstructing phylogenies (that is, evolutionary not h(at_desired_location(Ep),I). trees) for specified taxa, with a character-based cladis- In a similar way, the tidiness of a house is defined by tics approach. They apply their method to infer phy- means of defaults: logenies for Alcataenia species as well as Indo-Euro- pean languages (figure 4) and Chinese dialects; these -h(tidy,I) :- -h(at_desired_location(Ep),I) h(tidy,I) :- not -h(tidy,I), step(I). phylogenies are found plausible by the experts. Based on these phylogenies, phylogenetic networks are The second rule above expresses that the house is reconstructed as well (Erdem, Lifschitz, and Ringe normally tidy. The first rule above describes the 2006). exceptions: when an object is not at its expected loca- In the NMSU-PhyloWS project (Le et al. 2012), ASP tion, the house is untidy. is used to query the repository CDAOStore of phylo- Let us now consider diagnostic reasoning in cog- genies. These queries are used, for instance, to find nitive factories with multiple teams of heterogeneous the trees that satisfy a given property (for example, robots (Erdem, Patoglu, and Saribatur 2015). Nor- whose size is smaller than a specified constant, with mally, the robots and their parts run smoothly. How- a specified ratio of internal nodes to external nodes), ever, there may be exceptions: some parts P of robots to find the similarity of two trees with respect to a R that are not broken currently (at time-step I) may distance measure (for example, the Robinson-Foulds get broken at the next state (at any time-step I). This distance), to compute clades with specific properties commonsense knowledge can be represented by (for example, the minimum spanning clade for taxa means of defaults as well: in a specified tree). -h(broken(R,P),I) :- comp(R,P), step(I), Erdem et al. (2011) and Erdem and Oztok (2015) not h(broken(R,P),I) h(broken(R,P),I+1) :- comp(R,P), step(I), use ASP to answer complex queries over biomedical -h(broken(R,P),I), ontologies and databases that consider the relevant not -h(broken(R,P),I+1). parts of these knowledge resources, and to generate Other examples of the use of ASP to represent the shortest explanations to justify these answers. expected locations of objects, by means of defaults, They apply their methods to find answers and expla- and to find diagnoses, by means of cr-rules, can be nations to some complex queries related to drug dis- found in Zhang et al. (2014). covery (for example, “What are the genes that are tar- geted by the drug Epinephrine and that interact with the gene DLG4?”, “What are the genes related to the Applications of ASP to gene ADRB1 through a gene-gene relation chain of Computational Biology length at most three?” and “What are the most sim- and Bioinformatics ilar three genes that are targeted by the drug Epi- nephrine?”) over the biomedical knowledge ASP has been applied in various computational biol- resources PharmGKB, DrugBank, BioGRID, CTD, ogy and bioinformatics applications, providing a SIDER, and Disease Ontology. declarative problem-solving framework for combina- Dovier, Formisano, and Pontelli (2009) use ASP to torial search problems (for example, haplotype infer- study a variation of the protein structure prediction ence, consistency checking in biological networks, problem: the two-dimensional HP-protein structure phylogeny reconstruction) and providing a knowl- prediction problem. The goal is to find a folding in edge representation and reasoning framework for the two-dimensional square lattice space that maxi- knowledge-intensive reasoning tasks (for example, mizes the number of hydropic-hydropic contacts integrating, query answering and explanation gener- between given amino acids. ation over biomedical ontologies). Erdem and Ture (2008) use ASP to solve the prob- Tran and Baral (2009) introduce a method to mod- lem of haplotype inference by pure parsimony (HIPP) el a biological signaling network as an action descrip- and its variations. Identifying maternal and paternal tion in ASP to allow prediction, planning, and expla- inheritance is essential for finding the set of genes nation generation about the network. They illustrate responsible for a particular disease. However, due to an application of their method to generate hypothe- technological limitations, we have access to geno- ses about the various possible influences of a tumor type data (genetic makeup of an individual), and suppressor gene on the p53 pathway. Gebser et al. determining haplotypes (genetic makeup of the par-

FALL 2016 61 Articles

Proto- Proto- Italo-Celtic Anatolian Proto- Proto-Greco- Indo-Iranian Armenian

Proto- Balto-Slavic Proto- Tocharian Proto- Germanic

Albanian

Figure 4. The Most Plausible Phylogeny Reconstructed for Indo-European Languages.

ents) experimentally is a costly and time consuming Integration of Heterogeneous Knowledge procedure. With these biological motivations, HIPP To answer complex queries over a variety of biomed- asks for the minimal number of haplotypes that form ical ontologies (Erdem et al. 2011), ASP allows us to a given set of genotypes. extract relevant parts of them (thanks to external In these bioinformatics applications, one can iden- atoms) and integrate them by rules. For instance, the tify some important challenges addressed by ASP; drug names can be extracted from a drug ontology, these challenges illustrate also the strengths of ASP. by first extracting the relevant triples from the ontol- Declarative Problem Solving ogy: tripleD(X, Y, Z) ← The declarative representation formalism of ASP & rdf [“URIforDrugOntology”](X, Y, Z) allows us to easily include domain-specific informa- and then extracting drug names from the triples: tion and constraints in the program, and thus to pre- vent the construction of implausible solutions. For drugName(A) :- tripleD(_,”drugproperties:name”,A). instance, including some temporal and geographical constraints about Indo-European languages provided Then, to answer queries like “What are the drugs that by historical linguists (for example, “Albanian can- treat the disease depression and that do not target the not be a sister of IndoIranian or BaltoSlavic”) helps in gene ACYP1?” the extracted relevant knowledge can computing plausible phylogenies more efficiently. be integrated by rules as follows: Well-studied properties of programs in ASP allow whatDrugs(DRG) :- cond1(DRG), cond2(DRG) us to easily prove the correctness of the formulation cond1(DRG) :- drugDisease(DRG,”Depression”) cond2(DRG) :- drugName(DRG), of the problem in ASP, as shown in Erdem, Lifschitz, not drug_gene(DRG,”ACYP1”). and Ringe (2006). With a declarative representation of the problem Expressivity of Representation in ASP, one can perform various reasoning tasks, such ASP features rich, expressive formalisms (for example, as ontological query answering and explanation gen- the support of recursive definitions and negation as eration (Le et al. 2012; Erdem et al. 2011; Erdem and failure), and efficient solvers that support special syn- Oztok 2015), planning and diagnosis (Tran and Bar- tactic constructs (for example, aggregates and opti- al 2009), consistency checking and explanation gen- mization statements). eration (Gebser et al. 2011), and repair and predic- For instance, in Gebser et al. (2011), candidates for tion (Gebser et al. 2010). minimal inconsistent components in an influence

62 AI MAGAZINE Articles graph, where two distinct vertices are not reachable from each other by a cycle, can be eliminated by the following constraint: %detect possible and suggested places :- active(U), active(V), possiblePlace(Place) :- askFor(TripKind,_), not cycle(U,V), U

FALL 2016 63 Articles

was modeled by predicate shift(id, date, duration), the assign(E,Sh,Sk) | nAssign(E,Sh,Sk) :- skills necessary for a certain shift by neededSkill(shift, hasSkill(E,Sk), employee(E,_), skill), weekly statistics that specify, for each employ- shift(Sh,Day,Dur), not absent(Day,E), ee, the last allocation date per skill by predicate not excluded(Sh,E), wstat(employee, skill, lastTime), employees excluded neededSkill(Sh,Sk), due to a management decision by excluded(shift, workedHours(E,Wh), Wh+Dur<36. employee), absent employees by predicate absent(day, :- shift(Sh,_,_), employee), and total amount of working hours in the neededEmployee(Sh,Sk,EmpNum), week per employee by predicate workedHours(employ- #count{E: assign(E,Sh,Sk)}!=EmpNum. ee,weekHours). A simplified version of the program computing teams is shown in figure 6.4 :- assign(E,Sh,Sk1), assign(E,Sh,Sk2), The first rule is disjunctive. It generates the search Sk1!=Sk2. space by guessing the assignment of a number of :- wstats(E1,Sk,LastTime1), available employees to the shift in the appropriate wstats(E2,Sk,LastTime2), roles. Absent or excluded employees, together with LastTime1>LastTime2, assign(E1,Sh,Sk), employees exceeding the maximum number of week- not assign(E2,Sh,Sk). ly working hours, are automatically discarded. Then, :- workedHours(E1,Wh1), workedHours(E2,Wh2), inadmissible solutions are discarded by means of four threshold(Tr), Wh1+Tr

64 AI MAGAZINE Articles

Figure 7. A Visual Definition of Customer Categories in zLog. ter operators can define customer categories, but it is response time, and to improve customer support very likely that these employees may not have the quality. The zLog platform can detect the customer competence for defining categories with a tradition- category in less than 100 milliseconds (starting from al programming language. Thus, the definition of her or his telephone number) and manage more than customer categories is carried out through a user- 400 calls per second. As a result, zLog enables huge friendly visual interface (see figure 7) that allows one time savings for more than 1 million daily calls. to specify and modify categories. Once a new catego- ry has been defined, zLog automatically generates an e-Medicine ASP program that provides its logical encoding and Medical knowledge bases, resulting from the integra- that can be executed by DLV over the database to tion of several different databases, often present populate the category. A category’s definition criteria errors and anomalies that severely limit their useful- include customer behavioral aspects, such as recent ness. ASP has been successfully employed in this con- history of contacts (for example, telephone calls to text. In particular, a multisource data-cleaning sys- the contact center, messages sent to customer assis- tem, based on ASP and called DLVCleaner, has been tance) or basic customer demographics (for example, realized, which detects and automatically corrects age, residence). The latter is useful, for instance, in both syntactic and semantic anomalies in medical case of natural disasters, or type of contract. When a knowledge bases (Leone and Ricca 2015), based on customer calls the call center, she or he is automati- ontological domain descriptions and measures for cally assigned to a category (based on his or her pro- string similarities (Greco and Terracina 2013). DLV- file) and then routed to an appropriate human oper- Cleaner automatically generates ASP programs that ator or automatic responder. are able to identify and possibly correct errors with- Telecom Italia employs the zLog platform in a pro- in the medical data. DLVCleaner has been employed duction system that handles its call centers. Every to clean up the data stored in the tumor registries of day, more than 1 million telephone calls asking for the Calabria region, integrating information from diagnostic services reach the call centers of Telecom several local health-care centers, including public Italia. The needs are to optimize the operator assign- hospitals, private health-care centers, family doctors, ment process, in order to reduce the average call and others. The main input table consisted of

FALL 2016 65 Articles

1,000,000 tuples collecting records from 155 munic- Decision Support Systems ipalities, whereas the dictionary stored about 15,000 ASP has been used by United Space Alliance to check tuples. DLVCleaner recognized that almost 50 per- correctness of plans and find plans for the operation cent of input tuples were wrong. Moreover, 72 per- of the reaction control system (RCS) of the space cent of the wrong tuples were automatically correct- shuttle (Nogueira et al. 2001) (as briefly discussed in ed by DLVCleaner, which for an additional 26 example 2). The RCS is the shuttle’s system mainly percent of the tuples suggested multiple corrections for maneuvering the aircraft while it is in space. The to be evaluated by the user. Only 2 percent of input RCS is computer controlled during takeoff and land- tuples have been detected as wrong and not ing. While in orbit, however, astronauts have the pri- repairable. mary control. During normal shuttle operations, By using ASP in this application, a simplified and there are prescripted plans that tell the astronauts flexible specification of the logic of the data-cleaning what should be done to achieve certain goals. The sit- task is obtained. uation changes when there are failures in the system. The number of possible sets of failures is too large to Configuration and Reconfiguration of preplan for all of them. Meanwhile, RCS consists of Products and Services fuel and oxidizer tanks, valves, and other plumbing One of the first industrial applications of ASP (using to provide propellant to the maneuvering jets of the the ASP solver Smodels) was for product configura- shuttle, and it consists of electronic circuitry to con- trol the valves in the fuel lines and to prepare the jets tion (Tiihonen, Soininen, and Sulonen 2003), used to receive firing commands. The actions of flipping by Variantum Oy. The most recent configuration and switches have many ramifications on the states of reconfiguration applications have been carried out valves, and thus this application domain presents the by the group of Gerhard Friedrich at Alpen-Adria further challenges of the ramification problem. Universität Klagenfurt, Austria, and deployed by Thanks to the expressivity of ASP in representing Siemens. dynamic systems and handling the ramification In particular, ASP has been applied (with the ASP problem (as explained in example 2), an intelligent solver clasp) for the configuration of railway safety system has been implemented using ASP with the systems in order to compute the connection struc- ASP solver Smodels to verify and generate such pre- ture between sensors, indicators, and communica- plans. tion units. The task of this part of a railway safety sys- tem is to detect objects that entered but did not leave Some Challenges Addressed a section, thus blocking a track. It turned out that by ASP in Industrial Applications this configuration problem is NP-hard and is chal- To deal with industrial applications, ASP has to lenging for the state-of-the-art problem-solving address various software engineering challenges. frameworks, that is, SAT, CSP, MIP, and ASP Thanks to its powerful and expressive framework, (Aschinger et al. 2011). However, by applying ASP it using ASP-based software development provides was possible to solve configuration problems that many advantages, such as flexibility, readability, could not be solved by specialized configuration extensibility, and ease of maintenance. Indeed, the tools. possibility of modifying complex reasoning tasks by Besides configuration, the reconfiguration of prod- simply editing a text file with the ASP rules, and test- ucts and services plays an important role in practice. ing it on-site together with the customer, has been In many areas of configurable systems where the cus- often a great advantage of ASP-based development. tomer requirements change, the configured system is This aspect of ASP-based software development was a also subject to adaptations. ASP is applied to model success reason especially for the workforce-manage- ment application, where the high complexity of the the possible changes of existing systems and to com- requirements was a main obstacle, and the availabil- pute reconfiguration solutions that optimize the ity of an executable specification language, like ASP, adaptation actions. for example, maximize the num- allowed clarifying and formalizing the requirements ber of reused modules and minimize the costs of much more quickly together with the customer. additional equipment (Friedrich et al. 2011). Realizing complex features of an application in In addition to configuration tasks, ASP was applied such a way also brings about advantages of lower to diagnose and repair systems. Friedrich et al. (2010) (implementation) costs, compared to traditional describe a system that computes repair plans for imperative languages. faulty workflow instances employing ASP. Given the Another challenge in industrial applications is workflow structure, a set of possible repair actions, computational efficiency. Fortunately, ASP solvers and a workflow instance where an exception was trig- implement optimization techniques to handle such gered, a contingency plan is generated such that after challenges. For instance, in the Intelligent call-rout- the execution of this plan a correct completion of the ing application, an immediate response has to be giv- workflow instances is achieved. en to queries over huge data sets. Thanks to the avail-

66 AI MAGAZINE Articles ability of the Magic Set optimization Son, and Mirek Truszczyński for their Brooks, D. R.; Erdem, E.; Erdogan, S. T.; technique (Alviano et al. 2012), DLV comments on an earlier draft of this Minett, J. W.; and Ringe, D. 2007. Inferring can localize the computation to the article. The work of Esra Erdem is par- Phylogenetic Trees Using Answer Set Pro- small fragment of the database that is tially supported by TUBITAK Grants gramming. Journal of Automated Reasoning 39(4): 471–511. dx.doi.org/10.1007/s10817- relevant for the specific query at hand; 111E116 and 114E491 (Chist-Era 007-9082-1 using this optimization technique COACHES). The work of Nicola Leone Chen, X.; Ji, J.; Jiang, J.; Jin, G.; Wang, F.; leads to a tremendous speedup of the is partially supported by the Italian and Xie, J. 2010. Developing High-Level computation. Ministry of University and Research Cognitive Functions for Service Robots. In under PON project Ba2Know (Business Proceedings of the 9th International Conference Analytics to Know) Service Innovation on Autonomous Agents and Multiagent Sys- Conclusion - LAB, No. PON03PE 00001 1. tems (AAMAS 2010), 989–996. Richland, SC: We have discussed some applications of International Foundation on Autonomous Agents and Multiagent Systems. ASP in knowledge representation and Notes reasoning, robotics, and bioinformatics Dovier, A.; Formisano, A.; and Pontelli, E. and computational biology as well as 1. Available at www.dropbox.com/s/ 2009. An Empirical Study of Constraint and Answer Set Pro- some industrial applications. In these pe261e4qi6bcyyh/aspAppTable.pdf?dl=0. gramming Solutions of Combinatorial applications, ASP addresses various 2. The definition of a program also includes the fourth component — a preference rela- Problems. Journal of Experimental and Theo- challenges. For instance, representation tion on sets of cr-rules. In what follows, we retical Artificial Intelligence 21(2): 79–121. of defaults to handle exceptions and assume that a set with the smaller number of dx.doi.org/10.1080/09528130701538174 the commonsense law of inertia to be rules is preferred to that with the larger one. Eiter, T.; Ianni, G.; Schindlauer, R.; and able to reason about the effects of 3. www.mat.unical.it/aspcomp2013/files/AS Tompits, H. 2006. Effective Integration of actions are some of the important chal- P-CORE-2.03c .pdf Declarative Rules with External Evaluations for Semantic-Web Reasoning. In Proceedings lenges in knowledge representation 4. The full version makes use of sophisticat- of the Semantic Web: Research and Applica- and reasoning. Hybrid reasoning, rea- ed constructs, like weak constraints and tions, 3rd European Semantic Web Conference, soning about commonsense knowl- more complex aggregates (Alviano and ESWC 2006, Lecture Notes in Computer Sci- edge and exceptions, optimizations Leone 2015). ence 4011. Berlin: Springer. dx.doi.org/10. over plans or diagnoses are some of the 5. www.exeura.eu/en/solution/customer- 1007/s11370-012-0119-x important challenges addressed by ASP profiling. Erdem, E.; Aker, E.; and Patoglu, V. 2012. in robotic applications. Provability of Answer Set Programming for Collaborative formulation of computational prob- References Housekeeping Robotics: Representation, lems, expressing sophisticated concepts Alviano, M., and Leone, N. 2015. Complex- Reasoning, and Execution. Intelligent Service that require recursion and/or aggre- ity and Compilation of GZ-Aggregates in Robotics 5(4): 275–291. dx.doi.org/10.1017/ gates, and integration of heterogeneous Answer Set Programming. Theory and Prac- S1471068413000598 knowledge are some of the important tice of Logic Programming 15(4–5): 574–587. Erdem, E., and Oztok, U. 2015. Generating challenges addressed by ASP in bioin- dx.doi.org/10.1017/S147106841500023X Explanations for Biomedical Queries. Theo- formatics and computational biology. Alviano, M.; Faber, W.; Greco, G.; and ry and Practice of Logic Programming Similar challenges are also addressed in Leone, N. 2012. Magic Sets for Disjunctive 15(1):35–78. dx.doi.org/10.1017/S14710 industrial applications, such as data Datalog Programs. Artificial Intelligence 187: 68413000598 156–192. dx.doi.org/10.1016/j.artint.2012. cleaning, extraction of relevant knowl- Erdem, E., and Türe, F. 2008. Efficient Hap- 04.008 edge from large databases, and soft- lotype Inference with Answer Set Program- Aschinger, M.; Drescher, C.; Friedrich, G.; ming. In Proceedings of the Twenty-Third ware-engineering challenges. Thanks Gottlob, G.; Jeavons, P.; Ryabokon, A.; and AAAI Conference on Artificial Intelligence, to the expressive declarative languages Thorstensen, E. 2011. Optimization Meth- 436–441. Menlo Park, CA: AAAI Press. of ASP that support default negation, ods for the Partner Units Problem. In Inte- Erdem, E.; Erdem, Y.; Erdogan, H.; and aggregates, recursion, external atoms, gration of AI and OR Techniques in Constraint Öztok, U. 2011. Finding Answers and Gen- consistency restoring rules and opti- Programming for Combinatorial Optimization erating Explanations for Complex Biomed- mization statements, the presence of Problems: 8th International Conference, ical Queries. In Proceedings of the Twenty- theoretical results that help for analysis CPAIOR 2011, Lecture Notes in Computer Fifth AAAI Conference on Artificial of ASP formulations, and the sophisti- Science 6697, 4–19. Berlin: Springer. Intelligence. Palo Alto, CA: AAAI Press. cated methods (like Magic Sets) imple- dx.doi.org/10.1007/978-3-642-21311-3_4 Erdem, E.; Lifschitz, V.; and Ringe, D. 2006. mented in the ASP solvers to improve Balduccini, M., and Gelfond, M. 2003. Log- Temporal Phylogenetic Networks and Logic computational efficiency, these chal- ic Programs with Consistency-Restoring Programming. Theory and Practice of Logic Rules. In Logical Formalization of Com- lenges can be addressed by ASP. Programming 6(5): 539–558. dx.doi.org/10. monsense Reasoning: Papers from the 2003 1017/S1471068406002729 Acknowledgements AAAI Spring Symposium, Technical Report Erdem, E.; Patoglu, V.; and Saribatur, Z. G. SS-03-05, 9–18. Menlo Park, CA: AAAI Press. 2015. Integrating Hybrid Diagnostic Rea- Thanks to Gerhard Brewka, Francesco Baral, C.; Gelfond, M.; and Rushton, J. N. soning in Plan Execution Monitoring for Calimeri, Wolfgang Faber, Martin Geb- 2009. Probabilistic Reasoning with Answer Cognitive Factories with Multiple Robots. ser, Tomi Janhunen, Volkan Patoglu, Sets. Theory and Practice of Logic Program- In Proceedings of the IEEE International Con- Simona Perri, Enrico Pontelli, ming 9(1): 57–144. dx.doi.org/10.1017/S147 ference on Robotics and Automation, ICRA Francesco Ricca, Torsten Schaub, Tran 1068408003645 2015, 2007–2013. Piscataway, NJ: Institute

FALL 2016 67 Articles for Electrical and Electronics Engineers. of Multiple Movable Objects on Cluttered Configurable Products. In Proceedings of the dx.doi.org/10.1109/ICRA.2015.7139461 Surfaces: A Hybrid Reasoning Approach. In 14th International Conference on Engineering Erdem, E.; Patoglu, V.; Saribatur, Z. G.; Proceedings of the 2014 IEEE International Design, 1290–1299. Edinburgh, UK: The Schüller, P.; and Uras, T. 2013. Finding Opti- Conference on Robotics and Automation, ICRA Design Society. mal Plans for Multiple Teams of Robots 2014, 445–452. Piscataway, NJ: Institute for Tran, N., and Baral, C. 2009. Hypothesizing Through a Mediator: A Logic-Based Electrical and Electronics Engineers. about Signaling Networks. Journal of Applied Approach. Theory and Practice of Logic Pro- dx.doi.org/ 10.1109/icra.2014.6906894 Logic 7(3): 253–274. dx.doi.org/10.1016/j. gramming 13(4-5): 831–846. dx.doi.org/10. Hayes, P. J., and McCarthy, J. 1969. Some jal.2008.10.001 1017/S1471068413000525 Philosophical Problems from the Stand- Zhang, S.; Sridharan, M.; and Wyatt, J. L. point of Artificial Intelligence. InMachine Friedrich, G.; Fugini, M.; Mussi, E.; Pernici, 2015. Mixed Logical Inference and Proba- Intelligence 4 ed. B. Meltzer and D. Michie. B.; and Tagni, G. 2010. Exception Handling bilistic Planning for Robots in Unreliable Edinburgh: Edinburgh University Press. for Repair in Service-Based Processes. IEEE Worlds. IEEE Transactions on Robotics 31(3): 463–502. Transactions on Software Engineering 36(2): 699–713. dx.doi.org/10.1109/TRO.2015. 198–215. dx.doi.org/10.1109/TSE.2010.8 Le, T.; Nguyen, H.; Pontelli, E.; and Son, T. C. 2422531 2012. ASP at work: An ASP Implementation Friedrich, G.; Ryabokon, A.; Falkner, A. A.; Zhang, S.; Sridharan, M.; Gelfond, M.; and Haselböck, A.; Schenner, G.; and Schreiner, of Phylows. In Technical Communications Wyatt, J. L. 2014. Towards an Architecture H. 2011. (Re)Configuration Based on Model of the 28th International Conference on For Knowledge Representation and Reason- Generation. Paper presented at the Second Logic Programming, ICLP 2012, 359–369. ing in Robotics. In Social Robotics: 6th Inter- Workshop on Logics for Component Con- Saarbrücken, German: Schloss Dagstuhl – national Conference, ICSR 2014. Lecture figuration, Perugia, Italy, 12 September. Leibniz-Zentrum fuer Informatik. Notes in 8755, 400–410. dx.doi.org/10.4204/eptcs.65.3 Leone, N., and Ricca, F. 2015. Answer Set Berlin: Springer. dx.doi.org/10.1007/978-3- Programming: A Tour from the Basics to Gebser, M.; Guziolowski, C.; Ivanchev, M.; 319-11973-1_41 Schaub, T.; Siegel, A.; Thiele, S.; and Veber, Advanced Development Tools and Industri- P. 2010. Repair and Prediction (Under al Applications. Tutorial Lecture presented Esra Erdem is an associate professor in at Reasoning Web — Web Logic Rules: 11th Inconsistency) in Large Biological Networks computer science and engineering at Saban- International Summer School 2015, Berlin, with Answer Set Programming. In Principles ci University. She received her Ph.D. in Germany, July 31 - August 4. of Knowledge Representation and Reasoning: computer sciences at the University of Texas Proceedings of the Twelfth International Con- Liu, H., and Singh, P. 2004. ConceptNet: A at Austin (2002) and carried out postdoc- ference. Menlo Park, CA: AAAI Press. Practical Commonsense Reasoning Toolkit. toral research at the University of Toronto Gebser, M.; Schaub, T.; Thiele, S.; and Veber, BT Technology Journal 22(4): 211–226. and Vienna University of Technology from P. 2011. Detecting Inconsistencies in Large dx.doi.org/10.1023/B:BTTJ.0000047600 2002 to 2006. Her research is about the .4421.6d Biological Networks with Answer Set Pro- mathematical foundations of knowledge gramming. Theory and Practice of Logic Pro- Manna, M.; Scarcello, F.; and Leone, N. representation and reasoning and their gramming 11(2): 1–38. dx.doi.org/10.1017/ 2011. On the Complexity of Regular-Gram- applications to cognitive robotics and com- s1471068410000554 mars with Integer Attributes. Journal of Com- putational biology. Gelfond, M., and Kahl, Y. 2014. Knowledge puter and Systems Sciences International 77(2): Representation, Reasoning, and the Design of 393–421. Michael Gelfond is a professor of computer Intelligent Agents: The Answer-Set Program- McCarthy, J. 1990. Formalization of Common science at Texas Tech University. He received ming Approach. New York: Cambridge Uni- Sense, Papers by John McCarthy, edited by V. his Ph.D. from the Institute of Mathematics versity Press. dx.doi.org/10.1017/CBO978 Lifschitz. Norwood, NJ: Ablex. of the Russian Academy of Sciences, St. 1139342124 Nogueira, M.; Balduccini, M.; Gelfond, M.; Petersburg in 1974.Gelfond contributed to Gelfond, M., and Lifschitz, V. 1988. The Sta- Watson, R.; and Barry, M. 2001. An A-Prolog the development of the stable model/answer ble Model Semantics for Logic Program- Decision Support System for the Space Shut- set semantics of logic programming and the ming. In Logic Programming, Proceedings of tle. In Practical Aspects of Declarative Lan- answer set , which is the Fifth International Conference and Sympo- guages, Third International Symposium, PADL founded on the stable model semantics. He sium, 1070–1080. Cambridge, MA: The MIT 2001. Lecture Notes in Computer Science is a fellow of the AAAI and recipient of three Press. 1990, 169–183. Berlin: Springer. Test of Time awards from the International Association of Logic Programming. Gelfond, M., and Lifschitz, V. 1991. Classi- Ricca, F.; Dimasi, A.; Grasso, G.; Ielpa, S. M.; cal Negation in Logic Programs and Dis- Iiritano, S.; Manna, M.; and Leone, N. 2010. Nicola Leone is a professor of computer sci- junctive Databases. New Generation Comput- A Logic-Based System for E-Tourism. Funda- ence at the University of Calabria, where he ing 9(3/4): 365–385. dx.doi.org/10.1007/ menta Informatica 105(1–2): 35–55. dx.doi. heads the Department of Mathematics and BF0303 7169 org/10.1017/S147106841100007X Computer Science and leads the AI Lab. Until Gelfond, M., and Lifschitz, V. 1998. Action Ricca, F.; Grasso, G.; Alviano, M.; Manna, M.; 2000 was a professor of database systems at Languages. Electronic Transactions on Artifi- Lio, V.; Iiritano, S.; and Leone, N. 2012. Vienna University of Technology. He is inter- cial Intelligence, ETAI 2(3–4): 193–210. Team-Building with Answer Set Program- nationally renowned for his research on Greco, G., and Terracina, G. 2013. Frequen- ming in the Gioia-Tauro Seaport. Theory and knowledge representation, answer set pro- cy-Based Similarity for Parameterized Practice of Logic Programming 12(3): 361–381. gramming, and database theory, and for the Sequences: Formal Framework, Algorithms, Shanahan, M. 1997. Solving the Frame Prob- development of DLV, a state-of-the-art ASP and Applications. Information Sciences lem: A Mathematical Investigation of the Com- system. He published more than 250 papers 237(July): 176–195. dx.doi.org/10.1016/j. monsense Law of Inertia. Cambridge, MA: in prestigious conferences and journals, and ins.2013.03.016 The MIT Press. has more than 8000 citations, with h-index Havur, G.; Ozbilgin, G.; Erdem, E.; and Tiihonen, J.; Soininen, T.; and Sulonen, R. 46. He is a fellow of ECCAI (now EurAI) and Patoglu, V. 2014. Geometric Rearrangement 2003. A Practical Tool for Mass-Customising recipient of an ACM Test of Time award.

68 AI MAGAZINE