Calcolatore della massima distanza tra spazi

Il calcolatore della massima distanza tra spazi è un programma che abbiamo sviluppato per calcolare il valore della massima distanza tra due spazi consecutivi in un tratteggio lineare o in un doppio tratteggio lineare (per un’introduzione teorica, si vedano la nostra strategia dimostrativa basata sugli spazi e l’approfondimento Maggiorazione della massima distanza tra spazi consecutivi).

Il programma ha un’interfaccia di tipo testuale, può ricevere dei parametri da riga di comando ma può anche essere eseguito senza parametri (con un doppio click): in quest’ultimo caso chiederà all’utente tutti i parametri necessari, in modo interattivo.

I risultati forniti dal programma sono corretti per qualunque tratteggio la cui lunghezza del periodo non supera il massimo numero intero rappresentabile con segno in 64 bit (2^{63} - 1). Il vero limite è però il tempo di esecuzione, che dipende principalmente dalla velocità del processore ed è proporzionale alla lunghezza del periodo del tratteggio fornito in input.

Di seguito i link per scaricare l’eseguibile e il codice sorgente:

Tipo Sistema operativo Link Dimensione Note
Eseguibile Windows 64 bit MaxDistSpaces_windows_it.exe 1 MB
Eseguibile Linux 64 bit MaxDistSpaces_linux_it 2,9 MB Compilato sul kernel 5.15
Codice sorgente Multipiattaforma MaxDistSpaces_it.zip 14,3 KB Progetto Code::Blocks, scritto in C++ utilizzando solo librerie standard

Risultati ottenuti per i tratteggi T_k

Riportiamo nella seguente tabella i risultati che abbiamo ottenuto utilizzando il programma per i tratteggi di tipo T_k, cioè i tratteggi lineari di ordine k aventi come componenti i primi k numeri primi: (2, 3, 5, \ldots, p_k).

k T_k Massima distanza tra spazi consecutivi Prima coppia di spazi consecutivi alla massima distanza
2 (2,3) 4 1,5
3 (2,3,5) 6 1,7
4 (2,3,5,7) 10 1,11
5 (2,3,5,7,11) 14 113,127
6 (2,3,5,7,11,13) 22 9939,9461
7 (2,3,5,7,11,13,17) 26 217127,217153
8 (2,3,5,7,11,13,17,19) 34 60043,60077
9 (2,3,5,7,11,13,17,19,23) 40 20332471,20332511
10 (2,3,5,7,11,13,17,19,23,29) 46 417086647,417086693
11 (2,3,5,7,11,13,17,19,23,29,31) 58 74959204291, 74959204349

Abbiamo notato che in tutti i casi, tranne che per k = 9, la massima distanza è pari al doppio della penultima componente del tratteggio, cioè 2 \cdot p_{k-1}. Ad esempio, per k = 4 la massima distanza è 10 che è pari a 2 \cdot 5 = 2 \cdot p_3 = 2 \cdot p_{k-1}. Il caso di k = 9 fa eccezione perché secondo questa regola la massima distanza dovrebbe essere 38, mentre è 40, cioè 2 \cdot (p_{k-1} + 1). Nonostante ciò, sembra esserci una tendenza molto forte, che sarebbe bello spiegare in qualche modo.

Riguardo al caso di k = 9, un’altra cosa che abbiamo notato, che forse ha a che fare con l’anomalia riscontrata, è che questo è l’unico caso in cui sono state trovate più coppie di spazi alla massima distanza nella prima metà del primo periodo del tratteggio, cioè nell’intervallo \left[0, \frac{p_1 p_2 \ldots p_k}{2} - 1 \right]. Infatti, in tutti gli altri casi la coppia di spazi riportata è l’unica che si trova in questo intervallo, e poi per simmetria ve n’è un’altra nell’intervallo \left[\frac{p_1 p_2 \ldots p_k}{2}, p_1 p_2 \ldots p_k - 1 \right] (ci potrebbe essere anche il caso di una coppia di spazi a cavallo della metà del primo periodo, cioè tale che il primo spazio si trova nel primo intervallo e il secondo spazio si trova nel secondo intervallo, ma per k \gt 2 questo caso non si è mai verificato). Per k = 9, invece, il programma ha trovato sei coppie di spazi alla massima distanza nella metà del primo periodo (e, per simmetria, ce ne sono altrettante nella seconda metà): nello specifico, si tratta delle coppie 20332471,20332511; 24686821,24686861; 36068191,36068231; 65767861,65767901; 82370089,82370129; 97689751,97689791.

Se avete eseguito il programma per k \gt 11, o se ritenete di avere una buona spiegazione teorica dei risultati del programma, saremmo lieti di ricevere un vostro contributo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *