Sobre a aula de hoje

Sobre a aula de hoje

by Igor Ribeiro Sucupira -
Number of replies: 2

Acho que, para o algoritmo funcionar corretamente, basta que estas quatro condicoes sejam satisfeitas:
a[0][0] <= 0
b[0][0] <= 0
c[0][0] <= 0
Pelo menos um dos três ser igual a 0.

Isso porque a posição [0][0] das matrizes só é consultada quando o algoritmo calcula a[1][1].

Abraços.
Igor.
In reply to Igor Ribeiro Sucupira

Re: Sobre a aula de hoje

by José Augusto Soares -
Para calcular a similaridade (as matrizes a, b e c) as condições funcionam.

Um pouco de cuidado precisaria ser tomado para determinar o alinhamento.

Para tornar o algoritmo de alinhamento mais independente é melhor fazer
a[0][0] =  0
b[0][0] = - infinito
c[0][0] = - infinito

Por exemplo, se estivermos determinando o alinhamento e estamos, digamos, na posição [0,1] da matriz b com pontuação -37, usando a recorrência dada em aula para b[0,1] o alinhamento pode não ser encontrado se fizermos as inicializações  com b[0,0] = 0 e a[0,0] < 0.

Para funcionar nesse tipo de caso, teria que fazer o algoritmo de alinhamento terminar quando uma das coordenadas for zero. Note que não é esse o caso no algoritmo de alinhamento dado em aula, que só pára a recursão quando i=0 e j=0.

Zé Augusto







In reply to José Augusto Soares

Re: Sobre a aula de hoje

by Igor Ribeiro Sucupira -

Ops! Tem razão.
Sem querer eu fiz a suposição de que as pessoas estavam montando o alinhamento da mesma maneira como eu fiz (sem olhar as pontuações).  #)