Congettura di Goldbach nella pratica (e in Python)


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:

Pubblicità – Continua a leggere sotto :-)
Cerchi alternative a Google Adsense per il tuo sito? Prova TheMoneytizer!
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.

Immagine tratta da https://www.cogsci.ed.ac.uk/~richard/goldbach.html © Richard Tobin

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.

Pubblicità – Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito
Cerchi alternative a Google Adsense per il tuo sito? Prova TheMoneytizer!
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:

Pubblicità – Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito
 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).

Pubblicità – Continua a leggere sotto :-)
 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 👇



Questo portale web esiste da 4636 giorni (13 anni), e contiene ad oggi 4348 articoli (circa 3.478.400 parole in tutto) e 22 servizi online gratuiti. – Leggi un altro articolo a caso
Numero di visualizzazioni (dal 21 agosto 2024): 4
Pubblicità – Continua a leggere sotto :-)
Segui il canale ufficiale Telegram @trovalost https://t.me/trovalost
Seguici su Telegram: @trovalost
Privacy e termini di servizio / Cookie - Il nostro network è composto da Lipercubo , Pagare.online e Trovalost
Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Questo sito contribuisce alla audience di sè stesso.