Mac-499 Trabalho de Formatura Supervisionado
Tipo de Trabalho : Iniciação Científica
Implementação Paralela de Autômatos Celulares
Para
Tecidos Orgânicos
Aluno : Adroaldo Lazouriano Moreira Borges
Supervisor : Prof. Dr. Marco Dimas Gubitoso
[email protected]
[email protected]
Resumo
Vários fenômenos naturais requerem simulações com
desempenho computacional de alto nível. Por exemplo, na
previsão de tempo. Para isso usamos o processamento
paralelo nas simulações e modelamos vários desse
fenômenos por intermédio de autômatos celulares.
Computação Paralela
Arquiteturas Paralelas e Programações Paralelas
■ Arquiteturas Paralelas :
■ Arquiteturas de Memória compartilhada : cada
processador tem a sua memória local, mas comunica com
os outros por intermédio de algumas memórias
compartilhadas.
■ Arquiteturas de Memória distribuida : cada
processador tem a sua própria memória, mas comunica com
demais através de alguma estratégia implementável.
Computação Paralela (cont.)
■ Programações Paralelas :
■ Programas de Memórias Compartilhadas são aqueles
que implementam a política de variáveis compartilhadas.
■ Programas de Memórias Distribuidas são aqueles em
que a comunicação entre os processadores acontece através de
passagens de mensagens.
A programação paralela envolve a decomposição de dados ou
de tarefas entre os processadores, coordenação das tarefas e
comunicação entre os processadores.
Autômatos Celulares
De uma forma sucinta, podemos dizer que autômato celular
são modelos matématicos para modelagem de sistemas
complexos.
Definição matématico :
Um Autômato Celular α é um quadruplo (G, S, N, R) onde,
■ G = {cell(i,j): 1 ≤ i ≤ m-1 e 1 ≤ j ≤ n-1} onde, cell(i,j) é a
célula na posição (i,j) da grade G.
■ S é o conjunto do estados possíveis para a célula cell(i,j) .
Representaremos o estado da célula cell(i,j) no instante t por
st(i,j).
Autômatos Celulares (cont.)
■ N(i,j) é o conjunto das células vizinhas da célula cell(i,j).
■ R é o universo de todas as regras aplicáveis ao autômato
celular. Assim R(N(i,j)) é o conjunto de regras aplicáveis à
célula cell(i,j).
Alguns Autômatos Celulares
■ Game of Life
■ Greenburg - Hasting
■ Hodgepodge Machine
■Wireworld
Game of Life
Autômato Celular com as seguintes características :
■ G é uma grade ou matriz de células. Estas células são
representados por 0's e 1's.
■ S = {0, 1}
■ N(i,j) = {cell(k,l) : |k-i| = 1 e |l-j| = 1}
■ As regras são iguais para todas as células da G.
■ Uma célula morta (re)nasce se tiver exatamente 3 vizinhas
vivas. Caso contrário continua morta.
■ Uma célula viva continua viva se tiver 2 ou 3 vizinhas
vivas. Caso contrário morre.
Von Neumann
Moore
Moore Extendido
Matérias Relevantes
■ MAC0110 : noção de programação
■ MAC0122 : Escolha de melhores algoritmos e estruturas de
dados.
■ MAC0239 : Lógica e demonstração de corretude de
programas
■ MAC0412 : Noção de processamento de alto desempenho,
aliás foi a matéria que me motivou a computação paralela.
■ MAC0414 : Noção de autômatos e consequentemente
autômatos celulares.
Referências Bibliográficas
[1] Peter Pacheco, Parallel Programming with MPI, San
Francisco California. Kaufmann
[2] T. Toffoli e N. Margolus, Cellular Automata Machines,
MIT Press Series in Scientific Computation.
[3] R. Saldaña, W. Tabares e W. Yu, Parallel Implementations
of Cellular Automata Algorithms on the AGILA, High
Performance Computing System. Ateneo de Manila
University
[4] S. Song, E. Cáceres e H. Mongelli, Algoritmos Paralelos
usando CGM/PVM/MPI. Slides aulas.
Download

Making Presentations That Audiences Will Love