ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma



Documenti analoghi
INTRODUZIONE I CICLI DI BORSA

1 Giochi a due, con informazione perfetta e somma zero

Il calcolo letterale per risolvere problemi e per dimostrare

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Introduzione al MATLAB c Parte 2

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Da dove nasce l idea dei video

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

STAMPA UNIONE DI WORD

Matematica generale CTF

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico)

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

LANCIAMO UN DADO PER DECIDERE CHI DEVE INIZIARE IL GIOCO. PARTIRA IL NUMERO PIU ALTO

Appunti sulla Macchina di Turing. Macchina di Turing

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.


Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Esempi di algoritmi. Lezione III

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

FISICA. Le forze. Le forze. il testo: 2011/2012 La Semplificazione dei Testi Scolastici per gli Alunni Stranieri IPSIA A.

MAGAZZINO FISCALE (agg. alla rel )

Test d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

Dimensione di uno Spazio vettoriale

Esercizi su. Funzioni

L insieme N dei numeri naturali è infinito?

INFINITO & CARDINALITÀ

Corso di Laurea in Scienze della Formazione Primaria Università di Genova MATEMATICA Il

E naturale chiedersi alcune cose sulla media campionaria x n

Convertitori numerici in Excel

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

COME COMPORTARSI E RAPPORTARSI CON ALLIEVI E GIOCATORI DURANTE LE LEZIONI E GLI ALLENAMENTI.

All. 1 UDL Il viaggio - Elaborati alunnni Francesca Pulvirenti 1

Le curve ellittiche sono un gioiello della matematica. Sono state studiate per secoli per la loro bellezza e importanza.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

creare la tua vetrina MMSHOPS

Funzioni in C. Violetta Lonati

1 Serie di Taylor di una funzione

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Kangourou della Matematica 2014 finale nazionale italiana Mirabilandia, 12 maggio 2014

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

S- magari si potrebbe dire la prima riga, la seconda riga UNITÀ DIDATTICA: TESTO POETICO. Obiettivi

LA MOLTIPLICAZIONE IN CLASSE SECONDA

Anno 1. Definizione di Logica e operazioni logiche

x u v(p(x, fx) q(u, v)), e poi

min 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5

Un modello matematico di investimento ottimale

Lezione 8. La macchina universale

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Laboratorio di Informatica

RISOLUTORE AUTOMATICO PER SUDOKU

Presentazione. Obiettivi dell area «Modelli mentali»

La somma. Esempio: Il prodotto. Esempio:

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

FH-SY capitolo Versione 3 - FH-SY.NET - FAQ -

B9. Equazioni di grado superiore al secondo

Guida all uso di Java Diagrammi ER

Università per Stranieri di Siena Livello A1

La misura degli angoli

Informatica pratica. File e cartelle

Teoria dei Giochi. Anna Torre

Matematica e giochi di gruppo

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

ALTRI SUGGERIMENTI PER IL PERCORSO AD OSTACOLI

Uguali? Diversi! Addomesticare l infinito Varese, ottobre 2009 M. Dedò

IL MODELLO CICLICO BATTLEPLAN

REGOLAMENTO FAENTINO L INIZIO. Il tavolo sarà composto da 4 giocatori dove ognuno gioca per sé stesso.

