• Y is not pickable so the algorithm eliminates it from Y with saving a copy of it in order to deal with afterwards, as soon as the assignment a is updated. • Y is decisive so the algorithm concludes that us does not dominate us0. Let us describe the entailment algorithm as a sequence of actions:
i) The algorithm generates Y and initializes the assignment a = >.
ii) The algorithm navigates through all subsets Y of Y. If Y is decisive then the algorithm stops and returns False (which says that us does not dominate us0). If Y is pickable then the algorithm updates assignment a, by extending it with assignment u(Y ). Then, the algorithm removes Y from Y and considers the very first subset that was considered as not pickable if there is any. In fact, this kind of subset is stored in a temporary memory zone that we call tempY
(e.g., a list). It looks through all variables in tempY then it retrieves subsets
from Y if there are any remaining subsets that were never checked (to be pick- able or not). Every time assignment a is updated (i.e., extended with us(Y )), the algorithm first checks subsets Y in tempY. If Y is pickable then the algo-
rithm updates assignment a and removes it from tempY. Otherwise (i.e., Y is
not pickable), the next subset Y in tempY is checked. When assignment a is
updated, subsets Y , that were previously stored in tempY as they were found
not pickablein a previous iteration, are considered again (before the ones in Y that are not yet checked).
iii) The algorithm stops in two cases: 1) if it finds a decisive Y ; 2) or if there is no pickableY neither in tempY nor in Y. Indeed, the algorithm always updates tempY with not pickable subsets Y when assignment a is updated (in case there
is a subset Y which was found pickable). We can say that the algorithm returns True (which says that us dominates us0) when assignment a is not updated anymore and all the remaining subsets Y were verified as not pickable.
3.6
Other Preferential Semantics
The problem of preference representation has been tackled in the literature with quite a different number of approaches. Given the incompleteness of available knowl- edge, we may need to use preferences and optimisation criteria to select the best candidate solutions according to both qualitative and quantitative measures.
Possibilistic logic is one formalism that may be used for encoding user prefer- ences, since possibility measures can actually be viewed as rankings (on worlds or also objects) along an ordinal scale (Straccia 2008). One preliminary investigation of
the potentials of possibilistic logic in the representation and combination of prefer- ences in decision analysis can be found in (Benferhat et al. 2001) which proposes a qualitative preference framework that allows the relative importance of preferences to be specified. When modeling preferences in possibilistic logic, the necessity mea- sure κ associated with a classical formula ν in (ν, κ) is understood as the priority of ν rather than its certainty level (Benferhat et al. 2001). Possibilistic logic has been implemented in many ways, e.g., the POSLOG system (Dubois et al. 1990). The possi- bility measure was introduced by Zadeh (Zadeh 1999) and was greatly developed by Dubois, Prade and others (Dubois & Prade 1990). It deals well with default reasoning and counterfactual reasoning (Parsons 2006).
Ordered disjunctions are a recent, promising development in reasoning about preferences with logic programming which is subject of work by (Schaub & Wang 2001, Brewka 2002, Brewka, Niemelä & Syrjänen 2004, Brewka, Benferhat & Berre 2004), and others. Answer Set Programming (ASP) is a form of logic programming based on the answer set semantics (Gelfond & Lifschitz 1988a, Gelfond 2007), where solutions to a given problem are represented in terms of selected models (answer sets) of the corresponding logic program (Marek & Truszczynski 1998). Logic pro- gramming with ordered disjunction has been invented by Brewka (Brewka, Niemelä & Syrjänen 2004) as an extension of answer set programming to represent prior- ity among literals and rules in an ASP program. Various forms of preferences have also been introduced in ASP (see (Delgrande et al. 2004)). Most of the proposed approaches are based on establishing priorities/preferences among rules.
In (Brewka 2002), the author introduces logic programs with ordered disjunction (denoted by LPOD) to represent preferences. It combines Qualitative Choice Logic (QCL) (Brewka, Benferhat & Berre 2002, Brewka, Benferhat & Berre 2004) and ASP. QCL is a propositional logic for representing alternative, ranked options for the solu- tions of the problem. QCL semantics is based on a preference relation among models. This preference framework is designed to represent preferences over alternatives and induces a complete pre-order over models. The semantics of LPOD is based on the notion of preferred answer sets.
In later papers (Brewka, Niemelä & Syrjänen 2002, Brewka, Niemelä & Syrjänen 2004), the authors present efficient techniques to enforce priorities and ordering re- lations among solutions of an ASP program. They introduce the notion of Pareto- preference and show that this criterion gives more intuitive results that the other criteria introduced in (Brewka 2002). The basic idea is to augment the syntax by some designated operator to form ordered disjunctions. Programs of this form (called logic programs with ordered disjunctions, or LPODs) can be evaluated in a standard way (presented in (Brewka 2002)) or with respect to different preferential seman- tics which take the occurrences of this new operator into account. A system called
3.6. Other Preferential Semantics
Psmodelspresented in (Brewka, Niemelä & Syrjänen 2004) serves as a computational engine for these semantics. In other related work (Brewka 2004a), Brewka proposes a language for answer set optimisation called PLD. The basic elements of PLD are rules which code context-dependent preferences over answer sets. More complex prefer- ence formulae are formed using different aggregation operators: sum, (ranked) set inclusion, (ranked) cardinality, Pareto, and lexicographic order.
A problem to be solved is represented as a LPOD and answer sets of the program are ranked, according to the degrees of satisfaction of ordered disjunctive rules. In this way a global ranking of answer sets is obtained. The following criteria have been proposed in (Brewka, Niemelä & Syrjänen 2002) to build this ranking: cardinal- ity optimal criterion- maximizing a number of rules satisfied to the lowest degree, inclusion optimal criterion, based on set inclusion of the rules satisfied to the certain degree and Pareto optimal criterion favoring the answer set satisfying all ordered disjunctive rules not worse, than any other answer set does, and one rule strictly better.
Unfortunately, ordered disjunction appears to have problems with certain types of dynamic preferences, as well as to sometimes produce unintuitive results when there are conflicts among preferences in the program (Balduccini 2005).
In (Costantini & Formisano 2010), authors introduced Resourced ASP (denoted by RASP) so as to support declarative reasoning on consumption and production of resources. They have introduced the possibility of defining and using resources in ASP. In RASP, one can define resources with their amounts, where available re- sources can be used for producing other resources and the remaining amount, if any, can be used in a different way. In (Costantini & Formisano 2009), authors introduced P-RASP (RASP with Preferences) where it is possible to express preferences about which resources should be either consumed or produced. LPOD formalisms can be adapted to be able to solve RASP). Adaptation involves complex tasks. Along this line, instead of trying to adapt LPOD for application in RASP, authors in (Costantini & Formisano 2009) have chosen to provide an “autonomous” semantics which bet- ter reflects, in their opinion, the intuitive meaning that a programmer assigns to resources and quantities. They designed an approach to preferences specifically in- tended for the RASP context.
A preference criterion to compare answer sets is required in order to impose a preference order on the answer sets of an ASP program. Such a criterion should im- pose an order on the collection of answer sets by reflecting the preference degrees. Any criterion has to take into account that each rule determines a (partial) prefer- ence ordering on answer sets. In a sense, the criterion should aggregate/combine all local partial orders to obtain a global one. Fundamental techniques for combining preferences (seen as generic binary relations) can be found for instance in (Andréka
et al. 2002). Regarding the combination of preferences in logic programming, criteria are also given, for instance, in (Balduccini & Mellarkod 2003, Brewka 2004a, Brewka, Niemelä & Syrjänen 2004, Son & Pontelli 2006). Preference orderings in P-RASP are based on a subset of criteria among alternative possible choices.
A direct comparison between the preferential semantics of the languages de- scribed above and several others (e.g., (Kärger et al. 2008, Bouveret et al. 2009a)), and the semantics detailed in Section 3.4 can be a subject of future work.