Complessità computazionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Complessità computazionale"

Transcript

1 Complessità computazionale Francesco Paoli Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 1 / 20

2 Un rappresentante di commercio... deve recarsi a Cagliari, Carbonia, Muravera, Oristano e Sanluri (non importa in quale ordine). rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 2 / 20

3 Un rappresentante di commercio... deve recarsi a Cagliari, Carbonia, Muravera, Oristano e Sanluri (non importa in quale ordine). Più chilometri percorre, più aumentano i costi (in tempo e in denaro). rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 2 / 20

4 Un rappresentante di commercio... deve recarsi a Cagliari, Carbonia, Muravera, Oristano e Sanluri (non importa in quale ordine). Più chilometri percorre, più aumentano i costi (in tempo e in denaro). Quale percorso gli conviene fare? rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 2 / 20

5 Quando un algoritmo è effi ciente? Prima proposta: Quando produce la soluzione desiderata in un tempo rapido. Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 3 / 20

6 Quando un algoritmo è effi ciente? Prima proposta: Quando produce la soluzione desiderata in un tempo rapido. DIFETTI: la velocità di calcolo dipende dal computer su cui l algoritmo è implementato e dal linguaggio di programmazione usato. Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 3 / 20

7 Quando un algoritmo è effi ciente? Prima proposta: Quando produce la soluzione desiderata in un tempo rapido. DIFETTI: la velocità di calcolo dipende dal computer su cui l algoritmo è implementato e dal linguaggio di programmazione usato. Si vuole una definizione di effi cienza che non dipende da questi fattori accidentali. rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 3 / 20

8 Se eseguo un algoritmo su una macchina di Turing: La lunghezza dell input è il numero di 1 presenti sul nastro all inizio del calcolo. La lunghezza del calcolo è il numero di passi necessari alla macchina per terminare l esecuzione dell algoritmo. QUESTE NOZIONI NON DIPENDONO DALLA MACCHINA DI TURING SU CUI L ALGORITMO E IMPLEMENTATO Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 4 / 20

9 Algoritmi effi cienti Definition Un algoritmo A è polinomiale (P) quando la lunghezza del calcolo è maggiorata da una funzione polinomiale della lunghezza dell input. Se N è la lunghezza del calcolo, n è lunghezza dell input, A è polinomiale sse esistono k, C tali che per ogni n N < Cn k rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 5 / 20

10 Algoritmi ineffi cienti Definition Un algoritmo A è esponenziale (P) quando la lunghezza del calcolo è maggiorata solo da funzioni esponenziali della lunghezza dell input. Ad esempio, N = 2 n rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 6 / 20

11 Perché polinomiale = effi ciente, esponenziale = ineffi ciente? Aumento della lunghezza del calcolo in funzione della lunghezza dell input: N = n N = 2 n Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 7 / 20

12 Perché polinomiale = effi ciente, esponenziale = ineffi ciente? (2) Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 8 / 20

13 Torniamo al nostro rappresentante... Se deve visitare n località, i percorsi possibili sono n! La funzione fattoriale cresce più rapidamente di 2 n L ALGORITMO DELLA RICERCA ESAUSTIVA E TIPICAMENTE INEFFICIENTE!!! Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 9 / 20

14 Problemi di decisione Variante decisionale del problema del commesso viaggiatore: Dato un insieme di località e un numero B, esiste un percorso che tocchi tutti i luoghi e abbia una lunghezza al massimo pari a B? rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 10 / 20

15 Macchine di Turing non deterministiche Presentano istruzioni che violano la clausola di determinatezza. Ad esempio: L R 4 Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 11 / 20

16 Algoritmi NP Definition Un algoritmo A è NP quando la lunghezza del calcolo su una macchina di Turing non deterministica è data da una funzione polinomiale della lunghezza dell input. rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 12 / 20

17 Algoritmo NP per il rappresentante di commercio 1 Sceglie a caso il primo luogo da visitare, poi il secondo, poi il terzo... ; 2 Calcola il percorso totale; 3 Lo confronta col numero assegnato B. Supponendo che a ogni stadio si indovini la località successiva, il risultato corretto sarà calcolato in tempo polinomiale. La probabilità che ciò si verifichi nella realtà è 1 n! Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 13 / 20

