The Role of preferences in logic programming: nonmonotonic reasoning, user preferences, decision under uncertainty
Authors:   , Confalonieri Roberto 
Published: October 2023

Intelligent systems that assist users in fulfilling complex tasks need a concise and processable representation of incomplete and
uncertain information. In order to be able to choose among different options, these systems also need a compact and processable
representation of the concept of preference.
Preferences can provide an effective way to choose the best solutions to a given problem. These solutions can represent the most
plausible states of the world when we model incomplete information, the most satisfactory states of the world when we express
user preferences, or optimal decisions when we make decisions under uncertainty.
Several domains, such as, reasoning under incomplete and uncertain information, user preference modeling, and qualitative
decision making under uncertainty, have benefited from advances on preference representation. In the literature, several symbolic
approaches of nonclassical reasoning have been proposed. Among them, logic programming under answer set semantics offers a
good compromise between symbolic representation and computation of knowledge and several extensions for handling
preferences.
Nevertheless, there are still some open issues to be considered in logic programming. In nonmonotonic reasoning, first, most
approaches assume that exceptions to logic program rules are already specified. However, sometimes, it is possible to consider
implicit preferences based on the specificity of the rules to handle incomplete information. Secondly, the joint handling of
exceptions and uncertainty has received little attention: when information is uncertain, the selection of default rules can be a matter
of explicit preferences and uncertainty. In user preference modeling, although existing logic programming specifications allow to
express user preferences which depend both on incomplete and contextual information, in some applications, some preferences in
some context may be more important than others. Furthermore, more complex preference expressions need to be supported. In
qualitative decision making under uncertainty, existing logic programming-based methodologies for making decisions seem to lack
a satisfactory handling of preferences and uncertainty.
The aim of this dissertation is twofold: 1) to tackle the role played by preferences in logic programming from different perspectives,
and 2) to contribute to this novel field by proposing several frameworks and methods able to address the above issues. To this
end, we will first show how preferences can be used to select default rules in logic programs in an implicit and explicit way. In
particular, we propose (i) a method for selecting logic program rules based on specificity, and (ii) a framework for selecting
uncertain default rules based on explicit preferences and the certainty of the rules. Then, we will see how user preferences can be
modeled and processed in terms of a logic program (iii) in order to manage user profiles in a context-aware system and (iv) in order
to propose a framework for the specification of nested (non-flat) preference expressions. Finally, in the attempt to bridge the gap
between logic programming and qualitative decision under uncertainty, (v) we propose a classical- and a possibilistic-based logic
programming methodology to compute an optimal decision when uncertainty and preferences are matters of degrees.

