Download - Federico Chesani DEIS Università di Bologna Alessandria, 14 Luglio 2005

Transcript
Page 1: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

1

Progetto COFIN2003 Progetto COFIN2003 Logica computazionale basata su abduzione per modellare il Logica computazionale basata su abduzione per modellare il

ragionamento e l'interazione in società di agentiragionamento e l'interazione in società di agenti

E-Learning e Vincoli Sociali di Integrità

Un prototipo per E-Learning by Doing con Microsoft Word

Federico ChesaniFederico Chesani DEISDEIS

Università di BolognaUniversità di Bologna

Alessandria, 14 Luglio 2005Alessandria, 14 Luglio 2005

Page 2: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

2

Vincoli Sociali di Integrità

• Simili a regole forward, con cui specifichiamo i protocolli di interazione

• Idea di base: all’accadere di un evento, ci si aspetta che qualcosa accada/non accada

• Fino ad ora utilizzati in ambito multi-agente, dove per “evento” abbiamo inteso lo scambio di un messaggio tra due agenti (communication act)

Page 3: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

3

Vincoli Sociali di Integrità – Esempio

H( tell( A, B, openauction(Item,TEnd,TDeadline), D), TOpen)

/\ H( tell( B, A, bid(Item,Price), D), TBid)/\ TOpen < TBid/\ TOpen < TEnd/\ TEnd < TDeadline---> E( tell( A, B, answer(win,Item,Price), D), TWin) /\ TWin <= TDeadline /\ TEnd < TWin\/ E( tell( A, B, answer(lose,Item,Price), D), TLose) /\ TLose <= TDeadline /\ TEnd < TLose.

Page 4: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

4

Vincoli Sociali di Integrità:cosa ci possiamo fare

• Le aspettative forniscono una sorta di semantica a livello sociale dell’atto comunicativo stesso

• Tramite SCIFF possiamo verificare se una interazione è conforme al protocollo

• Tramite la g-SCIFF vorremmo poter verificare se un protocollo gode o meno di determinate proprietà

• E’ possibile accedere allo stato della SCIFF, cioè è possibile conoscere l’insieme di aspettative correnti in seguito all’elaborazione di un insieme di eventi

Page 5: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

5

Utilizzo degli ICs

• Fino ad ora utilizzati in ambito multi-agente…

• … in realtà il linguaggio ICs è definito per eventi generici della forma:

H(Event1, T1) ---> E(Event2, T2).

dove Event è un generico termine.

Page 6: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

6

ICs & E-Learning

Idea sorta durante una precedente riunione di questo progetto (grazie al gruppo di Torino):

Utilizzare gli ICs per definire le sequenze di azioni che un utente di un sistema di E-Learning deve compiere per raggiungere un certo obiettivo

Page 7: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

7

ICs & E-Learning

• Scenario applicativo: E-Learning by Doing nell’apprendimento di un software

• Ipotesi fondamentale: è possibile catturare le azioni che l’utente compie

• Nello scenario del software, ciò corrisponde a sapere quando e come un utente preme i tasti della tastiera o i bottoni della GUI del software

Page 8: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

8

ICs & E-Learning

• Tramite ICs possiamo definire quali sono le azioni che l’utente deve fare al fine di raggiungere l’obiettivo

• In particolare, possiamo specificare le azioni passo per passo, anche in conseguenza delle azioni compiute dall’utente in precedenza

• Es.: Ci aspettiamo che l’utente inserisca il nome di un file solo se ha scelto il comando “Salva con Nome…”

Page 9: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

9

ICs & E-Learning

• Possiamo esprimere azioni in alternativa e, di conseguenza, rappresentare la situazione in cui esistono più “modi” corretti per ottenere lo stesso obiettivo (disgiunzioni nella testa delle regole)

• Es.: al fine di salvare un documento in Microsoft Word si può:

• Premere il tasto con l’icona corrispondente• Premere la combinazione SHIFT+F12• Menu File -> Salva• …

Page 10: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

10

ICs & E-Learning:cosa possiamo fare esattamente?

• Definire formalmente i modi possibili con cui ottenere un certo obiettivo (una sorta di manuale)

• Verificare che un utente abbia raggiunto un certo obiettivo (sempre in termini di eventi accaduti)

• Segnalare immediatamente all’utente se ha compiuto un errore irrimediabile

• Guidare l’utente in difficoltà suggerendo, di volta in volta, quali sono le azioni possibili

Page 11: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

11

Sviluppo di un prototipo• Siamo partiti dal lavoro del gruppo di

Torino

• Tre tesisti della laurea triennale vi hanno lavorato

• De Angelis, modulo di cattura degli eventi in C++/C#

• Silenzi, studio di E-Learning e formalizzazione di protocolli

• Mazzanti, ripreso il lavoro dei precedenti e realizzato un primo prototipo

Page 12: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

12

SOCS-SI

Stato dello sviluppo• Attualmente realizzato un prototipo che si

collega a Microsoft Word 2003

C++

C#

MicrosoftWord

JavaSocket on local ports

Catturadegli eventi

a basso livello

Interpretazione degli eventi

Trasofrmazione degli eventi in

formato SOCS-SI

Page 13: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

13

Una breve demo

• L’utente deve:– creare un nuovo documento,– scrivere qualcosa– metterlo in grassetto– salvare il documento

Page 14: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

14

Alcuni problemi irrisolti…

– difficoltà nel tradurre gli eventi di basso livello (mouse, tastiera) in eventi di “alto” livello (pressione di un pulsante, selezione di un testo, …)

– il modulo di cattura degli eventi (C++) è instabile, problemi con le API di Windows

– manca GUI per suggerire gli eventi all’utente– SCIFF proof procedure esplora l’albero in modo

depth-first è necessario esplorare l’albero con strategia breadth-first

Page 15: Federico Chesani  DEIS Università di Bologna Alessandria, 14 Luglio 2005

Alessandria14 Luglio 2005

Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti

15

Conclusioni

• Il prototipo, per quanto ancora soggetto a numerosi bugs, mostra comunque la realizzabilità dell’idea

• La cattura degli eventi deve essere realizzata a livello dell’applicativo stesso (maggiore integrazione)

• Necessaria una estensione della proof procedure