Intelligenza Artificiale Simbolica - PowerPoint PPT Presentation

About This Presentation
Title:

Intelligenza Artificiale Simbolica

Description:

Intelligenza Artificiale Simbolica m. ernandes, e. trentin Intelligenza Artificiale - Problem Solving Propriet generali delle Euristiche 2 Consistenza: h(n) ... – PowerPoint PPT presentation

Number of Views:135
Avg rating:3.0/5.0
Slides: 55
Provided by: Marco315
Category:

less

Transcript and Presenter's Notes

Title: Intelligenza Artificiale Simbolica


1
Intelligenza Artificiale Simbolica
  • m. ernandes, e. trentin

2
Problem Solving
3
Risolvere problemi
  • E uno dei processi intellettivi che secondo il
    Comportamentismo richiede e definisce lattività
    intellettuale.
  • Induzione (Apprendimento)
  • Sussunzione (Riconoscimento)
  • Ragionamento (Deduzione)
  • Problem Solving (implica tutte le precedenti)
  • Approccio comportamentista Test di Turing

4
Come costruire un Problem Solver ?
  • Approccio Human-oriented (cognitivista)
  • Deve SIMULARE lattività intelligente
  • Risolvere problemi pensando come un uomo
  • Approccio Machine-oriented (comport.)
  • Deve MANIFESTARE attività intelligente
  • Risolvere i problemi al meglio

5
Approccio Machine-Oriented
  • Problem Solver che MANIFESTA intelligenza
  • Algoritmi di Ricerca
  • Problem Solving ricerca nello spazio degli
    stati.
  • Perchè?
  • PS Hard Computing
  • Il bias della potenza di calcolo
  • Con calcolatori sufficientemente potenti si può
    attaccare ogni tipo di problema.
  • Falso l'esplosione combinatoria rende futile la
    forza bruta

6
Cosa è un problema? (I)
  • Problema è un concetto non definibile, solo
    esemplificabile. (Nilsson, 1982)
  • Alcuni esempi
  • I puzzle da tavola ? in genere NP
  • Commesso viaggiatore
  • Rompicapo come il Cubo di Rubik
  • SAT, Dimostrazione teoremi
  • Giochi (Dama, Scacchi, etc.)
  • VLSI

7
Cosa è un problema? (II)
  • Formalizzazione
  • 5-tupla di elementi PX,SCS,x0,g,t
  • Formalizzare astrarre un problema

8
Problem Solving
Blind Search
9
Grafi e strategie
  • Spazio degli Stati ? X
  • Spazio della Ricerca ? (SCS(SCS((x0))))
  • Alberi
  • Nodi
  • Cosa vuol dire trovare una soluzione?
  • Cosa è una strategia di ricerca?

10
Valutare le strategie
  • 4 criteri fondamentali
  • Completezza
  • Ottimalità
  • Complessità Spaziale
  • Complessità Temporale
  • Le regole doro di J.Pearl (1984)
  • Non dimenticarsi di cercare sotto ogni pietra
  • Non alzare due volte la stessa

11
Ricerca Cieca
  • Come espandere un nodo?
  • Coda dei nodi aperti
  • CODA.insert(node)
  • node CODA.remove()
  • Lordinamento dei nodi in CODA
  • determina la strategia di ricerca

12
Algoritmo Generale di Search
  • Struttura Generale
  • if (goal_test(x0) true) return SUCCESS
  • else CODA.insert(x0)
  • do
  • if (CODA.isEmpty()) return FAILURE
  • nodo CODA.remove()
  • figli SCS(nodo)
  • CODA.insert(figli)
  • while( goal_test(nodo) false )
  • 4. return SUCCESS

13
Breadth FirstRicerca in Ampiezza
  • Usa una memoria FIFO
  • E un algoritmo difensivo
  • E completo e ottimale
  • Complessità spaziale O(bd)
  • Complessità temporale O(bd)