Els sistemes intel.ligents que assisteixen a usuaris en la realització de tasques complexes necessiten
una representació concisa i formal de la informació que permeti un raonament nomonòton
en condicions d’incertesa. Per a poder escollir entre les diferents opcions, aquests
sistemes solen necessitar una representació del concepte de preferència.
Les preferències poden proporcionar una manera efectiva de triar entre les millors solucions
a un problema. Aquestes solucions poden representar els estats del món més plausibles
quan es tracta de modelar informació incompleta, els estats del món més satisfactori
quan expressem preferències de l’usuari, o decisions òptimes quan estem parlant de presa
de decisió incorporant incertesa.
L’ús de les preferències ha beneficiat diferents dominis, com, el raonament en presència
d’informació incompleta i incerta, el modelat de preferències d’usuari, i la presa de decisió
sota incertesa. En la literatura, s’hi troben diferents aproximacions al raonament no clàssic
basades en una representació simbòlica de la informació. Entre elles, l’enfocament de programació
lògica, utilitzant la semàntica de answer set, ofereix una bona aproximació entre
representació i processament simbòlic del coneixement, i diferents extensions per gestionar
les preferències.
No obstant això, en programació lògica es poden identificar diferents problemes pel
que fa a la gestió de les preferències. Per exemple, en la majoria d’enfocaments de raonament
no-monòton s’assumeix que les excepcions a default rules d’un programa lògic ja
estan expressades. Però de vegades es poden considerar preferències implícites basades en
l’especificitat de les regles per gestionar la informació incompleta. A més, quan la informació
és també incerta, la selecció de default rules pot dependre de preferències explícites i de la
incertesa. En el modelatge de preferències del usuari, encara que els formalismes existents
basats en programació lògica permetin expressar preferències que depenen d’informació
contextual i incompleta, en algunes aplicacions, donat un context, algunes preferències
poden ser més importants que unes altres. Per tant, resulta d’interès un llenguatge que
permeti capturar preferències més complexes. En la presa de decisions sota incertesa, les
metodologies basades en programació lògica creades fins ara no ofereixen una solució del
tot satisfactòria pel que fa a la gestió de les preferències i la incertesa.
L’objectiu d’aquesta tesi és doble: 1) estudiar el paper de les preferències en la programació
lògica des de diferents perspectives, i 2) contribuir a aquesta jove àrea d’investigació
proposant diferents marcs teòrics i mètodes per abordar els problemes anteriorment citats.
Per a aquest propòsit veurem com les preferències es poden utilitzar de manera implícita i
explícita per a la selecció de default rules proposant: (i) un mètode basat en l’especificitat
de les regles, que permeti seleccionar regles en un programa lògic; (ii) un marc teòric per a
la selecció de default rules incertes basat en preferències explícites i la incertesa de les regles.
També veurem com les preferències de l’usuari poden ser modelades i processades usant
un enfocament de programació lògica (iii) que suporti la creació d’un mecanisme de gestió
dels perfils dels usuaris en un sistema amb reconeixement del context; (iv) que permeti
proposar un marc teòric capaç d’expressar preferències amb fòrmules imbricades. Per últim,
amb l’objectiu de disminuir la distància entre programació lògica i la presa de decisió
amb incertesa proposem (v) una metodologia basada en programació lògica clàssica i en
una extensió de la programació lògica que incorpora lògica possibilística per modelar un
problema de presa de decisions i per inferir una decisió òptima.

Los sistemas inteligentes que asisten a usuarios en tareas complejas necesitan una representación
concisa y procesable de la información que permita un razonamiento nomonótono
e incierto. Para poder escoger entre las diferentes opciones, estos sistemas suelen
necesitar una representación del concepto de preferencia.
Las preferencias pueden proporcionar una manera efectiva para elegir entre las mejores
soluciones a un problema. Dichas soluciones pueden representar los estados del mundo
más plausibles cuando hablamos de representación de información incompleta, los estados
del mundo más satisfactorios cuando hablamos de preferencias del usuario, o decisiones
óptimas cuando estamos hablando de toma de decisión con incertidumbre.
El uso de las preferencias ha beneficiado diferentes dominios, como, razonamiento en
presencia de información incompleta e incierta, modelado de preferencias de usuario, y
toma de decisión con incertidumbre. En la literatura, distintos enfoques simbólicos de razonamiento
no clásico han sido creados. Entre ellos, la programación lógica con la semántica
de answer set ofrece un buen acercamiento entre representación y procesamiento simbólico
del conocimiento, y diferentes extensiones para manejar las preferencias.
Sin embargo, en programación lógica se pueden identificar diferentes problemas con
respecto al manejo de las preferencias. Por ejemplo, en la mayoría de enfoques de razonamiento
no-monótono se asume que las excepciones a default rules de un programa lógico
ya están expresadas. Pero, a veces se pueden considerar preferencias implícitas basadas en
la especificidad de las reglas para manejar la información incompleta. Además, cuando la
información es también incierta, la selección de default rules pueden depender de preferencias
explícitas y de la incertidumbre. En el modelado de preferencias, aunque los formalismos
existentes basados en programación lógica permitan expresar preferencias que
dependen de información contextual e incompleta, in algunas aplicaciones, algunas preferencias
en un contexto puede ser más importantes que otras. Por lo tanto, un lenguaje
que permita capturar preferencias más complejas es deseable. En la toma de decisiones con
incertidumbre, las metodologías basadas en programación lógica creadas hasta ahora no
ofrecen una solución del todo satisfactoria al manejo de las preferencias y la incertidumbre.
El objectivo de esta tesis es doble: 1) estudiar el rol de las preferencias en programación
lógica desde diferentes perspectivas, y 2) contribuir a esta joven área de investigación proponiendo
diferentes marcos teóricos y métodos para abordar los problemas anteriormente
citados. Para este propósito veremos como las preferencias pueden ser usadas de manera implícita y explícita para la selección de default rules proponiendo: (i) un método para
seleccionar reglas en un programa basado en la especificad de las reglas; (ii) un marco
teórico para la selección de default rules basado en preferencias explícitas y incertidumbre.
También veremos como las preferencias del usuario pueden ser modeladas y procesadas
usando un enfoque de programación lógica (iii) para crear un mecanismo de manejo de
los perfiles de los usuarios en un sistema con reconocimiento del contexto; (iv) para crear
un marco teórico capaz de expresar preferencias con formulas anidadas. Por último, con
el objetivo de disminuir la distancia entre programación lógica y la toma de decisión con
incertidumbre proponemos (v) una metodología para modelar un problema de toma de
decisiones y para inferir una decisión óptima usando un enfoque de programación lógica
clásica y uno de programación lógica extendida con lógica posibilística.