18 Problemi NP-completi Definition Un problema è NP completo se una sua eventuale soluzione polinomiale implica una soluzione polinomiale di ogni altro problema NP. Theorem (Cook). Determinare se una formula della logica proposizionale è soddisfacibile mediante le tavole di verità è un problema NP-completo. Anche il commesso viaggiatore, e molti altri problemi NP, lo sono. rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 14 / 20

19 P=NP? E convinzione generale che i problemi NP non siano P... Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 15 / 20

20 P=NP? E convinzione generale che i problemi NP non siano P ma nessuno è mai riuscito a dimostrarlo. Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 15 / 20

21 P=NP? E convinzione generale che i problemi NP non siano P ma nessuno è mai riuscito a dimostrarlo. PROVATECI: se ci riuscite avrete gloria imperitura... Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 15 / 20

22 P=NP? E convinzione generale che i problemi NP non siano P ma nessuno è mai riuscito a dimostrarlo. PROVATECI: se ci riuscite avrete gloria imperitura e di dollari in contanti (Clay Institute) rancesco Paoli (Istituzioni di logica, ) Complessità computazionale 15 / 20

23 Programmazione lineare Algoritmi ineffi cienti in teoria possono funzionare bene con dati semplici (ossia nella maggior parte dei problemi pratici). ESEMPIO: programmazione lineare, che funziona nei problemi di ottimizzazione. Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 16 / 20

24 Esempio dell industria tessile (1) Un industria produce due tessuti, A e B, usando lana rossa, verde e gialla In magazzino ci sono: 1400 kg lana rossa 1800 kg lana verde 1800 kg lana gialla Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 17 / 20

25 Esempio dell industria tessile (2) Il profitto dell azienda è 12 Euro per ogni pezza di tessuto A e 8 Euro per ogni pezza di tessuto B. La lana occorrente per ciascuna pezza è: Tessuto A Tessuto B lana rossa 4 kg 4 kg lana verde 6 kg 3 kg lana gialla 2 kg 6 kg Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 18 / 20

26 Esempio dell industria tessile (3) Come dobbiamo usare la lana in modo da massimizzare il profitto? X = numero di unità di tessuto A Y = numero di unità di tessuto B P = 12X + 8Y 4X + 4Y X + 3Y X + 6Y X 0 Y Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 19 / 20

27 Esempio dell industria tessile (4) Francesco Paoli (Istituzioni di logica, ) Complessità computazionale 20 / 20

Algoritmo per A. !(x) Istanza di B

Algoritmo per A. !(x) Istanza di B Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione

Dettagli

Capitolo 9: Trattabilitá e intrattabilitá dei problemi

Capitolo 9: Trattabilitá e intrattabilitá dei problemi Capitolo 9: Trattabilitá e intrattabilitá dei problemi 1 La classe P : é considerata tradizionalmente come una caratterizzazione formale dei problemi trattabili. n = 2 n = 5 n = 10 n = 100 n = 1000 n 2

Dettagli

Soddisfacibilità e Semantic Tableau [1]

Soddisfacibilità e Semantic Tableau [1] Intelligenza Artificiale I Soddisfacibilità e Semantic Tableau Marco Piastra Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema In forma rigorosa, un problema è una relazione

Dettagli

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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Teoria della NP-completezza

Teoria della NP-completezza Teoria della NP-completezza Ivan Lanese Dipartimento di Informatica Scienza e Ingegneria Università di Bologna Ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ NP-completezza 2 Complessità di problemi

Dettagli

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,

Dettagli

Problemi intrattabili

Problemi intrattabili Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi

Dettagli

Capitolo 8: Teoria della complessitá

Capitolo 8: Teoria della complessitá Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.

Dettagli

Problemi intrattabili e quantum computing

Problemi intrattabili e quantum computing Problemi intrattabili e quantum computing Il problema del commesso viaggiatore Noto anche come Travelling Salesman Problem (TSP) Il commesso viaggiatore deve visitare n città in automobile Se viaggiasse

