Neste repositório estou disponibilizando um trabalho que eu fiz sobre Percolação Invasiva utilizando o algoritmo Priority Heap para a disciplina Métodos Avançados de Algoritmos e Estruturas de Dados.
Aqui você pode ver um relatório sobre esse trabalho, onde abordo um pouco da teoria da percolação invasiva e apresento os principais resultados obtidos. Também apresento o algoritmo Priority Heap, que torna o algoritmo de percolação invasiva muito eficiente. Por fim, apresento o código em C++ utilizado para gerar os resultados apresentados e as referências bibliográficas.
Um exemplo de percolação invasiva sem aprisionamento em uma rede de 1024:
Comparação visual entre os modelos de percolação invasiva sem e com aprisionamento para uma rede bimensional de lado L=400: M_400_NTIP.pdf, M_400_TIP.pdf.
Um exemplo de percolação invasiva 3D:
Um exemplo de percolação invasiva onde a fronteira é mostrada:
Pseudo código do algoritmo de percolação invasiva:
Algoritmo Invasion_Percolation:
1 inicio:
2 Preencher a matriz aleatoriamente: r_i ∈ [0, 1];
3 Definir invasores;
4 Definir fronteira;
5 enquanto o sistema não percolar faça:
6 Invadir o menor sı́tio da fronteira;
7 Atualizar fronteira;
8 fim
9 fim
Neste link, você pode ver um pequeno vídeo mostrando como funciona o algoritmo Priority Heap. E aqui, você pode ver o funcionamento desse algoritmo de forma interativa.