Programmazione di calcolatori

Slides:



Advertisements
Presentazioni simili
Dispensa a cura del prof. CAVAGNA GIANCARLO Luglio 2002
Advertisements

Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
Alfabeti, Stringhe e Linguaggi
Sistemi di numerazione
Linguaggi Regolari e Linguaggi Liberi
Vincenza Ferrara dicembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
Precorsi di Informatica Dott. Antonio Cisternino Settembre 2003
LA TEORIA DEGLI INSIEMI
Relazione tra due insiemi:
LE MATRICI.
CALCOLO COMBINATORIO Principio fondamentale del calcolo combinatorio
Definizione e caratteristiche
Il linguaggio della geometria
Definizione e caratteristiche
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Esercitazioni su circuiti combinatori
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Statistica per le decisioni aziendali ed analisi dei costi Modulo II - Statistica per le decisioni Aziendali Richiami di Algebra Matriciale.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Esercitazione 3 (5 dicembre 2008)
PROGETTO LAUREE SCIENTIFICHE
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e strutture dati
Teoria degli INSIEMI A cura Prof. Salvatore MENNITI.
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Alfabeti, Stringhe e Linguaggi Def: un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { }. Gli elementi sono.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Gli algoritmi AA 2003/04 © Alberti Programmazione 2. Algoritmi.

INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
PROBLEMI RISOLUBILI E COMPUTABILITÀ
RAPPRESENTAZIONE DELL'INFORMAZIONE
CONVERSIONE NUMERI INTERI CON COMPLEMENTO A DUE. I computer di oggi effettuano ogni tipo di operazione numerica, ma le prime ALU degli anni 50 erano in.
Logica Matematica Seconda lezione.
Definizione di determinante
1 Informatica Senza Computer? Chiariamoci un po le idee!!! Carlo Gaibisso Informatica senza Computer?
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
INTELLIGENZA E MACCHINE CALCOLATRICI
Radix-Sort(A,d) // A[i] = cd...c2c1
Prof. Cerulli – Dott.ssa Gentili
Cerchiamo di rispondere alla seconda domanda 2)La soluzione trovata con lalgoritmo goloso è ottima o esistono anche soluzioni con più di quattro attività?
Rappresentazione dell’Informazione
Programmazione di Calcolatori
Programmazione di Calcolatori
Programmazione di Calcolatori
Introduzione ai linguaggi formali e alle stringhe
Algoritmi di conversione in basi numeriche diverse
ECDL Patente europea del computer
Pippo.
L’infinito l’infinito in matematica Il numerabile  o Il continuo C.
Corso di Matematica (6 CFU) (4 CFU Lezioni +2 CFU Esercitazioni)
La rappresentazione delle informazioni in un computer Seconda parte.
C. Gaibisso Programmazione di Calcolatori Lezione II Cosa vuol dire scrivere un programma Programmazione di Calcolatori: Cosa vuol dire scrivere un programma.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
La codifica dei numeri.
Automi temporizzati.
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Congettura di Collatz (Lothar Collatz, 1937)
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Programmazione di calcolatori Lezione IV Esistono problemi non risolvibili? Programmazione di Calcolatori: Esistono problemi non risolvibili?

Problemi & funzioni Risolvere un problema: estrarre l’informazione implicita a cui siamo interessati dall’informazione esplicita in nostro possesso “calcolare” una delle funzioni che realizza tale estrazione Programmazione di Calcolatori: Esistono problemi non risolvibili?

Problemi risolvibili e funzioni calcolabili un problema è risolvibile se esiste un algoritmo che lo risolve Funzioni calcolabili: una funzione è calcolabile se esiste un algoritmo che la calcola Programmazione di Calcolatori: Esistono problemi non risolvibili?

Esempio Problema: Funzione: Qual è il massimo tra due numeri interi? f : N x N→N Start Stop N1, N2 N1 > N2 si N1 no N2 Programmazione di Calcolatori: Esistono problemi non risolvibili?

Informazione esplicita Informazione implicita Esempio Informazione esplicita Informazione implicita 0, 0 1, 0 1 0, 1 …. 158, 641 641 2.856, 567 2.856 Programmazione di Calcolatori: Esistono problemi non risolvibili?

Idea “contiamo” gli algoritmi “contiamo” le funzioni se il “numero” delle funzioni dovesse risultare “maggiore” del “numero” degli algoritmi allora esisterebbe almeno una funzione non calcolabile, e, di conseguenza, almeno un problema non risolvibile Programmazione di Calcolatori: Esistono problemi non risolvibili?

