• Nenhum resultado encontrado

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT"

Copied!
16
0
0

Texto

(1)

1 / 16

Transformada Imagem-Floresta

(Estrutura de dados)

Prof. Dr. Paulo A. V. de Miranda

Instituto de Matem´

atica e Estat´ıstica (IME),

Universidade de S˜

ao Paulo (USP)

(2)

Algoritmo da IFT

Algoritmo da IFT

Estrutura da fila de prioridade

Resolvendo empates

Algoritmo 1 – Algoritmo geral da IFT

Entrada: Imagem ˆI = (DI, ~I), adjacˆencia A, e fun¸c˜ao de conexidade f .

Sa´ıda: Imagens ˆP = (DI, P) de predecessores, e ˆV = (DI, V) de conexidade. Auxiliares: Fila de prioridade Q, vari´avel tmp, e vetor de estado inicialmente zerado.

1. Para Cada t ∈ DI, Fa¸ca P (t) ← nil e V (t) ← f (hti). Se V (t) 6= +∞, Ent˜ao insira t em Q.

2. Enquanto Q 6= ∅, Fa¸ca

3. Remova um pixel s de Q cujo valor V(s) seja minimo.

4. estado(s) ← 1.

5. Para Cada t ∈ A(s), tal que estado(t) = 0, Fa¸ca

6. tmp ← f (πs · hs, ti).

7. Se tmp < V (t), Ent˜ao

8. Se V (t) 6= +∞, Ent˜ao remova t de Q.

(3)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 3 / 16

A fila tem que suportar as trˆes opera¸c˜oes seguintes, de acordo

com as linhas 3, 8 e 9 do algoritmo da IFT:

■ remover um spel s de precedˆencia m´axima, ou seja com V (s)

m´ınimo (linha 3).

■ remover um dado spel t de Q (linha 8).

■ inserir um dado spel t em Q (linha 9).

Na verdade, essas opera¸c˜oes dependem da estrutura exata da fila

(4)

Estrutura da fila de prioridade

Algoritmo da IFT

Estrutura da fila de prioridade

Resolvendo empates

A implementa¸c˜ao mais f´acil para a fila Q usa um heap bin´ario. Neste caso o algoritmo da IFT ter´a complexidade

O((M + N ) log N ), onde N ´e o n´umero de n´os (pixels) e M o

(5)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 5 / 16

Na maioria das aplica¸c˜oes, por´em, podemos usar fun¸c˜oes de

custo de caminho com incrementos de custo inteiros e limitados a uma constante K ao longo do caminho. Isto permite a

utiliza¸c˜ao da fila circular de Dial com K + 1 posi¸c˜oes.

■ Cada posi¸c˜ao i, i = 0, 1, ..., K, deve armazenar uma lista

duplamente ligada de todos os pixels p com custo V (p) tal que i = V (p)%(K + 1).

(6)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 4 t t 1 t 6 t 3 t 2 t 5 2 1 0 K−1 K t 6 t1 t2 t3 t 5 4 t 2 1 0 K−1 K

(a) Estrutura de Dial para a fila Q. (b) Estrutura proposta por A.X. Falc˜ao. Como sabemos o tamanho m´aximo N do grafo,

essas listas podem ser implementadas em uma ´unica matriz X

(7)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 7 / 16

A estrutura da fila proposta por Falc˜ao possui:

■ Um conjunto de K + 1 buckets (K = m´aximo incremento de

custo), e

■ Um vetor de N estruturas (N = tamanho da imagem),

representando os spels inseridos na fila.

(8)

Estrutura da fila de prioridade

Algoritmo da IFT

Estrutura da fila de prioridade

Resolvendo empates

■ Cada estrutura do segundo vetor corresponde a um n´o da

lista duplamente ligada (DLL node).

■ Cada n´o DLL tem dois ponteiros “Anterior” (prev) e

“pr´oximo” (next).

■ Cada bucket do primeiro vetor aponta para o n´o DLL do

´

ultimo spel inserido naquele bucket (os outros spels inseridos no mesmo bucket s˜ao recuperados, seguindo a lista ligada).

(9)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 9 / 16

O n´o DLL de um dado spel t pode ser obtido em tempo O(1):