Dettagli

Ancora su 2-SAT. può essere pensata come una coppia di implicazioni!! " 1

Ancora su 2-SAT. può essere pensata come una coppia di implicazioni!!  1 Ancora su 2-SAT Qualsiasi clausola a 1! a 2 può essere pensata come una coppia di implicazioni!! " 1 " a 2 e " 2 " a 1 Il caso di letterale singolo a viene considerato come "" a Partendo da una istanza

Dettagli

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto con combinazione (3 numeri tra 0 e 39) Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2011/12 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Combinazione di 3 numberi

Dettagli

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità Intelligenza Artificiale I Soddisfacibilità e Algoritmi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema Un problema

Dettagli

Elementi di Complessità Computazionale

Elementi di Complessità Computazionale Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con

Dettagli

Teoria della Complessità Concetti fondamentali

Teoria della Complessità Concetti fondamentali Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non

Dettagli

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE COMPLESSITÀ DEGLI ALGORITMI L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile In base a quali parametri

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

Complessità Computazionale

Complessità Computazionale Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare

Dettagli

Teoria della complessità

Teoria della complessità Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Teoria della complessità Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto con combinazione (3 numeri tra 0 e 39) Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2010/11 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Ans: Combinazione di 3

Dettagli

Teoria della Complessità Computazionale

Teoria della Complessità Computazionale Teoria della Complessità Computazionale Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 21 Ottobre 2014 Ricerca Operativa 2

Dettagli

Logica Algoritmi Cognizione

Logica Algoritmi Cognizione Logica Algoritmi Cognizione Le nozioni di DECIDIBILITÀ e COMPUTABILITÀ e i loro limiti Formulazione della logica in termini di teorie formalizzate e di dimostrazioni (all interno di teorie formalizzate)

Dettagli

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi Il problema dello zaino: dalla gita in montagna ai trasporti internazionali Luca Bertazzi 0 Ricerca Operativa (Operations Research) The Science of Better Modelli e algoritmi per la soluzione di problemi

Dettagli

Capitolo 11. Teoria della computazione Pearson Addison-Wesley. All rights reserved

Capitolo 11. Teoria della computazione Pearson Addison-Wesley. All rights reserved Capitolo 11 Teoria della computazione 2007 Pearson Addison-Wesley. All rights reserved Capitolo 11: Teoria della computazione 11.1 Funzioni e loro calcolo 11.2 Macchine di Turing 11.3 Linguaggi gg di programmazione

Dettagli

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

Teoria della NP-completezza. Damiano Macedonio

