Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova) Insiemi, numeri cardinali e calcolabilità Modulo 3 Scopo del modulo 3 Tenteremo di rispondere a domande come: 1. Quante sono le funzioni aritmetiche? 2. Quante sono le funzioni calcolabili? 3. Quali conseguenze hanno le risposte alle due domande? Confronto tra insiemi Intuitivamente, per confrontare due insiemi A e B, si possono applicare due metodi principali: 1. 2. Contare gli elementi dei due insiemi e verificare quindi se i due numeri sono uguali, o uno è maggiore dell’altro Appaiare gli elementi dei due insiemi e verificare se è possibile mettere gli elementi di un insieme in corrispondenza biunivoca con gli elementi dell’altro Vantaggio del secondo metodo: si può applicare anche a insiemi infiniti! Equipotenza di insiemi Definizione. L’insieme A è equipotente all’insieme B (e si scrive A B) sse esiste una funzione biiettiva φ : A B. La relazione di equipotenza è: – – – riflessiva (per ogni A, A A) simmetrica (per ogni A e B, se A B allora B A) transitiva (per ogni A, B e C, se A B e B C, allora A C) Equipotenza e numeri cardinali Definizione. Se due insiemi A e B sono equipotenti, allora si dice che hanno la stessa cardinalità, o lo stesso numero cardinale (Card(A) = Card(B)) Definizione. Se l’insieme A è equipotente a un sottoinsieme di B, allora di dice che la cardinalità di A è minore o uguale della cardinalità di B (Card(A) Card(B)) Se A ha n elementi, Card(A) = n … e ancora … ● ● L’esistenza di una funzione biiettiva tra due insiemi A e B è condizione necessaria e sufficiente affinchè i due insiemi abbiano lo stesso numero di elementi. Dato un insieme finito A, non può esistere alcuna funzione biiettiva tra A e una sua parte propria. Ma questo non vale per insiemi infiniti!! Insiemi infiniti Un sottoinsieme è infinito quando può essere messo in corrispondenza biunivoca con una sua parte propria, finito altrimenti. Esempio: sia N l’insieme dei numeri naturali e Q quello dei quadrati perfetti. La funzione φ : N Q tale che φ(x) = x2 è biiettiva Insiemi numerabili Definizione. Un insieme A è numerabile sse esiste una funzione biiettiva φ : N A Cioè, se A è numerabile, allora Card(A) = Card(N) Se A è numerabile, i suoi elementi possono essere disposti in una sequenza infinita senza ripetizioni, e viceversa. Esempi: numeri pari, potenze di 2, numeri primi, … Esempi importanti di insiemi numerabili ● E’ numerabile l’insieme Z dei numeri interi relativi (interi positivi e negativi) 0, +1, -1, +2, -2, +3, -3, …, +n, -n, … f(n) = - (n/2) se n è pari (n+1)/2 se n è dispari Esempi importanti di insiemi numerabili ● E’ numerabile una successione infinita A0, A1, A2, …, An, … senza ripetizioni di insiemi numerabili Idee? [Cfr. Figura 3.1, pag. 93] Esempi importanti di insiemi numerabili ● E’ numerabile il prodotto cartesiano A×B di due insiemi numerabili A e B Idee? Esempi importanti di insiemi numerabili ● E’ numerabile l’insieme Q dei numeri razionali (le “frazioni”) Idee? Esempi importanti di insiemi numerabili ● E’ numerabile l’insieme S di tutte le sequenze infinite di 0 e 1 che da un certo punto in poi sono costituiti solo da 0 Dimostrazione. Sfruttare la trasformazione in base 2 del numero come codifica iniettiva e suriettiva degli elementi di S Esempi importanti di insiemi numerabili ● E’ numerabile l’insieme F di tutte le n-ple di numeri naturali [per es. (1,3), (5,2,6), (1,45,12,13), …] Dimostrazione. Associamo a ogni numero naturale n una sequenza di n+1 “1”. Ogni npla è codificata inserendo uno 0 tra ogni elemento della n-pla codificato come sopra. Questo ci riporta al caso di S. Cardinalità di un linguaggio L ● ● Un linguaggio L è definito da un alfabeto finito o numerabile A e da un insieme E di espressioni (successioni finite di elementi di A). Da quanto detto, segue che Card(E) Card(F). Infatti: – – essendo A al più numerabile, esiste sempre una corrispondenza biunivoca φ con N a ogni elemento di E del tipo (e1, e2, …, en) possiamo far corrispondere la n-pla di numeri (φ(e1), φ(e2),…, φ(en)), che è un elemento di F Insiemi più che numerabili ● Consideriamo l’insieme G di tutte le successioni di 0 e 1. Teorema. L’insieme G è più che numerabile. Dimostrazione: mediante il metodo diagonale descritto nella Figura 3.2 (pag. 97) Card(P(N)) = Card(G) Teorema. L’insieme G è equipotente all’insieme potenza di N. Dimostrazione: basta associare a ogni sottoinsieme M di N una successione s0, s1, …, sn, … di 0 e 1 tale che: – se n M, allora sn = 1 – altrimenti sn = 0 Siccome tale corrispondenza è biunivoca, se ne conclude che Card(P(N)) = Card(G) Altri insiemi più che numerabili ● L’insieme dei punti di una retta ● L’insieme dei punti di un segmento ● L’insieme dei numeri reali ● L’insieme potenza di qualsiasi insieme numerabile Tutti questi insiemi hanno la cardinalità dei continuo. Gerarchia degli “infiniti” Esistono insiemi più grandi degli insiemi con la cardinalità del continuo? Teorema 3.4. Per ogni insieme A, non può esistere alcuna corrispondenza biunivoca tra A e l’insieme potenza P(A) di A stesso. Dimostrazione: vedi riquadro 3.1 pag 101. Conclusione: esiste una gerarchia crescente di insiemi infiniti di cardinalità sempre più elevata!! Quante proprietà dei numeri esistono? Come abbiamo visto, ogni proprietà in N può essere identificata con il sottoinsieme di N che ne gode. Da questo segue un’ovvia conseguenza: L’insieme delle proprietà è più che numerabile Infatti, l’insieme dei sottoinsiemi di N (cioè P(N)) ha la cardinalità del continuo. L’insieme delle relazioni n-arie ha cardinalità Card(P(NN)) = Card(P(N)) = Card(G) Quante funzioni N × N ci sono? ● ● ● ● ● Le funzioni di tipo N × N sono insiemi di coppie ordinate Segue che l’insieme delle funzioni di tipo N × N è un sottoinsieme delle relazioni binarie in N Perciò Card() Card(G) Ma l’insieme delle funzioni caratteristiche è in corrispondenza biunivoca le proprietà di N Per cui Card(P(N)) Card(), e quindi, siccome Card(P(N)) = Card(G), ne consegue che Card() = Card(G) Riduzione a funzioni a 1 argomento ● Possiamo limitarci a studiare le funzioni a un solo argomento, dato che l’input di una funzione a n argomenti può essere codificato sempre in maniera effettiva come un numero naturale! Esistenza di funzioni non calcolabili Teorema. L’insieme delle funzioni calcolabili è numerabile. Dimostrazione intuitiva: una funzione è calcolabile sse esiste un algoritmo che la calcola. Ma un algoritmo è una sequenza finita di istruzioni scritta in un linguaggio L. Pertanto la cardinalità dell’insieme di tutti i possibili algoritmi è al più quella delle espressioni E di L, vale a dire quella di N. Le funzioni calcolabili sono “poche” ● ● ● L’insieme delle funzioni di tipo N × N ha la cardinalità del continuo Ne segue che le funzioni calcolabili sono un sottoinsieme numerabile dell’ insieme che ha la cardinalità del continuo Di conseguenza, l’insieme delle funzioni non calcolabili ha la cardinalità del continuo! [Nota: la dimostrazione precedente è “non costruttiva”: dice che esistono finzioni non calcolabili, ma non ne esibisce alcuna.] Perché le funzioni parziali? La nozione di calcolabilità data non equivale a: Otteniamo un risultato in un numero finito di passi ma a: Otteniamo un risultato in un numero finito di passi se il risultato esiste Perché non restringerci alla prima nozione (eliminando le funzioni parziali)? Problema: gli algoritmi Se rinunciassimo alle funzioni parziali, rinunceremmo a poter decidere se un insieme finito di istruzioni sia effettivamente un algoritmo … Infatti: ● ● Sappiamo che l’insieme di tutti gli algoritmi è numerabile (esiste cioè una funzione biiettiva :N ) Allora è possibile rappresentare l’insieme come una sequenza infinita A0, A1, A2, …, An, … che li contiene tutti Teorema. Non si può assumere che sia una funzione calcolabile e che al tempo stesso tutti gli algoritmi di terminino per ogni input Dimostrazione. Associamo ad A0, A1, A2, …, An, … la sequenza di tutte le funzioni totali a un argomento (vedi par. 3.3.1 del libro) 0, 1, 2, …, n, … Definiamo poi la funzione (calcolabile!) f : N × N tale che f(x) = x(x) + 1 Con il metodo della diagonale si ottiene immediatamente una contraddizione (cfr. libro, pag. 105-106) Quindi: 1. 2. o si ammette che non sia computabile o si accetta che le funzioni calcolate dagli algoritmi possano essere parziali. Siccome (1) non è sostenibile (gli algoritmi si possono enumerare in modo effettivo), allora deve essere il caso che (2). Se vale (2), allora la contraddizione generata con la diagonalizzazione non è più tale (semplicemente k (k) = , cioè k diverge per l’argomemento k). Alcune considerazioni ● Esistono funzioni calcolabili di cui però non sappiamo calcolare i valori! Per esempio: g(x) = ● 0 se esistono numeri perfetti dispari 1 se non esistono Nella cosiddetta “matematica costruttiva”, una funzione è detta calcolabile sse si possono effettivamente determinare i suoi valori [ma a prezzo del rifiuto del principio del terzo escluso …]