next up previous
Next: Il processo di Up: Uso di piani Previous: Cooperativita` e coerenza

Rappresentazione delle azioni

 

 

 


: L'azione di problem-solving "Satisfy"

Le librerie di dominio, comunicativa e di problem-solving contengono, rispettivamente, la conoscenza sulle azioni del dominio di consultazione [4], le azioni linguistiche [2,3]gif ed i piani di problem-solving. Ciascuna delle tre librerie e` composta di una gerarchia di Generalizzazione (GH) ed una di Decomposizione (DH) [9]: la GH connette azioni piu` generali ad azioni piu` specifiche; la DH rappresenta la conoscenza relativa a come eseguire le azioni complesse. Le azioni sono caratterizzate dalle loro precondizioni, vincoli, restrizioni sui parametri, decomposizione ed effetti. La Figura 1 mostra una parte della libreria di PS. Nella figura, le azioni sono legate l'una all'altra da diversi tipi di archi: gli archi spessi orientati rappresentano legami di generalizzazione; gli archi con quadrato rappresentano le decomposizioni (le linee tratteggiate rappresentano azioni condizionali, da eseguire solo se le loro restrizioni sono vere); gli archi tripli rappresentano le azioni iterate: alla loro sinistra sta la variabile di ciclo, alla destra il suo range. Infine, gli archi orientati sottili puntano alle precondizioni, vincoli ed effetti delle azioni.

Il livello di problem-solving

Per rappresentare dichiarativamente le informazioni necessarie a modellare la pianificazione e l'esecuzione di piani, introduciamo nella libreria di PS tre azioni principali: "Satisfy", "Get-to-do" e "Try-execute".

"Satisfy" (Figura 1) descrive l'attivita` di un agente "a" che vuole soddisfare un goal "g" di un agente "s".gif Ci sono due tipi di goal: il primo e` legato al desiderio che una condizione sia vera nel mondo ("Satisfy-cond"); il secondo e` associato al desiderio che si esegua un'azione ("Satisfy-act"). Mentre, nel secondo caso, l'agente dovrebbe semplicemente eseguire l'azione desiderata, nel primo deve trovare tutti i piani che portano a "g" ("Find-action"), sceglierne uno ("Choose-act") ed eseguirlo ("Do-act"). "Find-action" e` decomposta in "Find-candidate", che memorizza nella lista "lact" le azioni che hanno "g" tra i loro effetti, e "Check-action", che scandisce "lact", controllando vincoli e precondizioni delle azioni. Mentre il problema di aver trovato precondizioni non verificate si puo` risolvere pianificando una sequenza di azioni che le renda vere, se un vincolo di un'azione e` falso, l'azione e` considerata impossibile. Per questo, "Check-single-constr" controlla solo il valore di verita` dei vincoli (mediante "Satisfy(a, s, Knowif(a, c))") e fallisce se essi sono falsi; invece, in "Check-single-prec", le precondizioni sono considerate solo per controllare se sono soddisfacibili. Nell'esecuzione di azioni, ci sono tre possibilita`:
a) L'agente esegue l'azione selezionata ("Self-act") e notifica eventualmente al partner che l'azione e` stata completata con successo; ad es. se un agente A dice a B "Apri la porta" e B accetta, B puo` rispondere ad A dopo aver eseguito l'azione con una notifica come "Fatto". In altri casi, la notifica si riferisce all'esecuzione di un'azione legata alla comunicazione (ad es. l'acknowledgement in T4, Esempio 2a, sezione 3).
b) L'agente cerca di indurre un altro agente ad eseguire l'azione desiderata ("Other-act"), con un passo di "Get-to-do", dove il parametro "o" identifica l'altro agente. Qui, il passo successivo nel piano di PS e` controllare se: (i) l'azione e` stata eseguita (ad es. "Apri la porta; ... l'hai fatto?"); (ii) la frase e` stata capita ("... Hai capito?"); (iii) e` stata sentita ("... mi hai sentito?").
c) Non si fa nulla ("No-act"), se non si trova alcuna azione possibile per "g". In questo caso, "a" potrebbe chiedere ad un terzo agente (o) di suggerire un piano per soddisfare g. Se "g" e` condiviso con un altro agente "s", "a" potrebbe notificare ad "s" che "g" non e` soddisfacibile (vd. Figura 1).

"Get-to-do" (in Figura 1) descrive il comportamento di un agente che cerca di indurre un altro agente all'esecuzione di un'azione: il parlante sceglie un mezzo comunicativo (un atto linguistico, o una sequenza di atti linguistici [2]) che ha come effetto l'intenzione comunicativa che l'ascoltatore esegua l'azione desiderata; poi, esegue l'atto illocuzionario ("Try-execute").



next up previous
Next: Il processo di Up: Uso di piani Previous: Cooperativita` e coerenza



Guido Boella Dottorando
Thu Oct 31 15:11:43 MET 1996