Questo sito si serve dei cookie per fornire servizi. Utilizzando questo sito acconsenti all'utilizzo dei cookie - Maggiori Informazioni - Acconsento


Atik
Coelum Astronomia
L'ultimo numero uscito
Leggi Coelum
Ora è gratis!
AstroShop
Lo Shop di Astronomia
Photo-Coelum
Inserisci le tue foto
DVD Hawaiian Starlight
Segui in diretta lo sbarco di Philae sulla Cometa
Skypoint

Vai indietro   Coelestis - Il Forum Italiano di Astronomia > Il Mondo dell'Astronomo dilettante > Rudi Mathematici
Registrazione Regolamento FAQ Lista utenti Calendario Cerca Messaggi odierni Segna come letti

Rispondi
 
Strumenti della discussione Modalità  di visualizzazione
Vecchio 01-02-19, 22:57   #3281
Erasmus
Utente Super
 
L'avatar di Erasmus
 
Data di registrazione: Feb 2008
Ubicazione: Unione Europea
Messaggi: 6,391
Predefinito Re: Un po' di calcoli ... un po' di logica....

Quote:
Mizarino Visualizza il messaggio
Visto che vi piacciono le sequenze più o meno bislacche di numeri interi, decrittatemi questa, ciclica e facile facile...
1 3 9 10 13 5 15 11 16 14 8 7 4 12 2 6 1 ...
Non ho capito se questo è un quiz per noi (Miza escluso) o se è un quiz anche per Miza stesso (che non sa con che legge si trova questa sfilza di numeri interi con questo ordine).

