Agenti Intelligenti Teoria e applicazioni in ambito sanitario AR, 13 Marzo 2004 Riferimenti ● ● ● Russel, Norvig: Artificial Intelligence, A Modern Approach, Prentice Hall 1995 ECAI 2002 Workshop on Agents Applied in Health Care: – Understanding intelligent agents: analysis and synthesis, John Fox; – Modelling an agent-based integrated health and social care information system for older people, Haralambos Mouratidis, Gordon Manson, Paolo Giorgini, Ian Philp; – e-for the disabled and for the new generation of senior citizens. A Position paper, U. Cortes and R. Annicchiarico and J.V´azquez-Salceda, and M. Sanchez-Marre and A. Marini and C. Caltagirone3 Visitate: www.androidworld.com Alcuni spunti riguardo: ● Intelligenza Artificiale ● Il concetto di agente ● Concepire agenti intelligenti ● Applicazioni in ambito sanitario ● Differenze con il nostro approccio ● Cosa può esserci utile? AI ● L'obbiettivo dell'Intelligenza Artificiale (IA) è quello di capire le entità intelligenti: il principale metodo di studio adottato è la costruzione di queste stesse. Il problema investe i sistemi complessi sotto due aspetti 1. Il cervello è l'esempio più significativo di sistema complesso e caratterizzato da fenomeni emergenti (percezione, memoria, pensiero, emozioni...). 2. Il sistema cervello si relaziona, comprende ed influenza un mondo esterno a sè, infinitamente più grande, e caratterizzato da un altrettanto infinito grado di complessità. ● L'obbiettivo dell'AI è comprendere come questo sia possibile, e creare un sistema che sia in grado di replicare tale comportamento. L'INTELLIGENZA Il primo problema è: come possiamo definire intelligente un sistema? Al riguardo, sono possibili quattro approcci: 1. Sistemi che operano come gli esseri umani. IL TEST DI TURING Il comportamento intelligente è l'abilità di raggiungere prestazioni a livello umano in tutti i compiti cognitivi, sufficienti a ingannare un'interrogatore. Il calcolatore deve essere in grado di: 1. elaborare un linguaggio naturale; 2. rappresentare la conoscenza (per immagazzinare le informazioni); 3. ragionare automaticamente (per usare le informazioni immagazzinate); 1. Sistemi che pensano come gli esseri umani LA MODELLIZZAZIONE COGNITIVA Questo ramo tenta di costruire teorie dei meccanismi della mente umana precise e verificabili: il GPS di Newell e Simon era interessante non solo per la correttezza delle sue risoluzioni, quanto per la traccia del ragionamento da confrontare con quelle di soggetti umani. 2. Sistemi che pensano razionalmente LE LEGGI DEL PENSIERO Questo approccio si fonda sulla presunta esistenza di leggi che governano le operazioni del pensiero: l'enfasi è posta sulla logica e sulle inferenze corrette. 3. Sistemi che agiscono razionalmente L'AGENTE RAZIONALE In questa prospettiva, l'AI è lo studio e la costruzione di agenti razionali. Forse, la visione più completa. LA RAZIONALITA' ● ● ● ● Un sistema (e quindi un agente) razionale, è quello che fa la cosa giusta. Siamo in un ambito di razionalità limitata se non vi è abbastanza tempo per fare tutti i calcoli che si desidera. MA Il metodo a prova ed errore? Se siamo razionali solo se facciamo la cosa giusta (echi neoclassici): – O non sbagliamo mai, e viviamo in un mondo “statico”, privo di evoluzione; – Oppure non siamo razionali, e possiamo allora apprendere dai nostri errori. La bounded rationality di Simon è altra cosa: considera i limiti cognitivi del soggetto decisionale, limiti tanto in ambito di possibilità di accesso all' informazione, quanto in relazione alla capacità di calcolo. AGENTI RAZIONALI ● ● ● ● Un agente è qualcosa in grado di percepire il proprio ambiente attraverso dei sensori e di agire in quell'ambiente attraverso degli attuatori. Dal momento che l'agente razionale è quello che fa la cosa giusta, diviene necessario assumere dei misuratori di prestazione che permettano di determinare il grado di successo dell'agente. L'agente razionale non è onnisciente: in tal caso infatti conoscerebbe la conseguenza effettiva delle sue azioni e agirebbe conformemente. La razionalità riguarda il successo atteso, considerando ciò che è stato percepito. ● Ciò che è razionale in un momento dipende da quattro cose: 1. la misura di prestazione che definisce il grado di successo; 2. la sequenza di percezione (tutto ciò che l'agente percepisce fino ad un dato momento); 3. ciò che l'agente conosce dell'ambiente; 4. le eseguire. ● ● azioni che l'agente può Per ogni sequenza di percezione possibile un agente razionale ideale dovrebbe compiere qualsiasi azione che si aspetta massimizzare la sua misura di prestazione, sulla base delle prove fornite dalla sequenza di percezione e di qualsiasi conoscenza predefinita che abbia l'agente. E' evidente la possibilità di descrivere qualsiasi agente particolare facendo un elenco delle azioni che compie in risposta ad ogni sequenza di percezione possibile, ovvero una lista di corrispondenze. MA ● ● Divene importante il concetto di autonomia: se le azioni sono basate completamente su una conoscenza predefinita, in modo tale che l'agente non debba prestare alcuna attenzione alle sue percezioni, l'agente manca di autonomia. Al contrario un sistema è autonomo quando il suo comportamento viene determinato dalla sua esperienza personale: è bene che un agente razionale sia autonomo. STRUTTURA ● ● ● Il programma di un agente: una funzione che implementa la corrispondenza dell'agente dalle percezioni alle azioni. Il programma è eseguito attraverso un meccanismo di calcolo che chiamiamo architettura. CENTRO DELLA NOSTRA ANALISI : la complessità della relazione tra – il comportamento dell'agente, – la sequenza di percezione generata dall'ambiente, – gli obiettivi che l'agente dovrebbe raggiungere. Il programma dell'agente riceve soltanto una singola percezione come input: sarà l'agente a costruire la sequenza di percezione in memoria. ➔ In alcuni ambienti è possibile avere sufficiente successo senza immagazzinare la sequenza di percezioni. ➔ In domini complessi immagazzinare la sequenza completa è operazione impossibile. 4 TIPI DI AGENTI ● AGENTE CON RIFLESSI SEMPLICI Abbiamo regole condizioni-azioni: il nostro agente è dotato di liste di azioni che corrispondono a situazioni che egli è in grado di riconoscere. AGENTI CHE TENGONO CONTO DEL MONDO ● ● In situazioni più complesse può essere necessario che il nostro agente abbia uno stato interno per scegliere un'azione da compiere. L'aggiornamento di questo stato è fondato su: – informazioni su come evolve il mondo indipendentemente dall'agente; – informazioni su come le azioni stesse dell'agente influenzano il mondo; AGENTI BASATI SU OBBIETTIVI ● ● ● ● L'agente in questo caso necessita inoltre di qualche tipo di informazione sull'obbiettivo, ovvero le situazioni che è desiderabile raggiungere. In una prospettiva di scelta, tale informazione è utilizzabile dall'agente unitamente a quelle sui risultati delle azioni possibili. Questa tipologia è molto flessibile, dal momento che l'agente è in grado di aggiornare la propria conoscenza e adattarsi a nuove condizioni. Al contrario l'agente con riflessi imporrebbe ogni qual volta di riscrivere la lista condizioni-azioni. AGENTI BASATI SU UTILITA' ● ● ● Si fa largo un nuovo concetto, necessario dal momento che gli obbiettivi da soli non sono sufficienti a generare un comportamento di alta qualità. L'utilità è una funzione che associa ad uno stato (o ad una sequenza) un numero reale che descrive il grado associato di felicità. Abbiamo così la possibilità di valutare la probabilità di successo rispetto all'importanza degli obbiettivi da conseguire. FOX, Understanding Intelligent Agents ● A queste considerazioni aggiungiamo ulteriori specifiche circa il modo in cui sono strutturati gli stati all'interno di un agente – – – Beliefs : ciò che l'agente ritiene essere vero circa il suo ambiente e se stesso Desires : gli attuali obbiettivi dell'agente per se stesso e per l'ambiente Intentions : azioni, piani o altre strategie su cui l'agente fa riferimentoactions E – Knowledge : concetti, ontologie, ovvero una speciale classe di credenze che si riferiscono a leggi generali, regole e altre stiuazioni specificihe ● Tramite questi stati mentali gli agenti possono configurare una serie di funzioni cognitive quali: ● Reasoning: fare inferenza sulla base delle proprie BDI ● Decision-making: prendere decisioni razionali, spesso in condizioni di incertezza ● Scheduling : controllare adattivamente i propri piani e azioni nel tempo ● ● ● ● ● Planning : creare metodi per raggiungere i propri obiettivi Learning : immagazzinare e richiamare soluzioni passate a problemi e obbiettivi (Socrate, capire ed imparare è ricordare...) Il tutto dovrebbe permettere all'agente di raggiungere un equilibrio in relazione a Un comportamento deliberativo : ovvero un insieme di azioni coordinate nel tempo orientate al raggiungimento di un obbiettivo Un comportamento reattivo: ovvero in grado di rispondere a situazioni ed eventi anche se inattesi Il modello proposto ● ● Obbiettivo: creare un modello generale dei processi clinici. Tre gradi formalizzazione: per processi, logica tramite una struttura ad oggetti, ad agenti. ● Il paradigma della programmazione ad oggetti: – A dispetto della simplicità e uniformità di sistemi basati su regole le regole logiche potrebbero non essere il miglior livello di descrizione per processi complessi. – E' infatti discutibile la comune convinzione riguardo ai primi sistemi esperti secondo cui le regole erano “cumulative”, ciascuna delle quali rappresentanti un frammento addizionale di esperienza. – Una regola in più può significare una performance minore, quando non uno scenario inatteso e, spesso, fuorviante. Dunque esistono regole particolari efficaci solo in particolari contesti. – Viene allora creata una struttura ad oggetti con classi di regole e comportamenti. Gli Agenti ● ● Specifiche BDI – La medicina clinica comporta due tipi di credenze, circa il paziente (sintomi, esami clinici) e circa la medicina in generale (conoscenza delle malattie, possibili cure) – Di fronte ad un paziente il medico desidererà conoscere le cause dei problemi e le azioni appropriate da intraprendere. – Le intenzioni di un medico consisteranno nel pianificare azioni adatte a raggiungere gli obbiettivi clinici proposti. Definisce l'agente intelligente in termini di un insieme di capacità pratiche che includono un ampio repertorio di funzioni cognitive e di controllo flessibili. – Agente intelligente = stati mentali+ repertorio comportamentale + processi di controllo Un sistema di informazione medica e sociale ● In the eSAP system, the software agents will act on behalf of professionals. Each professional will have his/her “own” software agent, which will customise according to his/her needs. The agent will have enough information about the professional, such as personal information and professional commitments, and it will be intelligent enough (capable of analysing the information and take decisions ) that will enable it to act on his/her behalf, and also negotiate for the interest of the professional. e-Tools for the disabled ● Autonomous intelligent agents are capable of understanding their environment and of independently determining and reasoning how to use their own resources in order to reach a desired goal. ● Such agents can be either physical (a robot) or software components. ● Robotics is the field that works with physical intelligent agents. ● ● The use of this agent-based technology could be easily conceivedto help solving other problems that at first look are very small and easy but that could help to enhance the quality of life of some people. Consider for example the following situation where someone is able to Remember what but not where5 it is located. In a restricted environment as a house or a hospital a software agent may help to trace the location of the desired object by keeping track of the usual places where this object should be or the last time it has been used and/or placed. This may require a shared memory between the intelligent agent and the environment, in a way that allows the agent to use some pointers in the environment to remember how things were the last time without having a complete memory of the whole scenario. For such tasks, episodic reasoning techniques such as Case-Based Reasoning can be used to remember past usual situations (episodes, cases).