Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Incomprensione su come scegliere le coppie di liste da confrontare

N
Nando (340 points)
4 8 9
in HW4 by (340 points)
edited by
Buonasera, vorrei una delucidazione su una parte dell'hw4.

Poniamo il caso che io abbia nell'array di liste 4 liste in totale che chiameremo rispettivamente A, B, C e D.

Vorrei capire in che modo avviene il confronto per determinare la sincronizzazione. Sulla consegna ci sta scritto testualmente: calcoliamo la sincronizzazione tra tutte le coppie di righe della matrice.

Io ho individuato 3 casi possibili:

caso1: confronto A con B, C con D e via dicendo (perciò senza sovrapposizioni)

caso2: confronto A con B, B con C, C con D e via dicendo (perciò con sovrapposizioni)

caso3: confronto A con B con C e con D, confronto B con C e con D e via dicendo (perciò confronto ogni lista con tutte le altre)

Vista la consegna, quella che trovo più logica è la seconda opzione ma vorrei conferma prima di cominciare a scrivere del codice per evitare inutili perdite di tempo.
464 views

1 Answer

Exyss (21510 points)
1 2 79
by (21.5k points)
Risposta breve: ogni riga deve essere confrontata con tutte le altre righe
N
Nando (340 points)
4 8 9
by (340 points)
Perfetto, grazie mille!
l
lorenzo.m (250 points)
0 1 3
by (250 points)
Percio nel confronto fra 2 righe , una chiamata A e l'altra B : verrano comparati gli elementi (a) di A agli elementi (b) di B in base al valore tau, in seguito verrano comparati gli elementi (b) di B a quelli di (a) di A in base a tau ,  alla fine di questo processo verra generato uno e un solo sync  , e alla fine della fiera facciamo la media fra tutti i sync ottenuti e arrontondiamo , giusto?

Chiedo se è cosi perche questo esempio mi confonde molto le idee, dato che sono stati prodotti 6 sync, quando ce ne dovrebbero essere solo 3, dato che il confronto tra un ipotetica riga e un altra(diversa) puo generare solo un sync e ci sono 3 righe :

matrix:
1010101010
1000101010
1000101010

sync tra a=[1, 0, 1, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (4, 4) (c(a|b), m(a)) = (5, 5)
sync = 1.0062305898749053

sync tra a=[1, 0, 1, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (4, 4) (c(a|b), m(a)) = (5, 5)
sync = 1.0062305898749053

sync tra a=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (5, 5) (c(a|b), m(a)) = (4, 4)
sync = 1.0062305898749053

sync tra a=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (4, 4) (c(a|b), m(a)) = (4, 4)
sync = 1.0

sync tra a=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (5, 5) (c(a|b), m(a)) = (4, 4)
sync = 1.0062305898749053

sync tra a=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0] e
         b=[1, 0, 0, 0, 1, 0, 1, 0, 1, 0]
(c(b|a), m(b)) = (4, 4) (c(a|b), m(a)) = (4, 4)
sync = 1.0

PoemSync = 1.004154
Exyss (21510 points)
1 2 79
by (21.5k points)

La risposta la trovi in questo thread