Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati

Documenti analoghi
Sistemi di Interpretazione dati e Diagnosi Overview

Logica proposizionale

Ricerca non informata in uno spazio di stati

Problemi, istanze, soluzioni

Intelligenza Artificiale. Problem Solving -Agenti risolutori di problemi

Generare sequenze di azioni.

Agenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015

Heap e code di priorità

Soluzione del problema come ricerca in uno spazio degli stati:

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

TEST: RAGGIUNGIMENTO DEL GOAL La verifica può essere solo l appartenenza dello stato raggiunto all insieme dello stato (o degli stati) goal. A volte l

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Intelligenza Artificiale. Lezione 3. Intelligenza Artificiale Daniele Nardi, 2004/05 Lezione 3 0

Esercizi proposti 10

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Algoritmo basato su cancellazione di cicli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Cercare il percorso minimo Ant Colony Optimization

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Introduzione agli Algoritmi ed alle Strutture Dati Anno Accademico 2015/2016 Appello 23/6/2016

Soluzione del problema come ricerca in uno spazio degli stati:

RETI DI CALCOLATORI II

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Assemblaggio degli Elementi: Soluzione del Problema Strutturale Discreto

1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI

Sistemi Web per il turismo - lezione 3 -

Il concetto di calcolatore e di algoritmo

Fondamenti VBA. Che cos è VBA

ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.

Macchine sequenziali. Automa a Stati Finiti (ASF)

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 25 Giugno 2008 (Tempo a disposizione 2h ; su 32 punti)

11.4 Chiusura transitiva

Lucchetto con combinazione (3 numeri tra 0 e 39)

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

I giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.

Alberi binari e alberi binari di ricerca

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati

LA PROGRAMMAZIONE MATEMATICA (p.m.)

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Alberi binari di ricerca

Cosa è l Informatica?

DISPENSE DI PROGRAMMAZIONE

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Diagrammi a blocchi 1

Concetti Introduttivi. Il Computer

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy

Lucchetto con combinazione (3 numeri tra 0 e 39)

ADT: Abstract Data Type. Quasi ADT. ADT per collezioni di dati (code generalizzate) 04 I tipi di dati astratti (I parte)

TRIE (albero digitale di ricerca)

ADT Coda con priorità

Algoritmi e Strutture Dati

Costruzione di espressioni regolari 4

L algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013

Algoritmi e giochi combinatori

Alberi Binari di Ricerca

Algoritmi. Pagina 1 di 5

Routing IP. IP routing

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Grafi: visita generica

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Fondamenti di Informatica II 9. Complessità computazionale

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Come ragiona il computer. Problemi e algoritmi

Algoritmi e Strutture Dati

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

Tracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni

Ripasso di teoria ed esercizi in preparazione al terzo compito. 26 gennaio 2004

Analisi ammortizzata (Tarjan in 1985)

Il problema del commesso viaggiatore e problemi di vehicle routing

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Agenti risolutori di problemi

Pumping lemma per i linguaggi Context-free

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Primi passi con JFlex

Sistemi Qualità e normativa

Macchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Tecniche di compressione senza perdita

Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di

Informatica e Bioinformatica: Algoritmi

età (anni) manutenzione (keuro) ricavato (keuro)

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

UNIVERSITA DEGLI STUDI DI PERUGIA

FONDAMENTI DI INFORMATICA II

Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi A5_1 V1.3 Applicazioni B2B

Primo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Rappresentazione con i diagrammi di flusso (Flow - chart)

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Transcript:

Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_1 V1.4 Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale Nota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig A5 Ricerca Spazio Stati Paolo Salvaneschi 1

INDICE Risolvere problemi con una ricerca Modellazione del problema Applicazioni Algoritmi di ricerca Misure di prestazioni (complessità di algoritmi e problemi) A5 Ricerca Spazio Stati Paolo Salvaneschi 2 A5 Ricerca Spazio Stati Paolo Salvaneschi 2

Risolvere problemi con una ricerca Model-based Goal-based agent Agenti basati su un modello del mondo in cui il mondo è descritto come uno spazio di stati nel quale applicare un processo di ricerca Agenti dotati di un obiettivo A5 Ricerca Spazio Stati Paolo Salvaneschi 3 A5 Ricerca Spazio Stati Paolo Salvaneschi 3

