[es] 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.

[it] 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.