Dispense di Informatica per l ITG Valadier

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Informa(ca Appun% dal laboratorio 2

Paghe Scaglioni. Fascia di reddito. Fascia di reddito

Terza Edizione Giochi di Achille ( ) - Olimpiadi di Matematica Soluzioni Categoria E4 (Alunni di quarta elementare)

SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Teoria dei Giochi. Anna Torre

MODULO 5 ACCESS Basi di dati. Lezione 4

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

I quesiti di Matematica per la classe di concorso A059

Q-RAS Questionario di Rilevazione delle Abilità Sociali

Esercizi Capitolo 6 - Alberi binari di ricerca

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Note su quicksort per ASD (DRAFT)

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

NOZIONI DI BASE DEL DIRITTO IL DIRITTO COME INSIEME DI REGOLE

Informatica per la comunicazione" - lezione 7 -

Lezione 9: Cambio di base

Primi passi per la costituzione di una Associazione

Transcript:

Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore mossa in una partita a scacchi per questi esistono programmi che li risolvono (almeno in teoria) in generale? problemi non calcolabili per certi problemi non esiste un programma che li risolve si dimostra in due modi: ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma problemi di decisione serve una definizione formale di problema per semplicità: solo problemi con soluzione 0/1 ogni altro problema ha una sua versione così: dati a, b, c, verificare se c è la media di a e b data una posizione degli scacchi e una mossa possibile, verificare se è quella migliore problemi di decisione su interi dato del problema: intero risultato: sì o no intero problema 0/1 formalizzazione? 1

formalizzazione per alcuni interi la soluzione è 1 per tutti gli altri è 0 esempio: decidere se un intero è pari soluzione 1 per 2, 4, 6, ecc. decidere se un intero è primo soluzione 1 per 1, 2, 3, 5, 7, ecc. rappresentazione dei problemi problema = insieme di interi interi per cui la soluzione è 1 decidere se un intero è pari insieme {2,4,6,8,10,12,} decidere se un intero è primo insieme {1,2,3,5,7,11,} cardinalità problema=insiemi di interi quindi: problemi = insiemi di interi il numero dei problemi non è contabile numero dei programmi programma = sequenza di caratteri (anche il ritorno a capo è un carattere) programmi = interi contabile non calcolabilità problemi > programmi per definizione: 2

ci sono problemi per i quali non c è un programma sì ma... basato su: problema=insieme di interi che problema è {1,5,29,31,52,100,102,109}? alcuni insiemi non hanno un senso nessuna utilità pratica non è che quelli non risolvibili sono tutti così? premessa un programma Python sta su un file può leggere un file qualsiasi: s=open( nomefile ).read() anche se stesso? programma che legge se stesso stesso.py: s=open( stesso.py ).read() print s apre e legge il file, poi lo stampa era solo una premessa il problema della fermata while i!=10: print i i=i+1 se i 10 il programma termina altrimenti va avanti all infinito se non termina? sarebbe utile saperlo prima es: Word non risponde ci sta solo mettendo del tempo o è entrato in un ciclo infinito? 3

secondo caso: errore nel programma idea: scrivere un programma che verifica se questo può succedere il problema della fermata dato un programma soluzione 1 se il programma termina 0 se il programma non termina scrivere un programma che risolve questo problema il programma del problema della fermata altro.py fermata.py 0/1 fermata.py legge un file in quel file c è un altro programma fermata.py lo legge, poi: stampa 1 se il file contiene un programma che termina altrimenti stampa 0 complicato? fermata.py è un programma che legge un file solo che nel file c è un altro programma esempio: vediamo se ci sono while in altro.py s=open( altro.py ).read() m=search( while, s) if m: print ci sono while non basta problema della fermata, in generale se non ci sono cicli o chiamate a funzione termina sempre ma anche se ci sono cicli può terminare: 4

while x<10: print x x=x+1 programma con ciclo che termina sempre non c è modo di eseguirlo? fermata.py esegue il programma in esame altro.py se questo termina, stampa 1 se non termina? anche dopo due ore: come faccio a sapere che non finirà fra 2 secondi? analisi del programma while i<10: print i i=i+1 termina sempre while i!=10: print i i=i+1 termina solo se i 10 necessaria un analisi del programma per capirlo problema indecidibile non esiste un programma che risolve il problema della fermata non c è modo di realizzare fermata.py dimostrazione per assurdo: assumiamo che esista dimostrazione per assurdo diciamo che fermata.py esiste lo modifichiamo così: 5

fermata.py f=open( altro.py ) print 0 print 1 modificato.py f=open( altro.py ) quit() while 1: pass cosa fa modificato.py? fermata.py modificato.py 1 2 3 f=open( altro.py ) print 0 print 1 f=open( altro.py ) quit() while 1: pass 1. legge altro.py 2. se altro.py non termina: fermata.py stamperebbe 0 modificato.py termina senza stampare niente 3. se altro.py termina: riassumendo fermata.py stamperebbe 1 modificato.py invece entra in un ciclo infinito cosa fa modificato.py: riassunto se altro.py non termina modificato.py termina se altro.py termina modificato.py entra in un ciclo infinito ulteriore modifica se altro.py non termina modificato.py termina se altro.py termina modificato.py entra in un ciclo infinito si cambia la riga di lettura: 6

f=open( altro.py ) f=open( modificato.py ) comportamento: uguale, ma con modificato.py al posto di altro.py quando modificato.py legge se stesso se modificato.py termina modificato.py entra in un ciclo infinito se modificato.py non termina modificato.py termina conclusione modificato.py termina se non termina e viceversa contraddizione fermata.py non esiste altri problemi indecidibili determinare se delle matrici si possono moltiplicare in qualche modo (anche più volte) per ottenere la matrice di tutti zeri determinare se una stringa è generata da una grammatica a forma di frase (il tipo più generale di grammatica) determinare se un certo insieme di piastrelle dai bordi colorati possono riempire un piano infinito collimando per colore ai bordi si dimostra per riduzione dal problema della fermata a loro se fossero decidibili lo sarebbe anche il problema della fermata linea di dimostrazione si considera un programma che legge un altro programma si fa in modo che faccia il contrario di quello che dovrebbe verificare gli si fa leggere se stesso 7

autoreferenzialità per dimostrare che un problema è indecidibile serve un problema che riguardi i programmi poi si assume che il programma esista, e gli si fa leggere il programma stesso paradossi sempre basati sulla autoreferenzialità questa frase è falsa in un villaggio il barbiere rade tutti e soli gli uomini che non si radono da soli; chi rade il barbiere? un coccodrillo ha catturato un bambino, ma ora promette di lasciarlo andare se il padre indovinerà cosa farà il coccodrillo; il padre risponde che non lo lascerà andare se ogni regola ha un eccezione, allora anche questa regola deve avere un eccezione; quindi non è vero che ogni regola ha un eccezione paradosso del coccodrillo un coccodrillo ha catturato un bambino, ma ora promette di lasciarlo andare se il padre indovinerà cosa farà il coccodrillo il padre ha detto che non lo lascerà andare il coccodrillo lo lascia andare il padre ha sbagliato il coccodrillo non deve lasciarlo andare il coccodrillo non lo lascia il padre ha indovinato il coccodrillo lo deve lasciare andare affermazioni vere e false questa frase è falsa se è vera, allora deve valere "questa frase è falsa" se è falsa, allora "questa frase è falsa" è vero non si può dire che è vera non si può dire che è falsa insiemi di insiemi famiglia = insieme di persone insieme di famiglie = insieme di insiemi di persone un insieme può contenere altri insiemi ma 8

paradosso di Russell T = { S S S } insiemi degli insiemi che non contengono se stessi domanda: T T? vero T è in se stesso, cioè è un insieme che contiene se stesso; per definizione, T non non contiene nessun insieme che contiene se stesso; quindi T non contiene se stesso falso T non è in T, quindi è un insieme che non contiene se stesso; per definizione di T, si trova quindi in T soluzione al paradosso di Russell impedire l autoreferenzialità costruire gli insiemi da elementi semplici poi insiemi da questi, ecc. vieta affermazioni come S S affermazioni vere e affermazioni false in matematica: 2+4=6 vero 2+2=5 falso ne esistono di più complicate! affermazioni più complesse non esistono tre numeri a, b e c tali che a n +b n =c n per qualche n>2 ultimo teorema di Fermat: vero per ogni numero intero, almeno la metà dei numeri minori ha un numero dispari di fattori primi congettura di Pólya: falso tempo per dimostrarle: 358 anni e 39 anni P=NP: non si sa, da 42 anni premio per la soluzione: $1000000 9

il programma di Hilbert (semplificando molto) fra le altre cose: ogni affermazione matematica si può dimostrare essere o vera o essere falsa? teorema di incompletezza di Gödel: certe affermazioni non possono essere né dimostrate né confutate 10