: 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] 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". 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").