SysSorting Professional - Presentation

15
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez SysSorting Professional Um Assistente de Avaliação de Estratégias de Ordenação Michel Alves dos Santos Universidade Federal de Alagoas, Campus A. C. Simões Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 Docente Responsável: Prof. Dr. Arturo Hernández {michel.mas,michel.al.santos}@gmail.com 05 de Dezembro de 2011 Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

description

A análise e compreensão das estratégias de ordenação são tarefas corriqueiras no processo de aprendizagem de complexidade computacional. Os métodos mais clássicos são debatidos e suas respectivas complexidades teóricas são confrontadas, porém muitas vezes, não há um aprofundamento e muitas características relevantes de determinadas técnicas são deixadas de lado não ocorrendo um confrontamento prático desses métodos. Além disso não existe disponível, ate o momento, uma ferramenta gratuita para aferição da complexidade das estratégias de ordenação que leve em consideração a natureza das amostras a serem classificadas. Para preencher essa lacuna propomos um Assistente de Avaliação de Estratégias de Ordenação que possui como principais funcionalidades a geração de aglomerados numéricos aleatórios, a execução de determinadas estratégias sobre esses aglomerados e a exibição do esforço computacional e temporal necessários a execução.

Transcript of SysSorting Professional - Presentation

Page 1: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

SysSorting ProfessionalUm Assistente de Avaliação de Estratégias de Ordenação

Michel Alves dos Santos

Universidade Federal de Alagoas, Campus A. C. SimõesTabuleiro do Martins - Maceió - AL, CEP: 57072-970Docente Responsável: Prof. Dr. Arturo Hernández

{michel.mas,michel.al.santos}@gmail.com

05 de Dezembro de 2011

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 2: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Motivação

Analisando a Motivação

Tarefa corriqueira no processo de aprendizagem decomplexidade computacional.

Busca pelas vertentes oficiais das estratégias maisclássicas.

Dificuldades para compreensão de avaliaçõesmeramente teóricas.

Ausência de uma ferramenta para avaliação gráfica.

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 3: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

O Sistema

SysSorting Professional

A ferramenta foi concebida para verificar o número de instruçõesexecutadas em aglomerados numéricos aleatórios, crescentes edecrescentes, além do tempo consumido nessas operações.

A ferramenta possui as seguintes funcionalidades

I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I Escolha do método ou estratégia de ordenação.

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 4: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Fluxograma

Fluxograma de Interação com o Sistema

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 5: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Componente - LibraryTime

Utilizada para executar aferições sobre o esforço computacional necessário pararealização de uma determinada tarefa. As respectivas complexidades teóricas sãoconfrontadas levando em consideração o tempo necessário para sua execução

completa e o tempo consumido.

Tempos obtidos através da geração pseudo-aleatória e aplicação do algoritmo shell sort em aglomerado numérico (aleatório, crescentee decrescente) com cardinalidade igual a 100000. Aglomerado composto por números reais gerados através de congruência linear.

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 6: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Componente - LibraryRandom

Para testar os limites teóricos das estratégias de ordenação e para verificar arobustez das mesmas, os números empregados devem possuir natureza e origem

‘aleatórias’!

Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear

Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear

R250 2250 − 1 Deslocamento de Registro

Mersenne Twister 219937 − 1 Deslocamento de Registro

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 7: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Componente - LibrarySorting

Os seguintes algoritmos foram implementados e avaliados confrontando suasrespectivas complexidades teóricas e suas aplicações práticas:

I Bubble SortI Gnome SortI Shaker SortI Comb SortI Insertion Sort

I Selection SortI Shell SortI Heap SortI Quick SortI Merge Sort

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 8: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Arquitetura em Camadas

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 9: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Resultados

Analisando o Quadro de Classificação

ClassificaçãoAlgoritmo TempoBubble 166.785sGnome 158.188sShaker 143.156sComb 142.328sInsertion 81.765sSelection 68.204sShell 1.281sHeap 1.235sQuick 1.234sMerge 1.375s

Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge

050

100

150

Algoritmos

BubbleGnomeShakerCombInsertionSelectionShellHeapQuickMerge

Tempos obtidos através da aplicação dos respectivos algoritmos em aglomerados numéricos aleatórios com cardinalidade igual a100000. Aglomerados compostos por números reais gerados através de congruência linear.

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 10: SysSorting Professional - Presentation
Page 11: SysSorting Professional - Presentation
Page 12: SysSorting Professional - Presentation
Page 13: SysSorting Professional - Presentation
Page 14: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Conclusões

Balanço Geral da Análise

Algoritmos de ordenação quadráticos possuem baixa complexidade deimplementação porém pecam no quesito desempenho.

Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhoresopções, porém devemos estar atentos aos casos degenerativos.

Possíveis Extensões da Ferramenta

I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I Transformação dos algoritmos de ordenação em plugins.

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL

Page 15: SysSorting Professional - Presentation

Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação

SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez

Referências Bibliográficas

G. Booch, R. J., and I. Jacobson.UML: Guia do Usuário, volume 1.Editora Campus, 2 edition, 2006.

C. Larman.Utilizando UML e padrões: Uma introdução à análise e ao projeto orientados a objetos.Bookman, 1 edition, 2000.

C. Larman.Utilizando UML e padrões: Uma introdução à análise e ao projeto orientados a objeto e aodesenvolvimento iterativo, volume 1.Bookman, 3 edition, 2007.

I. Sommerville.Engenharia de Software.Pearson Addison Wesley, 8 edition, 2007.

Grato Pela Atenção!Michel Alves - [email protected]

Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL