• Nenhum resultado encontrado

An´alises e compara¸c˜oes

Ap´os apresentados os ACs de Gordillo e Luna (1994), Shakeri et al. (2008) e Worsch e Nishio (2010) que inspiraram este trabalho, foi realizada uma compara¸c˜ao entre o melhor AC de Gordillo e Luna (1994) “GL2”, de Shakeri et al. (2008) “SDFR3” e desta pesquisa, que ´e o “CP2”. O resultado desta compara¸c˜ao pode ser visto na Figura 20, que exibe o custo temporal para realizar a ordena¸c˜ao crescente da pior condi¸c˜ao inicial de n = 0 at´e n= 50000. Esta compara¸c˜ao ´e uma extens˜ao da Figura 11.

Figura 20: Custo temporal entre os ACs: GL2, SDFR3 e CP2.

A Tabela 9 apresenta uma compara¸c˜ao dos autˆomatos celulares de Gordillo e Luna (1994), Shakeri et al. (2008), e os ACs apresentados neste trabalho, CP1 e CP2. A compara¸c˜ao apresenta a vizinhan¸ca, a quantidade de estados e o tipo do AC, a quantidade de registradores necess´arios, e a quantidade de passos necess´aria para realizar a ordena¸c˜ao.

Tabela 9: Compara¸c˜ao entre os ACs de Gordillo e Luna (1994), Shakeri et al. (2008) e dos dois novos ACs.

AC Vizinhan¸ca Estados Registradores Tipo de AC Passos de tempo

GL1 3 n 2 Cl´assico 2n − 3 GL2 4 n 2 Cl´assico ⌈3n ÷ 2⌉ − 2 SDFR1 3 n 0 AC em Bloco 2n − 3 SDFR2 4 n 1 AC em Bloco ⌈3n ÷ 2⌉ − 2 SDFR3 6 n 1 AC em Bloco ⌈n + n ÷ 4⌉ − 1 CP1 3 3n 0 Cl´assico 2n − 1 CP2 7 3n 0 Cl´assico n− 1 ou n + 1

Observe-se na Tabela 9 que os novos ACs possuem mais estados que os demais, isto ´e devido aos sinais “<” e “>”, pois o n´umero 9 por exemplo pode ser “9”, “9 >” ou “9 <”. Em contrapartida, os demais ACs – exceto o SDFR1 – necessitam de registradores de mem´oria, que tamb´em constituem informa¸c˜oes adicionais que auxiliam na tarefa de ordena¸c˜ao.