Equipotenza e numerabilità Insiemi equipotenti: A e B sono equipotenti, A  B, se e solo se esiste una funzione biunivoca f : A→B Insiemi numerabili: A è numerabile se e solo A  B  N L’insieme dei numeri pari Npari è numerabile: infatti la funzione f: Npari →N definita da f(n) = n/2 è biunivoca Programmazione di Calcolatori: Esistono problemi non risolvibili?

Equipotenza e numerabilità Ovviamente: se A è numerabile e B  A allora B è numerabile più informalmente qualsiasi sottoinsieme di un insieme numerabile è numerabile Programmazione di Calcolatori: Esistono problemi non risolvibili?

Insiemi numerabili N Elementi di A Enumerazione: a0 1 a1 2 a2 …. n an a0 1 a1 2 a2 …. n an … Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quanti sono gli algoritmi? Nozione intuitiva di algoritmo è una sequenza finita di istruzioni ogni istruzione è costruita a partire da un alfabeto di dimensione finita ogni istruzione nella sequenza è codificata con una quantità finita di informazione deve esistere un agente di calcolo C capace di eseguire le istruzioni dell’algoritmo C deve avere capacità di memorizzazione ….. Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quanti sono gli algoritmi? L’insieme S delle stringhe di lunghezza finita costruite a partire da un alfabeto di dimensione finita è numerabile definisco un ordinamento tra i caratteri dell’alfabeto (in modo analogo a quanto avviene per i caratteri dell’alfabeto della lingua italiana) enumero tutte le stringhe di lunghezza finita costruite a partire dall’alfabeto in ordine di lunghezza crescente enumero le stringhe di eguale lunghezza in ordine lessicografico Programmazione di Calcolatori: Esistono problemi non risolvibili?

Esempio N Alfabeto  {a, b, c} Elementi di S a 1 b 2 c 3 aa 4 ab 5 ac a 1 b 2 c 3 aa 4 ab 5 ac 6 ba 7 bb … …. 39 aaaa Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quanti sono gli algoritmi? L’insieme A degli algoritmi costruiti a partire dallo stesso alfabeto è numerabile ovvio in quanto A  S Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quante sono le funzioni? L’insieme delle funzioni F0,1  { f | f : N → {0,1}}  F non è numerabile F0,1  B, con B insieme delle stringhe binarie di lunghezza infinita funzione f(0) = 1 f(1)=0 f(2)=1 f(3)=1 … f(n)=0 stringa 1 Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quante sono le funzioni? L’insieme B delle stringhe binarie di lunghezza inifinita non è numerabile se così non fosse potrei enumerare l’insieme di tali stringhe dimostreremo che esiste almeno una stringa mancante da qualsiasi enumerazione Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quante sono le funzioni? Elementi di B 1 … 2 3 4 5 6 7 8 9 .. consideriamo una qualsiasi enumerazione consideriamone la diagonale complementiamo tale diagonale, ottenendo una nuova stringa binaria di lunghezza infinita in quanto tale, dovrebbe comparire nella enumera- zione 1 … Programmazione di Calcolatori: Esistono problemi non risolvibili?

Quante sono le funzioni? Elementi di B 1 … 2 3 4 5 6 7 8 9 .. supponiamo compaia nella posizione i-esima, la 3a per esempio per costruzione, se la 3a cifra nella diagonale complemen- tata è 1 (risp., 0) il bit alla intersezione della 3a colonna e della 3a riga nella enume- razione è 0 (risp., 1) da cui l’assurdo di conseguenza possiamo affermare che non esistono enumerazioni per B 1 … Programmazione di Calcolatori: Esistono problemi non risolvibili?

Concludendo l’insieme degli algoritmi (A) numerabile se l’insieme delle stringhe binarie di lunghezza finita (B) non è numerabile allora l’insieme delle funzioni da N in {0, 1} (F0,1 ) non è numerabile se l’insieme delle funzioni da N in {0, 1} (F0,1 ) non è numerabile allora l’insieme delle funzioni (F) non è numerabile Programmazione di Calcolatori: Esistono problemi non risolvibili?

Concludendo se l’insieme degli algoritmi (A) è nume- rabile e l’insieme delle funzioni (F) non è numerabile allora esiste almeno una funzione non calcolabile se esiste almeno una funzione non calcolabile allora esiste almeno un problema non risolvibile Programmazione di Calcolatori: Esistono problemi non risolvibili?