Tesi Robotica Analisi, progettazione e implementazione... | Page 67
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 67 — #67
i
2.2. N-W ALGORITHM
i
67
il Backtracking. Questo procedimento in genere porta alla generazione di più
percorsi, di conseguenza è necessario fornire nuovi parametri che consentano
di scegliere quale fra i vari cammini è quello giusto. Molte strategie sono state
fornite per risolvere questo problema. Alcune suggeriscono di scegliere i percorso
meno spigolosi e più smussati, altre sono basate sull’intersezione dei contorni, i
quali vengono identificati in una fase di pre-processazione. Queste intersezioni
vengono utilizzare per costruire vincoli che a seconda del loro soddisfacimento
o meno rendono un percorso migliore o peggiore rispetto ad un altro. In Fig:2.1
segnato in rosso è possibile vedere un allineamento, tenendo sempre a mente che
abbiamo come sequenze di input sequence1 = EDECE e sequence2 = ADCE
l’allineamento finale (rispetto a sequence2) porterà a: AD-CE, la sequenza è
identica all’originale tranne per il carattere “-” che indica una situazione di gap.
Come detto questo algoritmo permette di trovare più di un cammino durante
il Backtrack, questa naturale ambiguità è dovuta al fatto che esiste più di un
percorso con punteggio massimo che va dall’angolo inferiore destro a quello
superiore sinistro. Una volta realizzata la prima release del progetto ci si è
accorti però che i nel caso in cui siano presenti più di un allineamento ottimo non
c’è molta differenza fra i due, tale differenza diviene non significativa quando
il numero di frame al secondo computati aumenta. Per questo motivo si è
deciso quindi di applicare una strategia greedy per la risoluzione delle ambiguità.
Quando il Backtrack si trova ad un bivio sceglie semplicemente la prima via che
viene proposta. In tal modo è stato potuto adottare una miglioria al codice che
nel seguito verrà spiegata meglio.
2.2.3
Come Funziona
Una volta descritto l’algoritmo è possibile cominciare a capire come è possibile
che un metodo usato per allineare sequenze geniche possa fare ricostruzione di
mappe di disparità. Il fulcro della questione sta in cosa rappresenta il percorso
di backtrack.
In Fig:2.2.1 è rappresentata la matrice con ben due percorsi di backtrack, in
verde e in blu. Si guardi ora alla diagonale tracciata in rosso e mentalmente
si posizioni l’obbiettivo della telecamera al centro della diagonale puntandola
verso l’angolo in basso a sinistra della matrice. A questo punto si ha l’esatta
disposizione del mondo all’interno della matrice, tutte le celle che stanno nella
triangolare inferiore rappresenteranno una posizione nel mondo reale di fronte
all’obbiettivo, invece gli elementi che stanno nella triangolare superiore rappre-
i
i
i
i