14
Breadth First - simulazione
GOAL
15
Alcuni numeri
depth N nodi Tempo Memoria
2 111 1 msec 11 KB
4 11111 0,1 sec 1 MB
6 gt106 10 sec gt100 MB
8 gt108 17 min gt10 GB
10 gt1010 28 ore gt1 TB
12 gt1012 116 giorni gt100 TB
14 gt1014 32 anni gt10000 TB
b 10, velocità ricerca 100 mila nodi/sec.,
100 byte/nodo
  • Korf dagli anni 60 la velocità di ricerca è
    cresciuta di 2 x 106. Quasi il 50 del contributo
    va ai miglioramenti algoritmici.

16
Depth FirstRicerca in Profondità
  • Usa una memoria LIFO
  • E un algoritmo aggressivo
  • E non completo e non ottimale
  • Complessità temporale O(bd)
  • Complessità spaziale O(db)

17
Depth First - simulazione
backtracking
GOAL
18
Come migliorarli?
  • Conoscendo lo stato goal
  • Non ripetendo gli stati
  • Evitando di espandere lo stato di provenienza
  • Evitando i cicli
  • In generale evitando di generare nodi con stati
    già visitati nella ricerca
  • Conoscendo il costo degli operatori

19
Ricerca Bidirezionale(sfruttare la conoscenza
dello stato goal)
  • Ricerca in Ampiezza
  • Dallo stato iniziale verso il goal
  • Dal goal verso lo stato iniziale
  • Quando termina?
  • Perché non usare 2 depth first?
  • E completa e ottimale
  • Complessità spaziale O(bd/2)
  • Complessità temporale O(bd/2)

20
Ricerca Bidirezionale - Simulazione
GOAL
X0
21
Ricerca a profondità limitata(evitare di cadere
in loop infiniti)
  • Ricerca in profondità
  • Si stabilisce una profondità massima l
  • Se la coda è vuota al raggiungimento di l si
    ritorna un fallimento
  • Non è completa (se lltd) né ottimale
  • Complessità spaziale O(bl)
  • Complessità temporale O(bl)
  • PRO evita loop infiniti senza usare memoria!
  • CON richiede conoscenza a priori del problema

22
Iterative Deepening Search(evitare di cadere in
loop infiniti)
  • Ricerca a profondità limitata
  • Passo 1 l 0
  • Passo 2
  • si applica la ricerca a profondità limitata
    partendo da X0
  • se la coda è vuota al raggiungimento di l si
    reitera il passo 2 aumentando l
  • E ottimale e completa
  • Complex. temporale (d1)1 (d)b (d-1)b2
    (1)bd O(bd)
  • Complex. spaziale O(bd)
  • CONTRO si espandono più volte gli stessi stati.

bd(b/(b-1))2
23
Iterative Deepening - sim
Iterazione 0
24
Iterative Deepening - sim
Iterazione 1
25
Iterative Deepening - sim
Iterazione 2
26
Iterative Deepening - sim
Iterazione 3
GOAL
27
Ricerca a costo uniforme(sfruttare la conoscenza
del costo degli operatori)
  • La Breadth First Search
  • minimizza il costo di cammino della soluzione se
    la funzione di costo per ogni operatore è
    costante (es 1)
  • funzione di costo g(n)
  • La Uniform-Cost Search
  • minimizza il costo di cammino anche con operatori
    a costo variabile (es commesso viaggiatore)
  • Requisito g(n) lt g(SCS(n)), cioè costo non
    negativo
  • Altrimenti non cè strategia che tenga!
  • E completa e ottimale.

28
Ricerca a costo uniforme - Sim
4
2
4
6
6
5
2
1
6
8
5
6
1
4
5
6
2
3
2
GOAL
0
2
3
4
6
7
COSTO
29
Problem Solving
Heuristic Search
30
Cosa è uneuristica?
  • Qualsiasi cosa che serva di supporto in un
    processo decisionale
  • E una conoscenza, magari imperfetta, del dominio
    in cui ci troviamo
  • Un esempio reale la Carta di Mercatore
  • Tipicamente nel Problem Solving
  • Valutazione del costo di cammino futuro

