di paolox » 05/01/09 10:42
ho trovato qualcosa in internet,
metto qua sotto "come si fa una sestina ortogonale,
io ho provato ma non ci riesco
se qualcuno di voi riesce me lo fa sapere?
Come si fa un sistema ortogonale
Un sistema ortogonale è un sistema che non ha delle combinazioni ripetute, cioè tutte le combinazioni che deve "coprire" sono presenti soltanto una volta nel sistema.
Ci sono moltissimi algoritmi per elaborare dei sistemi ortogonali. Di seguito è presentato un algoritmo universale valido per tutti i sistemi e di facile applicazione per computer, ma che purtroppo consuma tanto tempo per elaborazione che, anche sui computer velocissimi, i sistemi oltre 15-20 numeri che non si "assemblano da soli" (si vedrà di seguito cosa vuol dire) sono praticamente non fattibili in quanto richiederebbero alcune ore/giorni di elaborazione.
Per esempio facciamo un sistema di 7 numeri con 3 numeri in combinazione, a garanzia dell'ambo (2) quando si indovinano 2 numeri. Il sistema finale avrà 7 combinazioni.
I numeri in grassetto qui sotto sono i numeri delle combinazioni, e non fanno parte delle combinazioni.
Si generano tutte le combinazione di 3 numeri e questo è il sistema base:
Tutte le combinazioni di 3 numeri sono: 7*6*5/(1*2*3) = 35.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 5
2 2 2 2 2 3 3 3 3 4 4 4 5 5 6 3 3 3 3 4 4 4 5 5 6 4 4 4 5 5 6 5 5 6 6
3 4 5 6 7 4 5 6 7 5 6 7 6 7 7 4 5 6 7 5 6 7 6 7 7 5 6 7 6 7 7 6 7 7 7
1 2 3 4 5 6 7
Il procedimento è semplice: si prende la prima combinazione del sistema base e dopo, andando in ordine si prende la prima combinazione dal sistema base che ha meno di 2 numeri (non dobbiamo avere degli ambi ripetuti) in comune con quelle già presenti nel sistema ridotto.
Il procedimento passo per passo:
- Dal sistema base prendiamo la prima combinazione (indicata con 1) e la riportiamo come prima combinazione nel sistema ridotto.
1
2
3
- Andando verso la destra, nel sistema base troviamo la prima combinazione (indicata con 2) che ha meno di 2 numeri in comune con la prima combinazione scelta, ed il nostro sistema ridotto si allarga e diventa:
1 1
2 4
3 5
- Procedendo verso destra del sistema base troviamo la combinazione (indicata con 3) che ha meno di 2 numeri in comune con le due combinazioni già presente nel sistema ridotto:
1 1 1
2 4 6
3 5 7
- Procedendo così fino all'ultima combinazione (indicata con 7) finalizziamo il sistema ridotto, che diventa:
1 1 1 2 2 3 3
2 4 6 4 5 4 5
3 5 7 6 7 7 6
Non tutti i sistemi si "assemblano da soli" così facilmente. Ecco, per esempio, alcuni dei sistemi che hanno questa caratteristica che sono facilmente fattibili: 31/3/2 = 155, 21/5/2 = 21, 32/4/3 = 1240, 22/6/3 = 77, ecc.
In molti casi bisogna spesso tornare indietro e prendere non la prima combinazione che troviamo, ma un'altra; seconda, terza...
Vediamo l'esempio del sistema 9/3/2/2, riportando soltanto le combinazioni necessarie per spiegare la situazione irregolare:
Tutte le combinazioni di 3 numeri sono: 9*8*7/(1*2*3) = 84.
. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 .
. 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 7 7 8 4 .
. 4 5 6 7 8 9 5 6 7 8 9 6 7 8 9 7 8 9 8 9 9 5 .
5 6 6a
Sistema ridotto, parziale:
1 1 1 1 2 2
2 4 6 8 4 5
3 5 7 9 6 7
Arrivati a questo punto sono rimasti "scoperti" gli ambi 2-8 e 2-9, ma non possiamo prendere la combinazione 2-8-9 in quanto ha due numeri in comune con la combinazione 1-8-9.
A questo punto, al posto della combinazione 2-5-7 (indicata con 6) prendiamo la prima prossima combinazione che ha meno di due numeri in comune con il resto delle combinazione, ed è 2-5-8 (indicata con 6a). In questo caso abbiamo preso la seconda combinazione corrispondente, ma in molti casi si prende anche la terza, quarta...
Procedendo, il sistema ridotto finale diventa:
1 1 1 1 2 2 2 3 3 3 4 5
2 4 6 8 4 5 7 4 5 6 7 6
3 5 7 9 6 8 9 9 7 8 8 9
Il programma SIS_ORT.ULT, scritto in Ultimo, nel quale è stato applicato questo algoritmo è in regalo per gli utenti di Ultimo.