La congettura di Goldbach è uno dei più antichi e noti problemi irrisolti della teoria dei numeri e di tutta la matematica. Essa afferma che ogni numero naturale pari maggiore di 2 è la somma di due numeri primi.
A cosa serve sapere queste cose nella vita di ogni giorno?
La congettura di Goldbach non presenta un’applicazione pratica diretta, in quanto è principalmente un problema teorico della matematica. Tuttavia, la sua importanza teorica è fuori discussione, in quanto fornisce una sfida interessante per i matematici e ha portato allo sviluppo di nuove tecniche e teorie nella teoria dei numeri. Inoltre, la ricerca sulla congettura di Goldbach e sui problemi correlati può portare a nuove scoperte in altri settori della matematica e delle scienze, come ad esempio la crittografia e la teoria dei grafi.
Una eventuale dimostrazione della congettura di Goldbach potrebbe fornire una migliore comprensione della distribuzione dei numeri primi e delle proprietà delle somme di numeri primi, che potrebbero trovare applicazioni in altri campi. Infine, la ricerca sulla congettura di Goldbach può anche essere un’importante fonte di ispirazione per i giovani studenti di matematica, incoraggiando la loro curiosità e la loro passione per la scoperta di nuovi risultati e teorie nella matematica.
Che cos’è la congettura di Goldbach
La congettura di Goldbach è un famoso problema matematico formulato nel 1742 dal matematico tedesco Christian Goldbach. La congettura afferma che ogni numero pari maggiore di 2 può essere espresso come somma di due numeri primi.
Ad esempio, il numero 4 può essere espresso come 2+2, il numero 6 può essere espresso come 3+3 o come 5+1, il numero 8 come 3+5, il numero 10 come 5+5 o come 7+3, e così via. Nonostante la congettura sia stata verificata empiricamente per tutti i numeri pari fino a circa 4 × 10 alla 18 (4e+18), non è stata ancora dimostrata in modo matematico. Molti matematici hanno lavorato per cercare di dimostrare la congettura di Goldbach, ma finora nessuno è riuscito a compiere l’impresa.
La congettura di Goldbach è ancora oggi considerata uno dei più grandi problemi aperti della teoria dei numeri, e la sua dimostrazione completa sarebbe un importante contributo alla matematica moderna (leggi qui per approfondimenti).
Spiegazione grafica della congettura di Goldbach
Abbiamo detto che la congettura afferma che ogni numero può essere espresso come:
Usa il codice
189ed7ca010140fc2065b06e3802bcd5
per ricevere 5 € dopo l’iscrizione
n = p + q
Spesso si ricorre a questo grafico per spiegare la congettura in modo visuale: varie bande di puntini rossi, nello specifico, dove è bene ricordare che le ascisse (asse orizzontale) del numero p e le ordinate il numero q (asse verticale). Considerando solo i numeri primi, la forma del grafico assume la disposizione di una nuvola di punti suggestiva e caratterizzata da bande più o meno regolari.
Congettura di Goldbach in linguaggio Python
Se ad esempio consideriamo il numero n = 20 possiamo esprimerlo effettivamente come la somma di 13 e 7, così come il numero n = 100 = 41+59. Anche il numero 8 si esprime come somma di 3 e 5 e potremmo continuare “all’infinito” (più precisamente, è stato provato che la congettura è valida per qualsiasi numero minore di 4 × 1018.
Usa il codice
189ed7ca010140fc2065b06e3802bcd5
per ricevere 5 € dopo l’iscrizione
Proviamo ad immaginare una possibile implementazione molto semplice di un algoritmo che prenda un numero intero n in ingresso e restituisca la somma dei numeri primi x e y (eventualmente anche uguali, ndr) in output, tali che n = x + y.
Per provare che x e y sono primi usiamo un algoritmo molto semplice:
def primo(n, i=2): if n == i: return True elif n % i == 0: return False return primo(n, i + 1)
Per “provare” limitatamente la congettura in questione possiamo scrivere il seguente algoritmo, che prende n in ingresso, inizializza x e y a 1, e finchè x e y sommati tra loro non fanno n estrae casualmente due numeri primi dal setaccio (non escludiamo così facendo di prendere due volte lo stesso numero).
def goldbach(n): x = 1 y = 1 primi = [j for j in range(2,n-1) if primo(j)] while ( x+y!=n ): x = random.choice(primi) y = random.choice(primi) return [x,y]
👇 Da non perdere 👇
- Cellulari 📱
- Domini Internet 🌍
- Informatica 🖥
- Marketing & SEO 🌪
- Programmare 🖥
- Scrivere 🖋
- 💬 Il nostro canale Telegram: iscriviti
- 🔴 Lista canali del digitale terrestre italiani
- 🟢 Guida sintetica al codice Morse
- 🟡 Come sbloccare un sito in WordPress morto