Dicendo "ciclica" tu, Miza, intendi snz'altro "periodica" (di periodo 16).
Vedo che un periodo è una permutazione dei numeri da 1 a 16 (i quali sono tutti i resti possibili, tranne 0, della divisione d'un intero per 17... e quindi può darsi che ci siano una o più funzioni f(n) da N in N tali che risulti a(n) = f(n) mod 17.
Ce ne possiamo fregare del fatto che sia una sequenza periodica e considerare solo i 16 elementi in fila di un periodo.
Cerco con Google "1, 3, 10, 13, 5, 15, 11, 16, 14, 8, 7, 4, 12, 2, 6":
––> "1, 3, 10, 13, 5, 15, 11, 16, 14, 8, 7, 4, 12, 2, 6"
Scopro che questa permutazione di numeri da 1 a 16 è un "array di Costas". Si consideri un quadrato diviso in k^2 quadratini. Per ogni riga r si scelga un punto su una colonna c sempre nuova e tale che, alla fine, deille k(k – 1)/2 copie di punti (r, c) pensati come estremi di un segmento non ci siano nemmeno due coppie che individuano segmenti congruenti. Se ci si riesce si ottiene un "array di Costas" di k elementi (ce sono i numeri delle successive colonne).
C'è in rete un articolo di tal Konstantinos Drakakis che spiega questi "array di Costas" e, tra i metodi di prroduzione di un array di k elementi, c'è ovviamente sia quelle delle permutazioni di una fila di naturali sia quello del tipo f(n) mod (k+1).
..........
Vedo solo ora che aspesi ha trovato la seguenza in OEIS (là definita come
a(n) = (3^n) mod 17
mntre Miza rivela che l'ha trovata con la legge di ricorrenza
a(1) = 1; a(n+1)= [3·a(n)] mod 17
Ma è meglio partire con n = 0. E allora la definizione di Miza diventa:
a(0) = 1; a(n+1) =[3·a(n)] mod 17.
Faccio notare che allora le due definizioni sono equivalenti.
Proviamo, infatti, a scrivere la sequenza di Miza senza fare subito il "mod 17", e farlo dopo sulla sfilza di numeri ottenuti. Il termine di indice n viene dapprima 3^n e poi
a(n) = [3^n] mod 17.
Questo perché ovviamente:
{3· [3^(n–1)] mod 17} mod 17 = (3^n) mod 17

Ma forse nessuno dei due (aspesi e Miza) sa ancora che si tratta di un "array di Costas":
––––
__________________
Erasmus
«NO a nuovi trattati intergovernativi!»
«SI' alla "Costituzione Europea" federale, democratica e trasparente!»

Ultima modifica di Erasmus : 02-02-19 07:54.
Erasmus non in linea   Rispondi citando
Vecchio 02-02-19, 13:18   #3282
Mizarino
Utente Super
 
L'avatar di Mizarino
 
Data di registrazione: May 2004
Messaggi: 9,720
Predefinito Re: Un po' di calcoli ... un po' di logica....

Quote:
Erasmus Visualizza il messaggio
Ma forse nessuno dei due (aspesi e Miza) sa ancora che si tratta di un "array di Costas"
Infatti non ho la più pallida idea di che si tratti...

La sequenza che ho sottoposto viene dall'impiego, su scala ridotta, di un semplice algoritmo di congruenza lineare, utilizzato (con numeri più grossi) dai più semplici e comuni generatori di sequenze pseudocasuali, es.

X(n+1) = 16807*X(n) mod 2147483647 (che poi sarebbe 2^31-1).

Dopo aver ricavato la sequenza mi sono chiesto cosa volesse dire "congruenza lineare", cosa che per oltre 30 anni avevo trascurato di indagare.

E' veramente notevole come i matematici riescano ad essere ermetici e a non farsi capire: ho impiegato più di mezz'ora di ricerche wikipediane e di inutili letture per capire una cosa banale: in parole povere in algebra due numeri (o magari due strutture qualsiasi) si dicono congruenti rispetto ad una certa operazione quando, sottoposti a quella operazione, producono lo stesso risultato.

Si badi bene: questa è una mia deduzione (e non so nemmeno se sia giusta), mica la ho trovata scritta così, provare per credere!

Es. 7 e 12 sono congruenti rispetto all'operazione mod 5, perché, divisi per 5, danno entrambi resto 2.

A questo punto mi viene di dire che l'algoritmo in questione, giacché produce, nell'intero periodo della sequenza, risultati tutti diversi fra loro, andrebbe chiamato di incongruenza lineare

@Erasmus, se ne sai di più, facci sapere!
Mizarino non in linea   Rispondi citando
Vecchio 04-02-19, 06:05   #3283
Erasmus
Utente Super
 
L'avatar di Erasmus
 
Data di registrazione: Feb 2008
Ubicazione: Unione Europea
Messaggi: 6,391
Predefinito Re: Un po' di calcoli ... un po' di logica....

Quote:
Mizarino Visualizza il messaggio
Infatti non ho la più pallida idea di che si tratti...
Ma te l'ho spiegato espressamente!
[Evidentemente non leggi tutto quello che scrivo. ]
E' una permutazione di una fila di interi consecutivi con due particolari condizioni... che adesso ti ripeto.
«Si consideri un quadrato diviso in k^2 quadratini. Per ogni riga r (con 1 ≤ r ≤ k) si scelga un quadratino sulla colonna c ( con 1 ≤ c ≤ k) sempre nuova e tale che, alla fine, deille k(k – 1)/2 coppie di punti (r, c) pensati come estremi di un segmento non ci siano nemmeno due coppie che individuano segmenti congruenti. Se ci si riesce si ottiene un "array di Costas" di k elementi (che sono i numeri delle successive colonne scelte).
[Puoi poi aggiunger euna costante intera a ciascuno dei tuoi numeri ottenuti (in modo da non avere sempre permutazioni di sfilze che iniziano da 1].
Quote:
Mizarino Visualizza il messaggio
X(n+1) = 16807*X(n) mod 2147483647 (che poi sarebbe 2^31-1).
Eh eh! Conosco bene questa "function"! Era una funzione predefinita del "TurboPascal for MAC" della Borland che generava interi pseudo-random di tipo "longint" (che significava: fixed point a 32 bit).
Però per fare questo la "function" lavorava prima su numeri di tipo "extended" (tipo floating point ad 80 bit di cui 64 di mantissa).

Sto parlando di quando dovevo preparare la tesi di laurea in "Scienze dell'Informazione". Era l'autunno del 1989. [Mi sono poi laureto nel luglio del 1990).
Mi ero comperato apposta un Macintosh Plus che aveva l'hard disk da 500 kbyte in una scatola quadrata separata dal computer sulla quale poi poggiava il computer. Siccome l'hard disk scaldava parecchio, bisognava spegnerlo durante il "run" del programma.
La mia tesi era su "Metodi quasi-Montecarlo" ... e quindi negli esempi applicativi dovevo usare generatori random ... a bizzeffe!
Ma quella "function" (che in realtà veniva dalla libreria SANE [= Standard Apple Numerical Environment] alla quale si accedeva con l'istruzione "uses SANE"), per il fatto di lavorare su numeri "floating point" risultava tediosa perché troppo lenta!
Allora, ponzando un po', ho scritto io una "function" equivalente (che generava la medesima identica sequenza) usando solo il tipo "longint" (cioè "fixed point" a 32 bit).
Naturalmente ... ora non me la ricordo più!

Ma andandio a frugare sulla roba vecchia l'ho ritrovata [in un programmino scritto però qualche anno dopo, (facciamo '92 o '93)].
Eccola (ovviamente in Pascal ... che però è di comprensione immediata e pressoché universale):
Codice:
 Function RandomL(var y: longint): longint;
     begin
           if y<127774 then y:=16807*y
           else
               begin
                   y:=16807*(y mod 127773)-2836*(y div 127773);
                   if y<0 then y:=y+2147483647
               end;
           RandomL:=y
     end;
In sostanza, se moltiplico per 16807 un numero maggiore di 127773 ottengo un peodotto maggiore di 2^31= 2147483648, che quindi non può essere rappresentato con il tipo "longint" (fixed point a 32 bit).
Nota poi che 2836 è (2^31 – 1) mod 127773.
Ecco allora l'escamotage: realizzare «(y*16807) mod 2147483647» sfruttando il fatto che
2147483647 = 16807*127773 + 2836.

Quando ho scritto questa funzione ... ero molto soddisfatto di me stesso!
Lo ero perché mi risultava un tantino più veloce del triplo di quella della Borland!
–––––––
__________________
Erasmus
«NO a nuovi trattati intergovernativi!»
«SI' alla "Costituzione Europea" federale, democratica e trasparente!»

Ultima modifica di Erasmus : 04-02-19 23:51.
Erasmus non in linea   Rispondi citando
Vecchio 08-02-19, 15:08   #3284
aspesi
Utente Super
 
L'avatar di aspesi
 
Data di registrazione: Nov 2009
Ubicazione: Terra dei Walser
Messaggi: 6,058
Predefinito Re: Un po' di calcoli ... un po' di logica....



Attenzione ai particolari

aspesi non in linea   Rispondi citando
Vecchio 08-02-19, 16:38   #3285
Mizarino
Utente Super
 
L'avatar di Mizarino
 
Data di registrazione: May 2004
Messaggi: 9,720
Predefinito Re: Un po' di calcoli ... un po' di logica....

18, visto che non ci sono parentesi.
Mizarino non in linea   Rispondi citando
Vecchio 08-02-19, 17:26   #3286
nino280
Utente Super
 
L'avatar di nino280
 
Data di registrazione: Dec 2005
Ubicazione: Torino
Messaggi: 8,124
Predefinito Re: Un po' di calcoli ... un po' di logica....

17
Perché alla amanita falloide gli manca un pois.
Ciao
Ho cambiato idea ora dico 19
Perché é spuntato un funghetto dietro ai tre piccolo piccolo dell'ultimo ciuffetto.
Quando l'ho visto la prima volta quel funghetto non c'era. Evidentemente è cresciuto nel frattempo, ed giusto dire è cresciuto come i funghi.

Ultima modifica di nino280 : 08-02-19 19:07.
nino280 ora è in linea   Rispondi citando
Vecchio 08-02-19, 19:02   #3287
Mizarino
Utente Super
 
L'avatar di Mizarino
 
Data di registrazione: May 2004
Messaggi: 9,720
Predefinito Re: Un po' di calcoli ... un po' di logica....

Il bello è che io stavo rispondendo 17, perché non mi ero accorto del × e credevo fosse un +, e stavo scrivendo : troppo facile, dove sta l'inghippo?
Poi ho notato il × e ho pensato che l'inghippo fosse lì.

Comunque non si tratta dell'amanita falloide, ma della mascara.
Mizarino non in linea   Rispondi citando
Vecchio 08-02-19, 19:26   #3288
nino280
Utente Super
 
L'avatar di nino280
 
Data di registrazione: Dec 2005
Ubicazione: Torino
Messaggi: 8,124
Predefinito Re: Un po' di calcoli ... un po' di logica....

Ah io per i nomi sono ben messo.
Sono andato una sola volta a bulet.
Ne sradicai uno . . .
E gli amici: che cosa hai trovato?
Dissi < Un Ammazza Tamburi> e si misero tutti a ridere.
nino280 ora è in linea   Rispondi citando
Vecchio 08-02-19, 20:10   #3289
aspesi
Utente Super
 
L'avatar di aspesi
 
Data di registrazione: Nov 2009
Ubicazione: Terra dei Walser
Messaggi: 6,058
Predefinito Re: Un po' di calcoli ... un po' di logica....

Quote:
Mizarino Visualizza il messaggio
18, visto che non ci sono parentesi.
No

aspesi non in linea   Rispondi citando
Vecchio 08-02-19, 20:11   #3290
aspesi
Utente Super
 
L'avatar di aspesi
 
Data di registrazione: Nov 2009
Ubicazione: Terra dei Walser
Messaggi: 6,058
Predefinito Re: Un po' di calcoli ... un po' di logica....

Quote:
nino280 Visualizza il messaggio
Ho cambiato idea ora dico 19
Perché é spuntato un funghetto dietro ai tre piccolo piccolo dell'ultimo ciuffetto.
Quando l'ho visto la prima volta quel funghetto non c'era. Evidentemente è cresciuto nel frattempo, ed giusto dire è cresciuto come i funghi.


aspesi non in linea   Rispondi citando
Rispondi


Links Sponsorizzati
Geoptik

Strumenti della discussione
Modalità  di visualizzazione

Regole di scrittura
Tu non puoi inserire i messaggi
Tu non puoi rispondere ai messaggi
Tu non puoi inviare gli allegati
Tu non puoi modificare i tuoi messaggi

codice vB è Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato


Tutti gli orari sono GMT. Attualmente sono le 17:18.


Powered by vBulletin versione 3.6.7
Copyright ©: 2000 - 2021, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: vBulletinItalia.it