Risolvere problemi con una ricerca I problemi si possono modellare come problemi di ricerca in uno spazio degli stati Spazio degli stati: lo spazio degli stati è l insieme di tutti gli stati raggiungibili dallo stato iniziale con una qualunque sequenza di operatori. Strategie di ricerca. A5 Ricerca Spazio Stati Paolo Salvaneschi 4 A5 Ricerca Spazio Stati Paolo Salvaneschi 4

Risolvere problemi con una ricerca Formulazione del problema Definizione degli stati Definizione dell obiettivo Definizione delle azioni (transizioni tra stati) Problema Ricerca di una soluzione Esame di diverse sequenze di azioni e scelta di una sequenza che permetta di raggiungere l obiettivo Soluzione: sequenza di azioni Esecuzione Realizzazione della sequenza di azioni trovata A5 Ricerca Spazio Stati Paolo Salvaneschi 5 A5 Ricerca Spazio Stati Paolo Salvaneschi 5

Risolvere problemi con una ricerca Schema di funzionamento dell agente (dato uno stato iniziale restituisce una singola azione) A5 Ricerca Spazio Stati Paolo Salvaneschi 6 A5 Ricerca Spazio Stati Paolo Salvaneschi 6

Risolvere problemi con una ricerca Dato uno stato iniziale restituisce una singola azione Se è invocato con una lista di azioni vuota Definisce lo stato di partenza Formula un obiettivo Formula il problema (quali sono gli stati, quali sono le azioni applicabili agli stati) Esegue una ricerca e produce una sequenza di azioni da eseguire Estrae un azione dalla sequenza e la restituisce Altrimenti Estrae un azione dalla sequenza e la restituisce Aspetti diversi: Formulazione obiettivo e modellazione del problema; Ricerca; Esecuzione A5 Ricerca Spazio Stati Paolo Salvaneschi 7 A5 Ricerca Spazio Stati Paolo Salvaneschi 7

Risolvere problemi con una ricerca Nota: L agente percepisce il mondo esterno solo all inizio (stato iniziale) Quando esegue la sequenza di azioni ignora le percezioni e suppone che la soluzione trovata funzioni in ogni caso A5 Ricerca Spazio Stati Paolo Salvaneschi 8 A5 Ricerca Spazio Stati Paolo Salvaneschi 8

Risolvere problemi con una ricerca Tipo di agente Statico: la formulazione e la soluzione del problema non considerano cambiamenti nell ambiente Ambiente completamente osservabile: lo stato iniziale è noto Discreto Deterministico Open Loop System A5 Ricerca Spazio Stati Paolo Salvaneschi 9 A5 Ricerca Spazio Stati Paolo Salvaneschi 9

Modellazione del problema Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 10 A5 Ricerca Spazio Stati Paolo Salvaneschi 10

Modellazione del problema Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 11 A5 Ricerca Spazio Stati Paolo Salvaneschi 11

Modellazione del problema Definizione del problema Un problema è definito da quattro elementi: Stato iniziale Funzione successore Test obiettivo Costo del cammino A5 Ricerca Spazio Stati Paolo Salvaneschi 12 A5 Ricerca Spazio Stati Paolo Salvaneschi 12

Modellazione del problema Stato iniziale Es. in Arad Funzione successore S(x) Un insieme di coppie azione-stato Es. Test obiettivo Un test per verificare se abbiamo raggiunto l obiettivo Può essere esplicito Es. in Bucharest o implicito (la proprietà scaccomatto nel gioco degli scacchi) A5 Ricerca Spazio Stati Paolo Salvaneschi 13 A5 Ricerca Spazio Stati Paolo Salvaneschi 13

Modellazione del problema Costo del cammino g Somma dei costi delle singole azioni lungo il cammino (es. somma delle distanze, numero di azioni eseguite) C(x,a,y) costo del singolo step >= 0 Soluzione Sequenza di azioni che portano dallo stato iniziale allo stato obiettivo A5 Ricerca Spazio Stati Paolo Salvaneschi 14 A5 Ricerca Spazio Stati Paolo Salvaneschi 14