Teoria della NP-completezza. Damiano Macedonio Teoria della NP-completezza Damiano Macedonio mace@unive.it Copyright 2010, Moreno Marzolla, Università di Bologna, Italy (http://www.moreno.marzolla.name/teaching/asd2009/) This work is licensed under

Dettagli

Problemi decisionali. Esempi

Problemi decisionali. Esempi Problemi decisionali La teoria della complessità computazionale è definita principalmente in termini di problemi di decisione Essendo la risposta binaria, non ci si deve preoccupare del tempo richiesto

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.00.005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Classificazione degli algoritmi Tassonomia di costo: algoritmo costante: c

Dettagli

Teoria della Complessità Computazionale

Teoria della Complessità Computazionale Teoria della Complessità Computazionale Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Rev. 1.3, 11/00 rev. 1.3 - Novembre 2000 Teoria della Complessità Studia la difficoltà dei problemi

Dettagli

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza NP-Completezza e la complessità strutturale degli algoritmi Simone Frassanito Dipartimento di Elettronica per l Automazione Università degli Studi di Brescia Cosa non è l NP-Completezza Si potrebbe pensare

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

La nozione di algoritmo

La nozione di algoritmo La nozione di algoritmo Agostino Dovier Dip. di Matematica e Informatica, Univ. Udine UDINE, Aprile 2015 Agostino Dovier (DIMI) La nozione di algoritmo UDINE 1 / 17 Un algoritmo viene descritto in un certo

Dettagli

NP completezza. Problemi astratti

NP completezza. Problemi astratti NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti

Dettagli

NP completezza. Vittorio Maniezzo - Università di Bologna

NP completezza. Vittorio Maniezzo - Università di Bologna NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti

Dettagli

Dunque k vale all incirca log n: precisamente k = [log n] + 1.

Dunque k vale all incirca log n: precisamente k = [log n] + 1. Teoria Elementare dei Numeri Soluzioni Esercizi 1 Convenzione: Su questo foglio log n indica sempre il logaritmo in base 2 di n 1 Quante cifre binarie ha all incirca un numero intero n? Sol Scriviamo n

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

Complessità Strutturale e NP-Completezza

Complessità Strutturale e NP-Completezza Complessità Strutturale e NP-Completezza Una breve introduzione Francesco De Rose Alberto Giorgi Università degli Studi di Brescia Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica

Dettagli

Aniello Murano NP- Completezza (prima parte)

Aniello Murano NP- Completezza (prima parte) Aniello Murano NP- Completea (prima parte) 14 Leione n. Parole chiave: Npcompletea Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduione I problemi NP-completi

Dettagli

Problemi algoritmici e Complessità degli algoritmi

Problemi algoritmici e Complessità degli algoritmi Problemi algoritmici e Complessità degli algoritmi Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2005/2006 Problemi algoritmici!

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

Sistemi con vincoli. Docente: Francesca Rossi.

Sistemi con vincoli. Docente: Francesca Rossi. E-mail: frossi@math.unipd.it Scopo del corso Dare le nozioni di base della programmazione con vincoli Come rappresentare un problema reale con un insieme di vincoli Tecniche principali per risolverlo Approccio

Dettagli

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso

Dettagli

complessità degli algoritmi

complessità degli algoritmi complessità degli algoritmi progetto CORDA informatica algoritmo matematico persiano Muhammad al-khwarizmi (IX secolo) un algoritmo è una sequenza finita di passi interpretabili da un esecutore l esecuzione

Dettagli

(ETC) A.A. 2016/17 MATRICOLE DISPARI

(ETC) A.A. 2016/17 MATRICOLE DISPARI Elementi di Teoria della Computazione (ETC) A.A. 2016/17 MATRICOLE DISPARI Docente: Prof. Luisa Gargano BENVENUTI! Finalità: Fornire gli elementi di base delle teorie che sono di fondamento all'informatica

Dettagli

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Intelligenza Artificiale. Logica proposizionale: calcolo automatico Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining

Dettagli

Intelligenza Artificiale. Logica proposizionale classica (Parte 1)

Intelligenza Artificiale. Logica proposizionale classica (Parte 1) Intelligenza Artificiale Logica proposizionale classica (Parte ) Marco Piastra Logica formale (Parte ) - Introduzione alla logica formale Parte. Preambolo: algebra di Boole, proposizioni, conseguenza logica

Dettagli

Problemi decidibili, semidecidibili, indecidibili

Problemi decidibili, semidecidibili, indecidibili Problemi decidibili, semidecidibili, indecidibili (Paragrafo 3.5 delle dispense) Il problema di determinare se una formula A della logica proposizionale sia valida o no può essere risolto mediante un procedimento

Dettagli

Ad ogni problema computazionale possiamo associare una misura della sua complessità.

Ad ogni problema computazionale possiamo associare una misura della sua complessità. Problema computazionale: Descrizione dell input, Compito da svolgere. Esempio: SOMMA: INPUT: 2 numeri x e y, COMPITO: stampare x+y. Ad ogni problema computazionale possiamo associare una misura della sua

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Corso Programmazione

Corso Programmazione Corso Programmazione 2012-2013 (docente) Fabio Aiolli E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli (docenti laboratorio) L. Barastri, A. Ceccato, G. Da San Martino Dipartimento di Matematica

Dettagli

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04) Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come

Dettagli

1 Tesina 1: Tecniche di costruzione di riduzioni polinomiali. 2 Tesina 2: Sistemi deduttivi per la logica proposizionale