■ O spel t tem um identificador (isto ´e, um n´umero no

intervalo [0, N − 1]), que ´e utilizado como ´ındice para

(10)

Estrutura da fila de prioridade

Algoritmo da IFT

Estrutura da fila de prioridade

Resolvendo empates

Vamos considerar o exemplo a seguir, onde N = 4 e K = 2. Uma fila vazia seria representada da seguinte forma:

(11)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 11 / 16

Os spels podem ser referenciados por seus ´ındices no intervalo [0,3]. Agora, suponha que os spels 3,2 e 0 foram inseridos, nessa ordem, no primeiro bucket. Teremos:

(12)

Estrutura da fila de prioridade

Algoritmo da IFT

Estrutura da fila de prioridade

Resolvendo empates

Na verdade, a fim de suportar inser¸c˜ao e remo¸c˜ao FIFO ou LIFO,

n´os geralmente consideramos tamb´em um apontador para o

(13)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 13 / 16

Poder´ıamos, tamb´em, representar a estrutura utilizando os ´ındices dos spels em vez de usar ponteiros:

(14)

Resolvendo empates

Algoritmo da IFT Estrutura da fila de prioridade

Resolvendo empates

O que fazer quando um pixel ´e alcan¸cado por dois ou mais caminhos de mesmo custo?

555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 000 000 0000 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 0000000000 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 000 000 0000 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 0000000000 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 555 555 5555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 000 000 0000 5555555555 5555555555 5555555555 5555555555 5555555555 5555555555 0000000000

Exemplos de tie-breaking. (a) Pol´ıtica FIFO. (b) Pol´ıtica LIFO. (c) Pol´ıtica FIFO com adjacˆencia vizinhos-8.

(15)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates 15 / 16

■ No caso da estrutura da fila proposta por Falc˜ao, o algoritmo

da IFT ter´a complexidade O(M + N × K).

■ Para alguns casos particulares, a complexidade ´e ainda

melhor O(M + N + K) (e.g., fun¸c˜ao fmax).

■ Se a adjacˆencia definir um grafo esparso, a IFT levar´a tempo

proporcional ao n´umero N de pixels, pois o n´umero de pixels

(16)

Estrutura da fila de prioridade

Algoritmo da IFT Estrutura da fila de prioridade

Resolvendo empates

■ Note que a cada instante existe um valor m´ınimo Vmim e um

valor m´aximo Vmax de custo para os pixels armazenados em

Q.

■ A diferen¸ca Vmax − Vmin ≤ K deve ser mantida para

garantir a corretude da fila.

■ Em algumas aplica¸c˜oes sabemos que os incrementos s˜ao

inteiros e limitados, mas n˜ao conhecemos o valor de K.

■ Neste caso, a fila circular inicia com um dado tamanho K,

mas antes de inserir um novo pixel devemos verificar a

Referências

Documentos relacionados

1) Primeiramente foram apresentadas noções básicas sobre a construção de mapas conceituais, tais como: definição de mapa conceitual; utilização de conceitos,

Sobretudo recentemente, nessas publicações, as sugestões de ativi- dade e a indicação de meios para a condução da aprendizagem dão ênfase às práticas de sala de aula. Os

O conjunto dos números reais R é uma expansão do conjunto dos números racionais que engloba não só os inteiros e os fracionários, positivos e negativos, mas também todos

Avaliação técnico-econômica do processo de obtenção de extrato de cúrcuma utilizando CO 2 supercrítico e estudo da distribuição de temperatura no leito durante a

O pastor Felipe Silva de Oliveira da Terceira Igreja Batista em Jardim Bom Retiro (São Gonçalo/RJ), é convidado para apresentar uma reflexão bíblica baseada na

Lista de preços Novembro 2015 Fitness-Outdoor (IVA 23%).. FITNESS

Obedecendo ao cronograma de aulas semanais do calendário letivo escolar da instituição de ensino, para ambas as turmas selecionadas, houve igualmente quatro horas/aula

A disponibilização de recursos digitais em acesso aberto e a forma como os mesmos são acessados devem constituir motivo de reflexão no âmbito da pertinência e do valor