PERIODO SBAGLIATO IN UNO DEI TEST

v
vivish_3 (340 points)
2 5 6
asked Nov 15, 2020 in HW4 obbligatorio by vivish_3 (340 points)
Il test sul file random-558-eng dovrebbe restituire come periodo 31.

La prosodia è la seguente : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 1, 10, 6, 11, 12, 13, 6, 14, 15, 16, 17, 1, 15, 18, 3, 19, 16, 20, 21, 15, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 31, 23, 32, 28, 33, 34, 35, 28, 36, 37, 38, 39, 23, 37, 40, 25, 41, 38, 42, 43, 37, 25, 44, 45, 46, 47, 48, 49, 50, 51,  52, 52, 44, 53, 49, 54, 55, 56, 49, 36, 57, 58, 59, 44, 57, 60, 46, 61, 58, 62, 63, 57, .......]

Dividendola per 31 si ottiene la seguente corrispondenza:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 1, 10, 6, 11, 12, 13, 6, 14, 15, 16, 17, 1, 15, 18, 3, 19, 16, 20, 21, 15]

[22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 31, 23, 32, 28, 33, 34, 35, 28, 36, 37, 38, 39, 23, 37, 40, 25, 41, 38, 42, 43, 37]

[25, 44, 45, 46, 47, 48, 49, 50, 51,  52, 52, 44, 53, 49, 54, 55, 56, 49, 36, 57, 58, 59, 44, 57, 60, 46, 61, 58, 62, 63, 57]

Successivamente creo (tramite un dizionario) una corrispondenza biunivoca tra gli elementi:

{ 0: [0, 22, 25,...]

  1: [1, 23, 44,...]

  2: [2, 24, 45,...]

  3: [3, 25 , 46,...]

  ... }

Come potete vedere il 25 è in corrispondenza biunivoca con lo 0 e con il 3 e questo (per come l'ho interpretato) dovrebbe indicare un errore nel calcolo del periodo.

Avete consigli?
178 views

1 Answer

AdSum (16290 points)
9 20 134
answered Nov 15, 2020 by AdSum (16,290 points)

Stai sbagliando il ragionamento.  prendiamo per esempio questi due gruppi ->  [0,1,2,3,4,4] e [5,7,8,10,9,9].

I due gruppi coincidono e hanno corrispondenza biunivoca. Perchè? Semplice, non devono essere "uguali" dal punto di vista numerico, ovvero [0,1,2,3,4,4] -> [a,a+1,a+2,a+3,a+4,a+4] ma devono essere UGUALI dal punto di vista associativo, ovvero [a,b,c,d,e,e]

Seguendo questo ragionamento abbiamo 5-> a, 7->b,8->c,10->d,9->e, e quindi [a,b,c,d,e,e].
Se ritrovo dei link ti rimando a domande simili per una spiegazione più completa.

EDIT:

Qui puoi trovare maggiori informazioni

v
vivish_3 (340 points)
2 5 6
commented Nov 15, 2020 by vivish_3 (340 points)
edited Nov 15, 2020 by vivish_3
Non ho ben capito dove sia l'errore nel mio ragionamento poichè applicando il mio ragionamento all'esempio precedente ([0,1,2,3,4,4] e [5,7,8,10,9,9]) ho che:

{ 0: [0, 5],

  1: [1, 7],

  2: [2, 8],

  3: [3, 10],

  4: [4, 9]

}

Quindi secondo questa "tabella di traduzione", in cui a ogni numero nella lista valore associo la chiave, ho che la seconda lista diventa: [0, 1, 2, 3, 4, 4] che è uguale alla prima lista --> il periodo è 6.

Sicuramente sto sbagliando qualcosa nel ragionamento in quanto passo solo 8 test su 13, ma non riesco a capire cosa.
O
Oakandrew (6400 points)
4 26 63
commented Nov 15, 2020 by Oakandrew (6,400 points)
edited Nov 15, 2020 by Oakandrew
e se tu avessi [0,1,2,3,4,4] e [4,5,6,7,8,8]
v
vivish_3 (340 points)
2 5 6
commented Nov 15, 2020 by vivish_3 (340 points)
Ok, grazie a questo esempio penso di aver capito dove sia il problema. Secondo il ragionamento spiegato prima queste due liste non hanno lo stesso schema, ma in realtà non dobbiamo considerare una vera e propria corrispondenza BIUNIVOCA tra gli elementi, ma solo se si ripetono con uno schema uguale.
m
m.lanzolla (700 points)
1 8 12
commented Nov 15, 2020 by m.lanzolla (700 points)
Io invece non riesco a trovare la corrispondenza tra questi due del test random-180-ita.txt

120, 121, 122, 123, 122, 124, 125, 126, 125, 127, 128, 121, 9, 129, 130
0,     1,   2,   3,   2,   4,   5,   6,   5,   7,   8,   1, 9,  10,  11

c'è quel 9 tra 121 e 129 che mi scombussola tutto, evidentenmente non ho capito.