1 Tesina 1: Tecniche di costruzione di riduzioni polinomiali. 2 Tesina 2: Sistemi deduttivi per la logica proposizionale 1 Tesina 1: Tecniche di costruzione di riduzioni polinomiali Dopo aver individuato un piccolo insieme di problemi NP-completi (e relative riduzioni polinomiali) esplorare le tecniche più frequentemente

Dettagli

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo

Dettagli

Testo di riferimento. Problema delle 12 monete. Algoritmi. Complessità degli algoritmi (cenni) Dispense del Corso di Algoritmi e Strutture Dati

Testo di riferimento. Problema delle 12 monete. Algoritmi. Complessità degli algoritmi (cenni) Dispense del Corso di Algoritmi e Strutture Dati Testo di riferimento Complessità degli algoritmi (cenni) CORDA Informatica A. Ferrari Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo - Edoardo Bontà Università degli Studi di Urbino Carlo

Dettagli

Complessità degli algoritmi (cenni)

Complessità degli algoritmi (cenni) Complessità degli algoritmi (cenni) CORDA Informatica A. Ferrari Testo di riferimento Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo - Edoardo Bontà Università degli Studi di Urbino Carlo

Dettagli

Corso Programmazione

Corso Programmazione Corso Programmazione 2016-2017 (docente) Fabio Aiolli E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli (assistenti laboratorio) M. Gelain, I. Lauriola, M. Polato Dipartimento di Matematica Torre

Dettagli

Teoria della Complessità Computazionale Parte I: Introduzione

Teoria della Complessità Computazionale Parte I: Introduzione Teoria della Complessità Computazionale Parte I: Introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - ottobre 2003 Teoria della Complessità Studia la difficoltà dei

Dettagli

Le parole dell informatica: algoritmo e decidibilità

Le parole dell informatica: algoritmo e decidibilità Le parole dell informatica: algoritmo e decidibilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico dell Informatica

Dettagli

Teoria della Calcolabilità!

Teoria della Calcolabilità! Teoria della Calcolabilità Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo. L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

Diario delle Lezioni del Corso di Algoritmimodulo

Diario delle Lezioni del Corso di Algoritmimodulo Diario delle Lezioni del Corso di Algoritmimodulo Complessità A.A. 2010-2011 Dott.ssa Margherita Zorzi 1 Materiale didattico Libro di testo C.H. Papadimitrious, Computational Complexity, ed Addison-Wesley

Dettagli

Sommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle

Sommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle Sommario Esempi di problemi NP-completi: 3-COLORING HamCycle SP 3-Coloring è NP-hard Una colorazione di un grafo G=(V,E) è una funzione f : V {1,...,n} tale che {u,v} E f(u) f(v). Una 3- colorazione usa

Dettagli

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it Lezione 1 Teoria

Dettagli

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione

Dettagli

Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità.

Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità. RISULTATI DI NON APPROSSIMABILITA Tecnica di base: gap. Riduzioni che preservano l approssimazione e completezza nelle classi di approssimabilità. Risultati negativi basati su prove verificabili in modo

Dettagli

Le classi P, NP, PSPACE

Le classi P, NP, PSPACE Le classi P, NP, PSPACE Argomenti della lezione Classi di complessità notevoli I teoremi di gerarchia Il teorema di Savitch Problemi aperti Classi di complessità notevoli LOGSPACE = DSPACE(log n) P P=

Dettagli

Il problema del commesso viaggiatore (TSP) la somma delle distanze tra le città. essere espresso dalla domanda:

Il problema del commesso viaggiatore (TSP) la somma delle distanze tra le città. essere espresso dalla domanda: Classe NP: il TSP Il problema del commesso viaggiatore (TSP)! È definito in termini di un insieme di n città c 1,..., c n e di una matrice delle distanze: D = ( d(i,j) ) d(i,j) = distanza(c i, c j )! Un

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo

Dettagli

Algoritmi e complessità

Algoritmi e complessità Appendice A Algoritmi e complessità In questa appendice vogliamo brevemente richiamare alcuni concetti fondamentali della teoria della complessità computazionale, utili per meglio comprendere la diversa

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere

Dettagli

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29 Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,

Dettagli

Dentro P e oltre NP?