Sistemi intelligenti, destinati a fornire supporto agli utenti in processi decisionali complessi,
richiedono una rappresentazione dell’informazione concisa, formale e che permetta
di ragionare in maniera non monotona e incerta. Per poter scegliere tra le diverse opzioni,
tali sistemi hanno bisogno di disporre di una rappresentazione del concetto di preferenza
altrettanto concisa e formale.
Le preferenze offrono una maniera efficace per scegliere le miglior soluzioni di un problema.
Tali soluzioni possono rappresentare gli stati del mondo più credibili quando si tratta
di ragionamento non monotono, gli stati del mondo più soddisfacenti quando si tratta delle
preferenze degli utenti, o le decisioni migliori quando prendiamo una decisione in condizioni
di incertezza.
Diversi domini come ad esempio il ragionamento non monotono e incerto, la strutturazione
del profilo utente, e i modelli di decisione in condizioni d’incertezza hanno tratto
beneficio dalla rappresentazione delle preferenze. Nella bibliografia disponibile si possono
incontrare diversi approcci simbolici al ragionamento non classico. Tra questi, la programmazione
logica con answer set semantics offre un buon compromesso tra rappresentazione
simbolica e processamento dell’informazione, e diversi estensioni per la gestione delle preferenze
sono state proposti in tal senso.
Nonostante ció, nella programmazione logica esistono ancora delle problematiche aperte.
Prima di tutto, nella maggior parte degli approcci al ragionamento non monotono, si suppone
che nel programma le eccezioni alle regole siano già specificate. Tuttavia, a volte per
trattare l’informazione incompleta è possibile prendere in considerazione preferenze implicite
basate sulla specificità delle regole. In secondo luogo, la gestione congiunta di eccezioni
e incertezza ha avuto scarsa attenzione: quando l’informazione è incerta, la scelta
di default rule può essere una questione di preferenze esplicite e d’incertezza allo stesso
tempo. Nella creazione di preferenze dell’utente, anche se le specifiche di programmazione
logica esistenti permettono di esprimere preferenze che dipendono sia da un’informazione
incompleta che da una contestuale, in alcune applicazioni talune preferenze possono essere
più importanti di altre, o espressioni più complesse devono essere supportate. In un processo
decisionale con incertezza, le metodologie basate sulla programmazione logica viste
sinora, non offrono una gestione soddisfacente delle preferenze e dell’incertezza.
Lo scopo di questa dissertazione è doppio: 1) chiarire il ruolo che le preferenze giocano
nella programmazione logica da diverse prospettive e 2) contribuire proponendo in questo nuovo settore di ricerca, diversi framework e metodi in grado di affrontare le citate
problematiche. Per prima cosa, dimostreremo come le preferenze possono essere usate per
selezionare default rule in un programma in maniera implicita ed esplicita. In particolare
proporremo: (i) un metodo per la selezione delle regole di un programma logico basato
sulla specificità dell’informazione; (ii) un framework per la selezione di default rule basato
sulle preferenze esplicite e sull’incertezza associata alle regole del programma. Poi, vedremo
come le preferenze degli utenti possono essere modellate attraverso un programma
logico, (iii) per creare il profilo dell’utente in un sistema context-aware, e (iv) per proporre
un framework che supporti la definizione di preferenze complesse. Infine, per colmare le
lacune in programmazione logica applicata a un processo di decisione con incertezza (v)
proporremo una metodologia basata sulla programmazione logica classica e una metodologia
basata su un’estensione della programmazione logica con logica possibilistica.