Modellazione del problema Soluzione Una sequenza di azioni che porta dallo stato iniziale allo stato obiettivo Soluzione ottima Soluzione a path cost minimo tra tutte le soluzioni A5 Ricerca Spazio Stati Paolo Salvaneschi 15 A5 Ricerca Spazio Stati Paolo Salvaneschi 15

Modellazione del problema Modellazione degli stati e degli operatori A5 Ricerca Spazio Stati Paolo Salvaneschi 16 A5 Ricerca Spazio Stati Paolo Salvaneschi 16

Modellazione del problema Gli algoritmi di ricerca sono stati oggetto di ampio studio La modellazione è un processo creativo A5 Ricerca Spazio Stati Paolo Salvaneschi 17 A5 Ricerca Spazio Stati Paolo Salvaneschi 17

Applicazioni Esempio NB A5 Ricerca Spazio Stati Paolo Salvaneschi 18 A5 Ricerca Spazio Stati Paolo Salvaneschi 18

Applicazioni Esempio j j j A5 Ricerca Spazio Stati Paolo Salvaneschi 19 A5 Ricerca Spazio Stati Paolo Salvaneschi 19

Applicazioni Il problema del commesso viaggiatore: Un commesso viaggiatore ha una lista di città che deve visitare tutte una sola volta. Vi sono strade dirette fra ogni coppia di città. Si trovi la strada più breve che il commesso deve seguire per compiere un viaggio completo che inizi e termini in una qualsiasi delle città. Problema NP-Hard Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 20 A5 Ricerca Spazio Stati Paolo Salvaneschi 20

Applicazioni Pianificazione dei movimenti delle perforatrici automatiche di circuiti su schede VLSI layout Esempio Posizionamento dei componenti e delle piste su un circuito Navigazione di un robot A5 Ricerca Spazio Stati Paolo Salvaneschi 21 A5 Ricerca Spazio Stati Paolo Salvaneschi 21

Algoritmi di ricerca Algoritmi di ricerca Idea di base: generare un albero (grafo) di ricerca Nota: grafo lo stesso stato può essere raggiunto da percorsi multipli Vedi Il problema degli stati ripetuti A5 Ricerca Spazio Stati Paolo Salvaneschi 22 A5 Ricerca Spazio Stati Paolo Salvaneschi 22

Algoritmi di ricerca Algoritmi di ricerca Idea di base: generare un albero (grafo) di ricerca Stato iniziale Stato finale Operatore (trasforma uno stato in un altro) Funzione successore (dato uno stato attuale lo espande genera gli stati che si raggiungono applicando tutti gli operatori che si possono applicare) Soluzione (sequenza di operatori la cui applicazione trasforma lo stato iniziale nello stato finale) A5 Ricerca Spazio Stati Paolo Salvaneschi 23 A5 Ricerca Spazio Stati Paolo Salvaneschi 23

Algoritmi di ricerca Strategia di ricerca Regole di scelta dello stato da espandere Nota: lo spazio degli stati e l albero di ricerca sono due concetti distinti Es. nell esempio di ricerca del percorso da Arad a Bucharest ci sono: 20 stati (uno per città) un infinito numero di possibili percorsi (è un grafo) => albero di ricerca con infiniti nodi A5 Ricerca Spazio Stati Paolo Salvaneschi 24 A5 Ricerca Spazio Stati Paolo Salvaneschi 24

Algoritmi di ricerca Stati del problema e nodi dell albero di ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 25 A5 Ricerca Spazio Stati Paolo Salvaneschi 25

Algoritmi di ricerca Definizioni Parent. Nodo che ha generato il nodo che si considera Children. Nodo generato dal nodo che si considera Fringe (confine, frontiera). Collezione dei nodi generati ma non ancora espansi Depth. Numero di passi lungo il percorso dal nodo iniziale Path Cost. costo g(x) dallo stato iniziale al nodo che si considera Implementazione dell albero di ricerca Coda A5 Ricerca Spazio Stati Paolo Salvaneschi 26 A5 Ricerca Spazio Stati Paolo Salvaneschi 26

Algoritmi di ricerca Nota: due costi diversi: Costo della ricerca Costo dell esecuzione A5 Ricerca Spazio Stati Paolo Salvaneschi 27 A5 Ricerca Spazio Stati Paolo Salvaneschi 27