Dentro P e oltre NP? Dentro P e oltre NP? Tra P e EXPTIME? EXPTIME PSPACE conp NP P Si sa solo che P EXPTIME PSPACE completezza Un linguaggio A è PSPACE completo se 1.A è in PSPACE, cioè esiste una TM T che accetta A con complessità

Dettagli

PROGRAMMAZIONE I A.A. 2018/2019

PROGRAMMAZIONE I A.A. 2018/2019 PROGRAMMAZIONE I A.A. 2018/2019 COMPUTATIONAL THINKING Formalizzato da una psicologa Americana Jeanette Wing in un articolo sulla rivista ACM nel 2008 ühttps://www.ncbi.nlm.nih.gov/pmc/articles/pmc2696102/

Dettagli

Complessità computazionale degli algoritmi

Complessità computazionale degli algoritmi Complessità computazionale degli algoritmi Lezione n. 3.bis I precursori dei calcolatore Calcolatore di Rodi o di Andikithira 65 a.c. Blaise Pascale pascalina XVII secolo Gottfried Leibniz Joseph Jacquard

Dettagli

Parte I.5 Cenni alla computazione

Parte I.5 Cenni alla computazione Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti

Dettagli

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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

Dettagli

Teoria della computabilità. Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag

Teoria della computabilità. Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag Teoria della computabilità Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag.120-129 Teoria della computabilità Si occupa dell esistenza o meno di algoritmi risolutivi di

Dettagli

Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I)

Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I) Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I) Algoritmi greedy Gli algoritmi per problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Dettagli

La MT come riconoscitore

La MT come riconoscitore La MT come riconoscitore Sia M =

Dettagli

Aniello Murano Space Complexity

Aniello Murano Space Complexity Aniello Murano Space Complexity Lezione n. Parole chiave: Space Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Definizione Space- complexity Definizione: Sia M un

Dettagli

Proposte di approfondimenti

Proposte di approfondimenti Linguaggi formali Proposte di approfondimenti 1. Forme normali di Greibach, trasformazione di una grammatica in forma normale di Greibach Automi a stati finiti 2. Automi di Büchi: particolari automi a

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Sommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi?

Sommario. Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi? Sommario Problemi di decisione, di ricerca e di ottimizzazione: come sono legate le complessità delle diverse versioni dei problemi? Decisione vs ricerca Se disponiamo di un efficiente algoritmo per risolvere

Dettagli

Algoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.

Algoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. E. Calabrese: Fondamenti di Informatica Algoritmi-1 Algoritmi di ricerca Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. Per esempio: - cercare

Dettagli

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1 CALCOLO NUMERICO Prof. Di Capua Giuseppe Appunti di Informatica - Prof. Di Capua 1 INTRODUZIONE Quando algoritmi algebrici non determinano la soluzione di un problema o il loro «costo» è molto alto, allora

Dettagli

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it a.a. 2002-03 e.merelli

Dettagli

La Teoria della Complessità Computazionale fa un passo avanti:

La Teoria della Complessità Computazionale fa un passo avanti: Introduzione La Teoria della Calcolabilità fornisce criteri per analizzare i problemi computazionali dal punto di vista della loro risolvibilità per via algoritmica. La domanda centrale riguarda l'esistenza

Dettagli

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

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Cognome................................ Nome................................... Matricola............................... Algoritmi e Strutture Dati Prova scritta del 4 luglio 207 TEMPO DISPONIBILE: 2 ore

Dettagli

In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni:

In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: 6.5 Trattabilita' computazionale. In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: - la forte differenza nell'andamento asintotico

Dettagli

Problemi difficili e ricerca esaustiva intelligente

Problemi difficili e ricerca esaustiva intelligente Problemi difficili e ricerca esaustiva intelligente Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis Gli argomenti di questa lezione sono tratti da Dasgupta, Papadimitriou,

Dettagli

In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni:

In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: 6.5 Trattabilita' computazionale. In prima approssimazione definiamo trattabili i problemi che possono essere risolti in tempo polinomiale con MT. Motivazioni: - la forte differenza nell'andamento asintotico

Dettagli