Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Intelligenza Artificiale
INTRODUZIONE- Agire come gli umani: test di Turing
Intelligente = comportarsi come un essere umano
Quindi se il computer risponde come un umano ha superato il test di Turing.
Ma ci sono comportamenti umani che non sono intelligenti, e viceversa.
- Pensare come un essere umano: scienze (neuro)cognitive: è difficile andare a modellare l'intelligenza umana
- Pensare razionalmente: Aristotele voleva definire i processi logici che portano ad azioni corrette (legati a filosofia e matematica) non tutti i comportamenti intelligenti sono regolati da deliberazioni logiche
- Agire razionalmente: in presenza di determinati input l'agente (entità che percepisce e agisce) sceglie tra le varie possibili azioni sceglie quella migliore (massimizzare il raggiungimento di un obiettivo date le informazioni a disposizione)
Grande diffusione grazie ad internet: Applicazione con suffisso - bot (chatbot), Motori di ricerca, Reccomander system, Aggregatori web.
1.
Agenti Intelligenti
Un'agente è qualcosa che percepisce (input) ed agisce (output) in un ambiente, che fa qualcosa relazionandosi con l'ambiente (agenti umani, agenti robotici, agenti software)
La funzione agente in base a tutte le percezioni ottenute fino a quel momento determina l'azione da svolgere (il programma all'interno dell'agente che si occupa di effettuare una scelta sull'azione da eseguire)
Il programma agente è l'implementazione della funzione agente (software eseguito nell'architettura dell'agente)
Agente = architettura + programma (se solo software allora solo programma e gli attuatori potrebbero essere operazioni sulla rete)
Esempio Aspirapolvere
Supponiamo che l'aspirapolvere si può trovare solo in due posizioni: A e B
Percezioni: posizione e contenuto. Ad es [A, Sporco]
Azioni: Sinistra, destra, aspira, NoOp (nessuna operazione)
Possiamo implementarlo con una tabella che per ogni combinazione di
percezioni c'è l'azione da svolgere. Oppure potremmo implementarlo come un agente attivo (if-else) (è la soluzione giusta? Dipende, non abbiamo definito cosa vogliamo dall'agente. Realisticamente una casa con più stanze dovremmo considerare moltissimi altri fattori, ad esempio risparmiare energia.) 1.1. Razionalità La razionalità è definita tramite una misura di prestazione che valuta la sequenza di stati dell'ambiente (percezioni). Ad esempio +1 per ogni spazio pulito nel tempo T, bisogna considerare gli spostamenti poiché costa energia quindi vorremmo pulire la casa con meno spostamenti possibili dunque -1 per ogni spostamento e penalizzazione se ci sono >k riquadri sporchi. Un agente razionale sceglie qualunque azione che massimizza il valore atteso della misura di prestazione data la sequenza di percezione ottenuta fino all'istante corrente. (Se ci sono valori migliori ottenibili allora l'agentenon si è comportato bene)
Razionalità != Onniscienza non è detto che le percezioni possono fornire tutte le informazioni rilevanti
Razionalità != Chiaroveggenza l'effetto delle azioni potrebbe essere diverso da quello che mi aspetto (causa mancanza di informazioni dall'ambiente)
Sceglie il meglio in quel determinato tempo per le informazioni in suo possesso.
Razionalità => esplorazione, apprendimento, autonomia.
Agire razionalmente significa agire per raggiungere i propri obiettivi date le proprie conoscenze in funzione della sequenza di percezioni ricevute, date le azioni che si è in grado di compiere.
Un'agente intelligente è un qualsiasi sistema che agisce in maniera razionale/intelligente. Fa ciò che è appropriato per la situazione e per i suoi obiettivi, è flessibile al variare dell'ambiente e obiettivi, eventualmente impara dall'esperienza e fa scelte appropriate date le sue percezioni.
ed i limiti dellacapacità computazionale.
1.2. PEAS
Misura di prestazione (Performance ), ambiente, attuatori e sensori.
La progettazione del PEAS è il primo passo nella progettazione di un’agente intelligente:
progettazione pilota autonoma taxi:
- Misure di prestazioni: sicuro, veloce, ligio alla legge, viaggio confortevole, profitti massimi.
- Ambiente: la strada, altri veicoli nel traffico, pedoni, clienti, ecc.
- Attuatori: sterzo, acceleratore, freni, frecce, clacson
- Sensori: telecamere, sonar, tachimetro, GPS, contachilometri, accelerometro, sensori sullo stato del motore, sensori per interazione clienti.
Ambiente
1.3. Indipendentemente dal tipo di agente, la natura della sua connessione con l’ambiente è di un unico tipo: le azioni sono fatte dall’agente sull’ambiente, che a sua volta fornisce percezioni all’agente.
Lo stato dell’ambiente dipende dalle azioni di ogni singolo agente.
7- Osservabilità:
o Completamente
osservabile: se i sensori dell'agente misurano tutti gli aspetti rilevanti per la scelta dell'azione (la rilevanza dipende dalla misura di prestazione)
parzialmente osservabile: sensori inaccurati, mancanza di alcuni sensori, rumore
Non osservabile: non ci sono sensori
Agente singolo o multi-agente: possono esserci situazioni in cui ci sono più agenti in esecuzione ad esempio un gioco con più giocatori simulati in una partita.
Ci sono due tipi di multi-agente:
- competitivo (esempio scacchi, la vittoria di uno è la sconfitta dell'altro);
- parzialmente cooperativo (es: traffico evitare tra loro gli incidenti massimizzare la misura di prestazione di tutti, trovare parcheggio libero no).
Ambiente deterministico e non deterministico:
Ambiente deterministico: lo stato successivo dell'ambiente è determinato dallo stato corrente e dell'azione dell'agente (si ha certezza che una certa azione porta ad un certo risultato).
Completamente osservabile e deterministico c'è certezza, quindi si ha la certezza di un certo risultato. Stocastico: incertezza descritta tramite probabilità, ad esempio dieci spostamenti tra una stanza e l'altra produce lo sporco. Non deterministico: azione caratterizzate da risultati possibili, ma senza uso di probabilità. Incerto: se non completamente osservabile o non deterministico. - Ambiente episodico/sequenziale: - episodico: la scelta di una azione non dipende dalle scelte fatte in "episodi" precedenti (non serve lo storico delle scelte) - sequenziale: una decisione può influenzare le successive (taxi, scacchi, ecc l'agente deve pensare in avanti) - Ambiente dinamico/statico: - dinamico se l'ambiente può cambiare mentre l'agente pensa a che azione eseguire (es taxi) - semi-dinamico: l'ambiente non cambia, ma la valutazione delle prestazioni dell'agente si (ad esempio negli scacchi il tempo puòdiventare la una misura di prestazione).
o Statico non cambia l'ambiente
o Discreto/continuo: stato dell'ambiente, gestione del tempo, percezioni e azioni (scacchi discreto, taxi continuo) che lo stato dell'ambiente può cambiare in uno stato da un insieme potenzialmente continuo infinito; discreto che la variazione si basa su un insieme finito di possibilità.
o Noto/ignoto: stato di conoscenza dell'agente nelle leggi dell'ambiente
Caso più difficile: parzialmente osservabile, multi-agente ambiente stocastico, sequenziale, dinamico, continuo, ignoto (come il mondo reale)
8- Agente semplice: Mantiene memoria della sequenza di percezioni e decide qual è la migliore azione in base alle percezioni precedenti per poi andarla a memorizzare.
L'agente riceve la percezione e va ad aggiornare la sequenza di percezione con l'ultima ricevuta dopodiché accede alla tabella e in base alla sequenza di percezioni ricevute fino ad ora
- Agente reattivo semplice (rispondono alle percezioni);
- Agente reattivo basato su modello (considerano l'evolversi del mondo circostante);
- Agenti basati su obiettivi (agiscono per raggiungere i propri obiettivi);
- Agenti basati su utilità (cercano di massimizzare le proprie utilità).
- Se vogliamo che un agente evolva nel tempo, cioè che apprenda dall'ambiente delle informazioni, in particolare quando eseguo delle azioni, riesco ad ottenere certe misure di prestazioni, posso usare questa conoscenza per far sì che l'agente si comporti sempre meglio. Es: videogiochi agente che parte da nessuna conoscenza e giocano a videogiochi sconosciuti, e alla fine riescono a vincere contro i campioni di quel gioco apprendendo le regole.
element è l'agente come l'abbiamo visto finora. Il blocco Critic riceve informazioni in input che sono le misure di prestazioni (sa quali sono le prestazioni ottime) e sa tramite sensori come si sta comportando l'agente, così fornisce feedback al blocco Learning element che a sua volta sa se l'agente si sta comportando bene o male, in base ai feedback ricevuti va a cambiare le azioni dell'agente che hanno causato le basse prestazioni dell'agente. Problem generator invece serve se l'agente si trova ad affrontare sempre le stesse percezioni e quindi fare sempre le stesse azioni, questo blocco gli propone delle nuove esperienze portandolo a fasi dell'ambiente che non ha mai visto, serve cioè a migliorare le performance dell'agente.
1.4.2. Rappresentare gli stati
Gli stati memorizzati in un'agente possono essere di diversa tipologia e rappresentazione, con complessità crescente.
- Rappresentazione Atomica: ogni stato non ha altre
informazione se non del nome dello stato (usatonegli algoritmi di ricerca e nei modelli di Markov);
Rappresentazione Fattorizzata: in cui abbiamo più informazioni per un certo stato (usato peralgoritmi di soddisfacimento di vincoli e reti bayesiane);
Rappresentazione Strutturata: ogni stato al suo interno ha informazioni con ulteriori informazionilegati tramite archi quindi a loro volta dei grafi, quindi maggiori informazioni memorizzabili conquesta struttura (però maggiore tempo di esecuzione, usato per logica del primo ordine, modelliprobabilistici apprendimento basato sulla conoscenza ecc).
2. Risolvere i problemi con la ricerca
Agenti risolutori di problemi
2.1.Un agente di questo tipo adotta il paradigma della risoluzione di problemi di ricerca in uno spazio di stati.Sono particolari agenti con obiettivo, che pianificano l'...