Algoritmi di ricerca Nodi espansi Nodi generati ma non ancora espansi Nodi non ancora generati A5 Ricerca Spazio Stati Paolo Salvaneschi 28 A5 Ricerca Spazio Stati Paolo Salvaneschi 28

Algoritmi di ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 29 A5 Ricerca Spazio Stati Paolo Salvaneschi 29

Algoritmi di ricerca Fringe A5 Ricerca Spazio Stati Paolo Salvaneschi 30 A5 Ricerca Spazio Stati Paolo Salvaneschi 30

Algoritmi di ricerca GENERAL TREE SEARCH ALGORITHM Per ogni possibile effetto di ogni possibile azione della funzione successore (insieme di coppie azione-stato) del nodo corrente Costruisci la struttura di dati del nuovo nodo espanso Restituisci i nodi successori A5 Ricerca Spazio Stati Paolo Salvaneschi 31 A5 Ricerca Spazio Stati Paolo Salvaneschi 31

Algoritmi di ricerca GENERAL TREE SEARCH ALGORITHM I nodi sono conservati in memoria. Trovato il nodo goal, attraverso il puntatore al node genitore si ricostruisce il cammino Nota: la struttura di dati contiene: -- Il puntatore al nodo genitore -- L azione che ha portato al nodo dal nodo genitore (una volta trovato il goal sarà possibile ricostruire all indietro il percorso e la sequenza di azioni da eseguire) -- Il costo del percorso -- La profondità del nodo A5 Ricerca Spazio Stati Paolo Salvaneschi 32 A5 Ricerca Spazio Stati Paolo Salvaneschi 32

Algoritmi di ricerca Nota La struttura dati di fringe è una coda Non è detto in che modo i dati sono inseriti /estratti dalla coda Il tipo di coda (FIFO, LIFO) incide sull ordine della ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 33 A5 Ricerca Spazio Stati Paolo Salvaneschi 33

Algoritmi di ricerca Strategie di ricerca. Una strategia è definita dall ordine con cui si espandono i nodi (es. in larghezza o in profondità) Classi di strategie Non informate (cieche). Non ci sono informazioni aggiuntive relativamente agli stati rispetto a quelle fornite dalla definizione del problema Informate (euristiche). Ci sono informazioni aggiuntive (uno stato è più promettente di altri) A5 Ricerca Spazio Stati Paolo Salvaneschi 34 A5 Ricerca Spazio Stati Paolo Salvaneschi 34

Misure di prestazioni Misura delle prestazioni degli algoritmi di ricerca shallowest goal node A5 Ricerca Spazio Stati Paolo Salvaneschi 35 A5 Ricerca Spazio Stati Paolo Salvaneschi 35

Misure di prestazioni Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 36 A5 Ricerca Spazio Stati Paolo Salvaneschi 36

Misure di prestazioni Nota: Analisi di algoritmi e notazione O() Domanda: quali prestazioni ha un algoritmo in termini di risorse (tempo, memoria)? Primo modo: Benchmarking Specifico del contesto di esecuzione Di limitata estrapolazione A5 Ricerca Spazio Stati Paolo Salvaneschi 37 A5 Ricerca Spazio Stati Paolo Salvaneschi 37

Secondo modo Misure di prestazioni Analisi dell algoritmo indipendentemente dalla specifica implementazione T(n) = 2n+2 Numero totale T di passi dell algoritmo (N. righe di codice eseguite. Astrazione dell implementazione) Lunghezza n della sequenza in ingresso (Astrazione dell input) Difficoltà di condurre un analisi esatta di algoritmi complessi A5 Ricerca Spazio Stati Paolo Salvaneschi 38 A5 Ricerca Spazio Stati Paolo Salvaneschi 38

Misure di prestazioni Terzo modo (Indipendentemente dalla specifica implementazione) Analisi asintotica (Ordine) Importa come cresce l utilizzo delle risorse al crescere della dimensione dell ingresso Risorse Dimensione dell ingresso A5 Ricerca Spazio Stati Paolo Salvaneschi 39 A5 Ricerca Spazio Stati Paolo Salvaneschi 39

