150 likes | 262 Views
Progetto COFIN2003 Logica computazionale basata su abduzione per modellare il ragionamento 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 Chesani DEIS Università di Bologna
E N D
Progetto COFIN2003 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agentiE-Learning e Vincoli Sociali di IntegritàUn prototipo per E-Learning by Doing con Microsoft Word Federico Chesani DEIS Università di Bologna Alessandria, 14 Luglio 2005
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) Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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. Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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. Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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…” Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 • … Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
Microsoft Word Stato dello sviluppo • Attualmente realizzato un prototipo che si collega a Microsoft Word 2003 Trasofrmazione degli eventi in formato SOCS-SI Cattura degli eventi a basso livello SOCS-SI C++ Interpretazione degli eventi Java Socket on local ports C# Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
Una breve demo • L’utente deve: • creare un nuovo documento, • scrivere qualcosa • metterlo in grassetto • salvare il documento Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti
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 Logica computazionale basata su abduzione per modellare il ragionamento e l'interazione in società di agenti