A quantidade de estados se relaciona `a quantidade de mem´oria necess´aria para a execu¸c˜ao do AC. A Tabela 10 exibe uma compara¸c˜ao do custo de mem´oria entre os ACs apresentados neste trabalho.

Tabela 10: Compara¸c˜ao de custo de mem´oria entre os ACs de Gordillo e Luna (1994), Shakeri et al. (2008) e dos dois novos ACs.

AC Custo de Mem´oria GL1 3n GL2 3n SDFR1 n SDFR2 2n SDFR3 2n CP1 3n CP2 3n

que os utilizam – e nos ACs CP1 e CP2 os sinais “<” e “>”. Com base isso, os ACs GL1 e GL2 utilizam 3n, pois cada c´elula possui dois registradores. O SDFR2 e SDFR3 que possuem somente um registrador, tˆem custo de mem´oria 2n, CP1 e CP2 possuem custo 3n por cada c´elula poder possuir os sinais “<” e “>”, e por fim, SDFR1 que N˜ao possui registrador, apresenta custo de mem´oria n.

Por outro lado, a vizinhan¸ca, registradores, tipo de AC e custo temporal influenciam diretamente no tempo de processamento do AC. Dessa maneira, uma forma emp´ırica de avaliar o custo de processamento dos ACs foi definida pela express˜ao

C = V × M × T × P

onde C simboliza o custo de processamento, M os registradores de mem´oria, V a vizi- nhan¸ca, T o tipo de AC e P a quantidade de passos. Vale observar que V × M ser´a a vizinhan¸ca efetiva, uma vez que se considera tamb´em os registradores na transi¸c˜ao de estados para os ACs que fazem uso dos registradores. Este custo foi definido neste tra- balho como custo de processamento integralizado, que ´e uma medida para avaliar o custo temporal levando em conta o processamento em cada passo.

Para encontrar o custo de processamento C, ´e necess´ario observar os valores contidos na Tabela 9. J´a que a vari´avel n nas express˜oes de custo da tabela representa a quantidade elementos a serem ordenados, considera-se aqui que o “Tipo de AC” deve ser contabilizado de acordo com o seguinte esquema de pontua¸c˜ao:

AC Cl´assico: 1 // AC em Bloco: 2

Essa pontua¸c˜ao ´e oriunda do AC Cl´assico atualizar somente uma c´elula a cada itera- cao, e o AC em Bloco – no caso desta pesquisa – duas c´elulas.

Deve-se considerar ainda a seguinte pontua¸c˜ao relativa aos “Registradores”: Nenhum registrador: 1

Um registrador: 2 Dois registradores: 3

Esse esquema de pontua¸c˜ao se deve ao fato dos ACs que utilizam registradores pos- suirem um passo a mais. Nesses autˆomatos celulares, primeiramente os registradores s˜ao atualizados e somente ap´os esse passo, os estados das c´elulas s˜ao atualizados.

Tal defini¸c˜ao considera a quantidade de c´elulas que s˜ao alteradas a cada itera¸c˜ao do AC, quais sejam, uma c´elula para o Cl´assico e duas para o AC em Bloco. A t´ıtulo de exemplo, a seguir obtemos o custo de processamento de GL1 com n = 5:

GL1 com n = 5 Vizinhan¸ca: 3

Registradores: Dois (custo 3) Tipo de AC: Cl´assico (custo 1) Quantidade de passos: 2n − 3

C = V × M × T × P = 3 × 3 × 1 × (2n − 3) = 63

Abaixo segue-se outro exemplo de c´alculo do custo de processamento, no caso, o AC em Bloco SDFR2 com n = 5:

SDFR2 com n = 5 Vizinhan¸ca: 4

Registradores: Um (custo 2)

Tipo de AC: AC em Bloco (custo 2) Quantidade de passos: (⌈3n ÷ 2⌉) − 2

C = V × M × T × P = 4 × 2 × 2 × (⌈3n ÷ 2⌉) − 2 = 128

Como evidenciado nos dois exemplos de c´alculo de custo processamento integralizado, o GL1, que necessita de 7 passos para realizar a ordena¸c˜ao para 5 elementos, possui custo de processamento integralizado menor que o SDFR2, que necessita de 6 passos; ou seja, realizar menos passos n˜ao necessariamente implica menor custo de processamento integralizado. A Figura 21 ilustra o custo de processamento de todos os ACs, de n = 0 a n= 50000.

Figura 21: Compara¸c˜ao do custo de processamento de n = 0 a n = 50000.

A Tabela 11 apresenta um ranking de todos os ACs abordados no trabalho, levando em considera¸c˜ao custo temporal e custo de processamento integralizado para n = 50000. Tabela 11: Ranking dos ACs considerando custo temporal e custo de processamento integralizado.

Posi¸c˜ao Custo temporal Custo de processamento integralizado

1 CP2 CP1 2 SDFR3 CP2 3 GL2 e SDFR2 SDFR1 4 GL1 e SDFR1 GL1 5 CP1 GL2 6 SDFR2 7 SDFR3

Outra quest˜ao interessante de ser observada ´e a complexidade assint´otica. A Tabela 12 compara a complexidade assint´otica de algoritmos de ordena¸c˜ao seriais e paralelos da literatura Sareen (2013) e os apresentados neste trabalho.

Tabela 12: Complexidade assint´otica para a pior condi¸c˜ao inicial.

Algoritmo Complexidade

Bubble Sort O(n2

)

Selection Sort O(n2

)

Insertion Sort O(n2

)

Merge Sort O(n log n)

Quick Sort O(n2

)

Bucket Sort O(n2

) Quick Sort Paralelo O(n2

p )

Bubble Sort Paralelo O(n2

p )

Merge Sort Paralelo O( log n) Bucket Sort Paralelo O( log n)

CP2 O(n)

CP2 O(n)

Como pode ser visto na Tabela 12, a complexidade do CP1 e CP2 ´e linear, sendo que os algoritmos cl´assicos em geral possuem complexidade quadr´atica e n log n para a pior condi¸c˜ao inicial. O denominador p na complexidade dos algoritmos Quick Sort Paralelo e Bubble Sort Paralelo, representa a quantidade de processamentos que ser˜ao executados em paralelo.

De acordo com a Figura 20, para n acima de 500, o AC CP2 realiza a ordena¸c˜ao em aproximadamente 80% da quantidade de passos do SDFR3, e em aproximadamente 68% da quantidade de passos do GL2, evidenciando aumento significativo de performance no que se refere `a quantidade de passos necess´arios para realizar ordena¸c˜ao, principalmente quando a quantidade de elementos do AC ultrapassa 1000 elementos.