Misure di prestazioni Ordine; Notazione O (o grande) f(n) è O(g(n)) Date due costanti positive c ed n 0, una funzione f(n) appartiene all insieme O(g(n)), ovvero f(n) O(g(n)) se: c, n 0 > 0 n > n 0, 0 f(n) c g(n) A5 Ricerca Spazio Stati Paolo Salvaneschi 40 A5 Ricerca Spazio Stati Paolo Salvaneschi 40

Misure di prestazioni Significato: A partire da una certa dimensione n 0 del dato di ingresso, la funzione g(n) maggiora la funzione f(n). La g(n) rappresenta un limite superiore per la f(n). Il limite non è stretto. Se f(n) O(n 2 ) vuol dire che f(n), da un certo punto in poi, è maggiorata da n 2 : se ciò è vero, anche n 3 maggiorerà la f(n), e quindi f(n) appartiene anche a O(n 3 ), limite meno stretto del precedente Nota sull uso improprio L utilizzo corretto delle notazioni asintotiche è in espressioni del tipo f(n) O(g(n)) E prassi comune l utilizzo del tipo f(n) = O(n 2 ). A5 Ricerca Spazio Stati Paolo Salvaneschi 41 A5 Ricerca Spazio Stati Paolo Salvaneschi 41

Misure di prestazioni Significato: Il comportamento per tutti gli n < n 0 non è tenuto in conto, per cui potranno esserci dei valori di n < n 0 tali che f(n) > g(n), Esempio di funzione f(n) che appartiene all insieme O(g(n)) A5 Ricerca Spazio Stati Paolo Salvaneschi 42 A5 Ricerca Spazio Stati Paolo Salvaneschi 42

Misure di prestazioni Complessità lineare O(n) Es.: ricerca sequenziale n log n O(n log n) Es.: Algoritmi di ordinamento ottimi. n k, con k>=2 O(n k ) Es.: moltiplicazione di due 2 matrici Esponenziale O(k n ) Es.: un algoritmo che debba produrre tutte le possibili stringhe lunghe n di k simboli A5 Ricerca Spazio Stati Paolo Salvaneschi 43 A5 Ricerca Spazio Stati Paolo Salvaneschi 43

Misure di prestazioni Confronto tra complessità polinomiale e esponenziale Tempo di esecuzione di tre algoritmi su un calcolatore che esegue un operazione in 10-6 secondi n.operazioni n complessità O(g(n)) n 2 n 5 2 n s= secondi, m= minuti, c=secoli A5 Ricerca Spazio Stati Paolo Salvaneschi 44 A5 Ricerca Spazio Stati Paolo Salvaneschi 44

Misure di prestazioni Nota:Analisi di complessità dei problemi Domanda:dato un problema, quale è la classe di complessità degli algoritmi che lo risolvono (indipendentemente dallo specifico algoritmo)? Scopo: comprendere le prestazioni massime raggiungibili da un algoritmo applicato a un problema A5 Ricerca Spazio Stati Paolo Salvaneschi 45 A5 Ricerca Spazio Stati Paolo Salvaneschi 45

Misure di prestazioni P classe dei problemi polinomiali Possono essere risolti in un tempo O(n k ) per un qualche k facili. Attenzione: includono anche O(n 1000 ) NP classe dei problemi non deterministici polinomiali Esiste un algoritmo che ipotizza una soluzione e verifica in un tempo polinomiale se la soluzione è corretta. Se si hanno tanti processori o si è fortunati i problemi NP diventano P A5 Ricerca Spazio Stati Paolo Salvaneschi 46 A5 Ricerca Spazio Stati Paolo Salvaneschi 46

Misure di prestazioni NP è equivalente a P se non si ha un infinità di processori? Problema aperto NP- completo (NP-hard) sottoclasse della classe NP Dato un problema np-completo non esiste un algoritmo che risolve tutte le istanze del problema in un tempo polinomiale Specifiche istanze possono essere risolte efficientemente A5 Ricerca Spazio Stati Paolo Salvaneschi 47 A5 Ricerca Spazio Stati Paolo Salvaneschi 47

Misure di prestazioni co-npcomplemento di NP Per ogni problema di decisione in NP c è un corrispondente problema in co-np con le risposte si e no invertite co-np- completo idem A5 Ricerca Spazio Stati Paolo Salvaneschi 48 A5 Ricerca Spazio Stati Paolo Salvaneschi 48