31
Come usare uneuristica?
X0
g(n)
Actual State (n)
f(n)
h(n)
Goal State
32
Due Esempi di Euristiche
Tessere fuori posto hfp(n) 5
Distanza di Manhattan hm(n) 11
33
Proprietà generali delle Euristiche
  • Ammissibilità
  • h(n) è ammissibile se h(n) h(n)
  • Dominanza
  • h2 domina h1 se h1(n) h2(n)
  • e h1 h2 sono ammissibili

34
Proprietà generali delle Euristiche 2
  • Consistenza
  • h(n) è consistente se
  • Monotonicità
  • h(n) è monotona se

35
Dim consistenza ammissibilità
1. Per def h(n) ? c(n,n) h(n) ?(n,n)
2. Allora possiamo sostituire n con un nodo
risolvente ?
3. quindi h(n) ? c(n,?) h(?)
4. h(?) 0 e c(n,?) h(n) per ? ? ?
(percorso ottimo)
5. da 3 e 4 abbiamo che h(n) ? h(n)
Dim monotonicità consistenza
1. Per def h(n) ? c(n,n) h(n) ? n,n ?
SCS(n)
2. e anche h(n) ? c(n,n) h(n) ? n,n
? SCS(n)
3. ripetendo il punto 2 con n ? n e c(n,n)
? c(n,n) c(n,n) rimane garantito che h(n)
? c(n,n) h(n) ? n,n ? SCS((SCS(n)))
4. quindi h(n) ? c(n,n) h(n) ?(n,n)
36
Esempi di Euristiche Ammissibili
A) Tessere Fuori Posto B) Distanza di
Manhattan C) h3hfp hm ? non è ammissibile!
Navigazione Robot tra ostacoli h(n) Distanza
in linea retta (se il costo degli step è 1 per
movimento ortogonale e per movimento
diagonale)
37
Euristica di Manhattan
  • Somma delle distanze ortogonali delle parti (le
    tessere nel Puzzle di Sam-Loyd) dalle loro
    posizioni nel goal state.
  • E ammissibile
  • E monotona.
  • Rispetta la parità di h(n)
  • E pienamente informata quando siamo vicini
    allobiettivo

38
Algoritmi di Ricerca Euristica
  • Hill-Climbing
  • Best-First Search
  • Algoritmi Greedy
  • Algoritmi A
  • Algoritmo Generale WA
  • Memory Bounded Search
  • IDA, SMA
  • Ricerca a miglioramenti Iterativi
  • Simulated Annealing

39
Hill-Climbing Search
  • Si usa unicamente la funzione euristica
  • Non cè backtracking
  • Non si usa memoria
  • Non è ottimale
  • Non è completo
  • Minimi locali

4
5
4
5
3
3
0
GOAL
40
Best-First Ottimale A(Hart, Nilsson and
Raphael, 1968)
  • A un nome ambizioso
  • Funzione di valutazione ? f(n)g(n)h(n)
  • Caratteristiche
  • Ottimale
  • Completo
  • Complex time space O(bd)
  • Ottimamente efficiente

41
Algoritmo A
  • if (goal_test(x0) true) return SUCCESS
  • else OPEN.insert(x0, g(x0)h(x0) )
  • do
  • if (OPEN.isEmpty()) return FAILURE
  • nodo OPEN.remove()
  • CLOSED.insert(nodo)
  • figli SCS(nodo)
  • for all figli
  • if (!CLOSED.contains(figlio))
  • OPEN.insert(figlio, g(figlio)h(figlio))
  • while( goal_test(nodo) false )
  • 4. return SUCCESS

42
Dimostrazioni
  • A è un algoritmo ottimale
  • A è un algoritmo completo

43
A algoritmo ottimale
n0
  • Per ASSURDO
  • A espande da OPEN ?2 e ?2 non è la soluzione
    ottima

n
1. per definizione g(?2) gt f
2. sia n ? ? nodo foglia (in OPEN)
??
?
3. se h è ammissibile allora f(n) f
4. ?2 viene preferito a n quindi f(n) f(?2)
5. da 3 e 4 abbiamo che f f(?2)
6. dato che ?2 è finale allora h(?2)0 e f(?2)
g(?2)
7. da 5 e 6 abbiamo che f g(?2) che
contraddice il punto 1
44
A algoritmo completo
  • Per ASSURDO A ritorna un insuccesso o non
    termina

