CITAZIONE (TarulliG @ 11/9/2011, 19:05)
Carlo, forse riesco a darti la risposta con un caso reale.
Ho convertito e misurato le 220 chiavi del valore 13.
L'idea che mi sono fatto e che il valore 14 contenga già
le colonne per valore 13 (e così per 12 e 11).
Per cui valori chiave da 11 a 12 e poi a 13 danno colonne con migliore resa
che sembrano essere correlate tra loro.
Per averne la certezza mi servirebbe costruire le chiavi con valore 14
(e con il programmino postato non c'è problema)
ma poi mi servirebbe detrarre le 220 del valore 13.
Se le detrae vuol dire innanzitutto che quelle sono già incluse nel valore 14
e che poi a quel punto, in modo visivo, riesco a capire come funzionano e come
identificare direttamente per un determinato valore la colonna
meglio funzionante in copertura senza doverle verificare una per una a mano
( cosa che fino a 13 ho già fatto
) o in automatico, che poi è
circa quello che hai chiesto a Nino.
Puoi verificare se le 220 del valore 13 sono
incluse nel valore 14 e postare la differenza?
ciao Gianni,
non ho potuto rispondere prima perchè oggi è stata una giornata infernale...lo so è domenica...ma io a volte lavoro di più di domenica che quando sono in ufficio :-(
ho capito l'idea di Nino ma non è applicabile in un algoritmo perchè richiede intelligenza, comunque stamattina mentre ero in vigna mi è venuta l'ispirazione e credo di aver capito come procedere, in pratica non è altro che riapplicare il meccanismo delle permutazioni
es : chiave 13
C(10,1)+C(10,2)+C(10,3)
C(10,1) vuol dire che ho 9 posizioni 1 e che ho 1 posizione a scelta per la mia X che può avere valori da 2 a 4 (13-9cioè chiave - numero di 1)
per cui iterando trovo
x=2 non va bene poichè 9+2 non fa 13
x=3 non va bene poichè 9+3 non fa 13
x=4 va bene poichè 9+4 = 13
mi fermo perchè sono arrivato a 4 che è il limite superiore
ok sviluppo le combinazioni di C(10,1) e trovo
1
2
3
4
5
6
7
8
9
10
per cui la mia X nelle posizioni sopra menzionate dovrà avere valore 4 per cui ottengo
4, 1, 1, 1, 1, 1, 1, 1, 1, 1
1, 4, 1, 1, 1, 1, 1, 1, 1, 1
1, 1, 4, 1, 1, 1, 1, 1, 1, 1
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
1, 1, 1, 1, 4, 1, 1, 1, 1, 1
1, 1, 1, 1, 1, 4, 1, 1, 1, 1
1, 1, 1, 1, 1, 1, 4, 1, 1, 1
1, 1, 1, 1, 1, 1, 1, 4, 1, 1
1, 1, 1, 1, 1, 1, 1, 1, 4, 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 4
ok ora passiamo a C(10,2)
C(10,2) vuol dire che ho 8 posizioni 1 e che ho 2 posizioni a scelta per la mia X che può avere valori da 2 a 5 (13-8 cioè chiave - numeri di 1)
per cui iterando trovo
x1=2 e x2= 2 non va bene poichè 8+2+2 non fa 13
x1=2 e x2= 3 va bene poichè 8+2+3 fa 13
x1=2 e x2= 4 non va bene poichè 8+2+4 non fa 13
x1=2 e x2= 5 non va bene poichè 8+2+5 non fa 13
x1=3 e x2= 2 va bene poichè 8+3+2 fa 13
x1=3 e x2= 3 non va bene poichè 8+3+3 non fa 13
x1=3 e x2= 4 non va bene poichè 8+3+4 non fa 13
x1=3 e x2= 5 non va bene poichè 8+3+5 non fa 13
x1=4 e x2= 2 non va bene poichè 8+4+2 non fa 13
x1=4 e x2= 3 non va bene poichè 8+4+3 non fa 13
x1=4 e x2= 4 non va bene poichè 8+4+4 non fa 13
x1=4 e x2= 5 non va bene poichè 8+4+5 non fa 13
x1=5 e x2= 2 non va bene poichè 8+5+2 non fa 13
x1=5 e x2= 3 non va bene poichè 8+5+3 non fa 13
x1=5 e x2= 4 non va bene poichè 8+5+4 non fa 13
x1=5 e x2= 5 non va bene poichè 8+5+5 non fa 13
ok quindi ho 2 possibili coppie di x che vanno bene
la coppia (2,3) e la coppia (3,2)
sviluppo le combinazioni
C(10,2) che sono 45
1, 2
1, 3
1, 4
1, 5
1, 6
1, 7
1, 8
1, 9
1, 10
2, 3
2, 4
2, 5
2, 6
2, 7
2, 8
2, 9
2, 10
3, 4
3, 5
3, 6
3, 7
3, 8
3, 9
3, 10
4, 5
4, 6
4, 7
4, 8
4, 9
4, 10
5, 6
5, 7
5, 8
5, 9
5, 10
6, 7
6, 8
6, 9
6, 10
7, 8
7, 9
7, 10
8, 9
8, 10
9, 10
ora per ognuna delle mie coppia sopra applico le 45 combinazioni ed ottengo
coppia (2,3)
2, 3, 1, 1, 1, 1, 1, 1, 1, 1
2, 1, 3, 1, 1, 1, 1, 1, 1, 1
2, 1, 1, 3, 1, 1, 1, 1, 1, 1
2, 1, 1, 1, 3, 1, 1, 1, 1, 1
2, 1, 1, 1, 1, 3, 1, 1, 1, 1
2, 1, 1, 1, 1, 1, 3, 1, 1, 1
2, 1, 1, 1, 1, 1, 1, 3, 1, 1
2, 1, 1, 1, 1, 1, 1, 1, 3, 1
2, 1, 1, 1, 1, 1, 1, 1, 1, 3
1, 2, 3, 1, 1, 1, 1, 1, 1, 1
1, 2, 1, 3, 1, 1, 1, 1, 1, 1
1, 2, 1, 1, 3, 1, 1, 1, 1, 1
1, 2, 1, 1, 1, 3, 1, 1, 1, 1
1, 2, 1, 1, 1, 1, 3, 1, 1, 1
1, 2, 1, 1, 1, 1, 1, 3, 1, 1
1, 2, 1, 1, 1, 1, 1, 1, 3, 1
1, 2, 1, 1, 1, 1, 1, 1, 1, 3
1, 1, 2, 3, 1, 1, 1, 1, 1, 1
1, 1, 2, 1, 3, 1, 1, 1, 1, 1
1, 1, 2, 1, 1, 3, 1, 1, 1, 1
1, 1, 2, 1, 1, 1, 3, 1, 1, 1
1, 1, 2, 1, 1, 1, 1, 3, 1, 1
1, 1, 2, 1, 1, 1, 1, 1, 3, 1
1, 1, 2, 1, 1, 1, 1, 1, 1, 3
1, 1, 1, 2, 3, 1, 1, 1, 1, 1
1, 1, 1, 2, 1, 3, 1, 1, 1, 1
1, 1, 1, 2, 1, 1, 3, 1, 1, 1
1, 1, 1, 2, 1, 1, 1, 3, 1, 1
1, 1, 1, 2, 1, 1, 1, 1, 3, 1
1, 1, 1, 2, 1, 1, 1, 1, 1, 3
1, 1, 1, 1, 2, 3, 1, 1, 1, 1
1, 1, 1, 1, 2, 1, 3, 1, 1, 1
1, 1, 1, 1, 2, 1, 1, 3, 1, 1
1, 1, 1, 1, 2, 1, 1, 1, 3, 1
1, 1, 1, 1, 2, 1, 1, 1, 1, 3
1, 1, 1, 1, 1, 2, 3, 1, 1, 1
1, 1, 1, 1, 1, 2, 1, 3, 1, 1
1, 1, 1, 1, 1, 2, 1, 1, 3, 1
1, 1, 1, 1, 1, 2, 1, 1, 1, 3
1, 1, 1, 1, 1, 1, 2, 3, 1, 1
1, 1, 1, 1, 1, 1, 2, 1, 3, 1
1, 1, 1, 1, 1, 1, 2, 1, 1, 3
1, 1, 1, 1, 1, 1, 1, 2, 3, 1
1, 1, 1, 1, 1, 1, 1, 2, 1, 3
1, 1, 1, 1, 1, 1, 1, 1, 2, 3
coppia (3,2)
3, 2, 1, 1, 1, 1, 1, 1, 1, 1
3, 1, 2, 1, 1, 1, 1, 1, 1, 1
3, 1, 1, 2, 1, 1, 1, 1, 1, 1
3, 1, 1, 1, 2, 1, 1, 1, 1, 1
3, 1, 1, 1, 1, 2, 1, 1, 1, 1
3, 1, 1, 1, 1, 1, 2, 1, 1, 1
3, 1, 1, 1, 1, 1, 1, 2, 1, 1
3, 1, 1, 1, 1, 1, 1, 1, 2, 1
3, 1, 1, 1, 1, 1, 1, 1, 1, 2
1, 3, 2, 1, 1, 1, 1, 1, 1, 1
1, 3, 1, 2, 1, 1, 1, 1, 1, 1
1, 3, 1, 1, 2, 1, 1, 1, 1, 1
1, 3, 1, 1, 1, 2, 1, 1, 1, 1
1, 3, 1, 1, 1, 1, 2, 1, 1, 1
1, 3, 1, 1, 1, 1, 1, 2, 1, 1
1, 3, 1, 1, 1, 1, 1, 1, 2, 1
1, 3, 1, 1, 1, 1, 1, 1, 1, 2
1, 1, 3, 2, 1, 1, 1, 1, 1, 1
1, 1, 3, 1, 2, 1, 1, 1, 1, 1
1, 1, 3, 1, 1, 2, 1, 1, 1, 1
1, 1, 3, 1, 1, 1, 2, 1, 1, 1
1, 1, 3, 1, 1, 1, 1, 2, 1, 1
1, 1, 3, 1, 1, 1, 1, 1, 2, 1
1, 1, 3, 1, 1, 1, 1, 1, 1, 2
1, 1, 1, 3, 2, 1, 1, 1, 1, 1
1, 1, 1, 3, 1, 2, 1, 1, 1, 1
1, 1, 1, 3, 1, 1, 2, 1, 1, 1
1, 1, 1, 3, 1, 1, 1, 2, 1, 1
1, 1, 1, 3, 1, 1, 1, 1, 2, 1
1, 1, 1, 3, 1, 1, 1, 1, 1, 2
1, 1, 1, 1, 3, 2, 1, 1, 1, 1
1, 1, 1, 1, 3, 1, 2, 1, 1, 1
1, 1, 1, 1, 3, 1, 1, 2, 1, 1
1, 1, 1, 1, 3, 1, 1, 1, 2, 1
1, 1, 1, 1, 3, 1, 1, 1, 1, 2
1, 1, 1, 1, 1, 3, 2, 1, 1, 1
1, 1, 1, 1, 1, 3, 1, 2, 1, 1
1, 1, 1, 1, 1, 3, 1, 1, 2, 1
1, 1, 1, 1, 1, 3, 1, 1, 1, 2
1, 1, 1, 1, 1, 1, 3, 2, 1, 1
1, 1, 1, 1, 1, 1, 3, 1, 2, 1
1, 1, 1, 1, 1, 1, 3, 1, 1, 2
1, 1, 1, 1, 1, 1, 1, 3, 2, 1
1, 1, 1, 1, 1, 1, 1, 3, 1, 2
1, 1, 1, 1, 1, 1, 1, 1, 3, 2
ok ora passiamo all'ultimo passo C(10,3)
C(10,3) vuol dire che ho 7 posizioni 1 e che ho 3 posizioni a scelta per la mia X che può avere valori da 2 a 6 (13-7 cioè chiave - numeri di 1)
per cui iterando trovo che ho una sola tripletta che va bene ed è la (2,2,2) tutte le restanti non fanno 13
ok ora sviluppo le combinazioni C(10,3) che sono 120 :
1, 2, 3
1, 2, 4
1, 2, 5
1, 2, 6
1, 2, 7
1, 2, 8
1, 2, 9
1, 2, 10
1, 3, 4
1, 3, 5
1, 3, 6
1, 3, 7
1, 3, 8
1, 3, 9
1, 3, 10
1, 4, 5
1, 4, 6
1, 4, 7
1, 4, 8
1, 4, 9
1, 4, 10
1, 5, 6
1, 5, 7
1, 5, 8
1, 5, 9
1, 5, 10
1, 6, 7
1, 6, 8
1, 6, 9
1, 6, 10
1, 7, 8
1, 7, 9
1, 7, 10
1, 8, 9
1, 8, 10
1, 9, 10
2, 3, 4
2, 3, 5
2, 3, 6
2, 3, 7
2, 3, 8
2, 3, 9
2, 3, 10
2, 4, 5
2, 4, 6
2, 4, 7
2, 4, 8
2, 4, 9
2, 4, 10
2, 5, 6
2, 5, 7
2, 5, 8
2, 5, 9
2, 5, 10
2, 6, 7
2, 6, 8
2, 6, 9
2, 6, 10
2, 7, 8
2, 7, 9
2, 7, 10
2, 8, 9
2, 8, 10
2, 9, 10
3, 4, 5
3, 4, 6
3, 4, 7
3, 4, 8
3, 4, 9
3, 4, 10
3, 5, 6
3, 5, 7
3, 5, 8
3, 5, 9
3, 5, 10
3, 6, 7
3, 6, 8
3, 6, 9
3, 6, 10
3, 7, 8
3, 7, 9
3, 7, 10
3, 8, 9
3, 8, 10
3, 9, 10
4, 5, 6
4, 5, 7
4, 5, 8
4, 5, 9
4, 5, 10
4, 6, 7
4, 6, 8
4, 6, 9
4, 6, 10
4, 7, 8
4, 7, 9
4, 7, 10
4, 8, 9
4, 8, 10
4, 9, 10
5, 6, 7
5, 6, 8
5, 6, 9
5, 6, 10
5, 7, 8
5, 7, 9
5, 7, 10
5, 8, 9
5, 8, 10
5, 9, 10
6, 7, 8
6, 7, 9
6, 7, 10
6, 8, 9
6, 8, 10
6, 9, 10
7, 8, 9
7, 8, 10
7, 9, 10
8, 9, 10
da cui per ogni riga in posizione delle (x,x,x) metto (2,2,2)
2, 2, 2, 1, 1, 1, 1, 1, 1, 1
2, 2, 1, 2, 1, 1, 1, 1, 1, 1
2, 2, 1, 1, 2, 1, 1, 1, 1, 1
2, 2, 1, 1, 1, 2, 1, 1, 1, 1
.......
.......
1, 1, 1, 1, 1, 1, 2, 2, 2, 1
1, 1, 1, 1, 1, 1, 2, 2, 1, 2
1, 1, 1, 1, 1, 1, 2, 1, 2, 2
1, 1, 1, 1, 1, 1, 1, 2, 2, 2
con tutta probabilità l'insieme di ricerca lo posso ridurre cercando i valori delle varie coppie , triple etc.. da 2 a (chiave-numero di 1 - 1)
per esempio in C(10,3) i valori che ricerco saranno 2,3,4,5 è inutile iterare sul 6 visto che gia 6+7 uno fa già 13 e a me serve una tripletta e non un singolo numero.
ora dovrei aver imparato il meccanismo di creazione delle chiavi il bello sarà trasformarlo in un programma :-)
Gianni per quanto riguarda la tua considerazione di avere le chiavi intersecate credo proprio che non sia possibile, tutte le chiavi hanno un insieme distinto e non trovo possibile avere nelle chiavi 13 delle chiavi 11 o 12 poichè cambiano il numero di 1 e i valori delle x.
ciao,
Carlo