5

CONCLUS ˜OES

Pode-se concluir que um autˆomato celular realizar a tarefa de ordena¸c˜ao em menos passos, pode n˜ao indicar o menor custo de processamento integralizado efetivo. A quanti- dade de passos ´e apenas uma vari´avel do m´etodo de avalia¸c˜ao de custo de processamento integralizado adotado neste trabalho. Esta afirma¸c˜ao fica evidenciada na Tabela 11, que mostra o CP2 como sendo o primeiro AC no ranking de quantidade de passos e o segundo quando refere-se ao custo de processamento integralizado. J´a o CP1 que est´a na ´ultima coloca¸c˜ao de quantidade de passos, fica em primeiro no ranking de custo de processa- mento integralizado. Outro ponto interessante ´e o SDFR3 ser o segundo em quantidade de passos e o ´ultimo no ranking de custo de processamento integralizado.

Conclui-se tamb´em que os ACs propostos neste trabalho (CP1 e CP2) destacam-se na compara¸c˜ao com os demais ACs aqui apresentados, sendo CP2 o melhor AC quando avaliada o custo temporal, ou o segundo melhor no ranking de custo de processamento, e o CP1 o melhor no custo de processamento.

O fato do CP2 estar pr´oximo do CP1 quando avaliado o custo de processamento integralizado, ´e um ponto relevante a ser investigado, seja na busca pela diminui¸c˜ao da quantidade de passos mantendo a vizinhan¸ca e o tipo de AC cl´assico, ou aprimorando as transi¸c˜oes de estado, no intuito de reduzir a quantidade e complexidade das transi¸c˜oes.

Pode-se verificar que neste trabalho a quantidade de estados foi desconsiderada no c´alculo do custo, devido a afetar somente a mem´oria utilizada durante a execu¸c˜ao do autˆomato celular.

Tanto nos trabalhos de Gordillo e Luna (1994) e Shakeri et al. (2008), como nos ACs propostos nesta pesquisa, os ACs trabalham com ordena¸c˜ao de n´umeros inteiros. No entanto, os ACs propostos neste trabalho podem realizar a ordena¸c˜ao de qualquer s´ımbolo, para o qual os sinais “>” e “<” tenham sentido em termos lexicogr´aficos.

Como fruto desta pesquisa, foi publicado um artigo de Carvalho e de Oliveira (2015) apresentando os ACs propostos neste trabalho e seus resultados e discuss˜oes.

Para pesquisas futuras, sugere-se propor novos ACs ou aprimorar os atuais, no sentido de se procurar obter ACs com quantidade ainda menor de estados, mantendo-se raio 1, e

buscando-se reduzir a quantidade de passos, abaixo de 2n − 3. Outro ponto interessante ´e a possibilidade de trabalhar com ACs que n˜ao possuam registradores ou diminuam a quantidade de sinais propagados.

REFERˆENCIAS BIBLIOGR ´AFICAS

ALNIHOUD, J.; MANSI, R. An enhancement of major sorting algorithms. International Arab Journal of Information Technology, v. 7, n. 1, p. 55–62, 2010.