1. A ritorna un insuccesso se OPEN è vuota
2. OPEN si svuota se nessuna foglia ha figli
3. se esiste un ? tra n0 e ? allora per ogni n ?
? esiste un figlio
4. da 2 e 3 deriva che se esiste ? allora OPEN
non si svuota e A non ritorna un insuccesso
5. se ? è di lunghezza finita allora A termina
anche in grafi infiniti grazie alluso di g(n)
perché g(n) lt ? ?n
6. due condizioni per la completezza - costo
di un ? infinito ? - ? non infinito
45
Best-First Generale WA(Ira Pohl, 1970)
  • Funzione di valutazione ? f(n) (1-w)g(n)
    wh(n)
  • w 0 ? ricerca breadth-first
  • w 0,5 ? ricerca A
  • w 1 ? ricerca Greedy
  • Come cambia il costo della ricerca?
  • w lt 0,5 non ha senso, quindi
  • Funzione di valutazione ? f(n) g(n) w h(n)
  • Crescendo w la ricerca diventa sempre più
    greedy
  • Il costo delle soluzioni è limitato superiormente
    da wC (se w gt 1)

46
WA alcuni risultati sul 15-puzzle
w Mosse Nodi
1 52,7 380 x 106
1,5 56,6 500 x 103
2 63,5 79 x 103
6 103,3 10500
99 145,3 7000
47
Iterative Deepening A (IDA)(Korf, 1985)
  • Una innovazione attesa
  • 1985 prime soluzioni ottime del gioco del 15
  • Eredita due qualità
  • linear space search O(bd) da DFID
  • ottimalità da A
  • E completo, complex. temp O(bd)

48
Algoritmo IDA
  • Come funziona
  • Ha una soglia di costo threshold.
  • Funzione di valutazione ? f(n) g(n) h(n)
  • Ha una LISTA di nodi LIFO
  • SE f(n) threshold si espande il nodo.
  • SE la LISTA è vuota si ricominca da capo la
    ricerca aggiornando threshold

49
Algoritmo IDA
  • if (goal_test(x0) true) return SUCCESS
  • soglia g(x0)h(x0)
  • LISTA.insert(x0)
  • do
  • nodo LISTA.remove()
  • figli SCS(nodo)
  • for all figli
  • if (g(figlio)h(figlio) ? soglia)
  • LISTA.insert(figlio)
  • while( goal_test(nodo) false
  • and !LISTA.isEmpty())
  • if(goal_test(nodo) true) return SUCCESS
  • else
  • update(soglia) GOTO 3

?
50
IDA Simulazione
03
Threshold
3
51
IDA Simulazione
03
Threshold
5
52
IDA Simulazione
03
Threshold
7
53
Formalizzazione Problemi Il Puzzle di Sam Loyd
configurazioni risolvibili
N!/2
N!
  • X tutte le configurazioni
  • SCS(x) tutti gli operatori di x
  • x0 configurazione random
  • g unitario per ogni SCS
  • t configurazione ordinata

operatori (non-reversibili)
b ca.3
b ca. 4
54
Formalizzazione Problemi Cubo di Rubik
  1. Non ha senso ruotare la stessa faccia due volte
    consecutive
  2. Muovere due facce opposte consecutivamente
    equivale alla sola mossa dellasse centrale
  3. Dopo aver mosso la faccia A e poi la faccia
    B, va mossa una delle altre 4 facce rimanenti.

configurazioni risolvibili
  • X tutte le configurazioni
  • SCS(x) tutti gli operatori di x
  • x0 configurazione random
  • g unitario per ogni SCS
  • t configurazione ordinata

(8! 12! 38 212)/12
8! 12! 38 212
operatori utili su x
18
ca.11
se si usa costo unitario h(n) deve essere
normalizzato a 1! per usare manhattan si
associa ad un lato il colore delle tessere
centrali
Write a Comment
User Comments (0)
About PowerShow.com