BENIWAL, S.; GROVER, D. Comparison Of Various Sorting Algorithms: A review. In: International Journal of Emerging Research in Management and Technology. India: Advanced Research International, 2013. v. 2, p. 83–86.

de Carvalho, C. E. P.; de Oliveira, P. P. B. Sorting with one-dimensional cellular automata using odd-even transposition. In: Advances in Intelligent Systems and Computing. (Proc. of WorldCIST’15 - 3rd World Conference on Information Systems and Technologies). [S.l.]: Springer: Heidelberg, 2015. A ser publicado.

GORDILLO, J. L.; LUNA, J. V. Parallel sort on a linear array of cellular automata. In: IEEE International Conference on Systems, Man, and Cybernetics. [S.l.: s.n.], 1994. v. 2, p. 1903–1907.

HARWOOD, A. Odd-even Transposition Sort. 2011. Dispon´ıvel em: <http://ww2.cs- .mu.oz.au/˜aaron/subjects/comp90025 2011 sm2/lectures/node111.html>.

MITCHELL, M.; GRAMSS, T.; BORNHOLT, S.; GROSS, M.; PELLIZZARI, T. Computation in cellular automata: A selected review. Wiley-VCH Verlag GmbH Co. KGaA, p. 95–140, 2005.

PACKARD, N.; WOLFRAM, S. Two-dimensional cellular automata. Journal of Statistical Physics, Kluwer Academic Publishers-Plenum Publishers, v. 38, n. 5-6, p. 901–946, 1985.

SAREEN, P. Comparison of sorting algorithms (on the basis of average case). International Journal of Advanced Research in Computer Science and Software Engineering, v. 3, p. 522–532, 2013.

SARKAR, P. A brief history of cellular automata. ACM Computing Surveys, ACM, New York, NY, USA, v. 32, n. 1, p. 80–107, 2000. ISSN 0360-0300.

SHAKERI, M.; DELDARI, H.; FOROUGHI, H.; REZVANIAN, A. Parallel Sorting On Linear Cellular Automata. In: Parallel and Distributed Processing Techniques and Applications. [S.l.: s.n.], 2008. p. 377–383.

WEISSTEIN, E. W. Cellular Automaton. MathWorld - A Wolfram Web Resource, 2013. Dispon´ıvel em: <http://mathworld.wolfram.com/CellularAutomaton.html>.

WEISSTEIN, E. W. Moore Neighborhood. MathWorld - A Wolfram Web Resource, 2013. Dispon´ıvel em: <http://mathworld.wolfram.com/MooreNeighborhood.html>.

WEISSTEIN, E. W. von Neumann Neighborhood. MathWorld - A Wolfram Web Resource, 2013. Dispon´ıvel em: <http://mathworld.wolfram.com/vonNeumannNeighborhood- .html>.

WOLFRAM, S. Statistical mechanics of cellular automata. Reviews of Modern Physics, American Physical Society, v. 55, p. 601–644, Jul 1983.

WOLFRAM, S. Computation theory of cellular automata. Communications in Mathematical Physics, Springer-Verlag, v. 96, n. 1, p. 15–57, 1984. ISSN 0010-3616. WOLFRAM, S. Cellular automata and complexity: collected papers. In: . Reading, MA: Addison-Wesley, 1994. p. 608.

WOLFRAM, S. A new kind of science. In: . Champaign, Ilinois, US, United States: Wolfram Media Inc., 2002. p. 169. ISBN 1579550088.

WOLFRAM, S. A new kind of science. In: . Champaign, Ilinois, US, United States: Wolfram Media Inc., 2002. p. 459. ISBN 1579550088.

WORSCH, T.; NISHIO, H. Real-time sorting of binary numbers on one-dimensional ca. In: Journ´ees Automates Cellulaires. [S.l.: s.n.], 2010. p. 214–225.

XU, X.; CHEN, L.; HE, P. Ant clustering embeded in cellular automata. In: Proceedings of the 8th European Conference on Advances in Artificial Life. Berlin, Heidelberg: Springer-Verlag, 2005. (ECAL 05), p. 562–571.

Documentos relacionados