Vous êtes sur la page 1sur 4

Algoritmo de estimao de distribuio aplicado estimativa de software

Jos Corra Viana

Anlise de Pontos de Funo


A APF (Anlise de Pontos de Funo) utilizada para medir a funcionalidade de um software, do ponto de vista do usurio, tendo foco no que o software faz e no como ele foi construdo. Atravs dessa medio, gerado o tamanho funcional do software, quando, juntamente com outras variveis ou frmulas, possvel estimar o esforo, o prazo e o custo envolvido no processo de desenvolvimento de um software [2]. Os requisitos funcionais sero a base para a contagem dos pontos de funo no ajustados e os requisitos no funcionais sero utilizados para determinar o fator de ajuste que ser aplicado nesses pontos de funo no ajustados. O fator de ajuste a aplicao de valores em relao s caractersticas gerais do sistema. O confronto dos pontos de funo no ajustados e do fator de ajuste resulta nos pontos de funo ajustados que expressam o tamanho do software [3]. A partir dos pontos de funo no ajustados, deve-se determinar o peso do ambiente de desenvolvimento para se determinar os pontos de funo ajustados. Esse peso calculado a partir de caractersticas gerais do sistema, aplicando valores de zero a cinco para cada caracterstica. O resultado desse processo so os pontos de funo ajustados, levando em considerao as funes que sero medidas analisando a influncia do ambiente para o desenvolvimento dessas funes. Essa medida pode ser armazenada e comparada posteriormente com projetos aparentemente idnticos, utilizando de experincias passadas para comparao e at agilizando uma nova contagem que possa vir a ser realizada [4].

Algoritmos Probabilsticos
Algoritmos probabilsticos so os algoritmos que para realizar buscas em um espao candidato, utilizam um modelo com base probabilstica para encontrar solues candidatas.

Muitos algoritmos de inteligncia computacional e meta-heursticas podem ser considerados probabilsticos, embora a diferena com algoritmos seja a utilizao (em vez de implcita) explcita de ferramentas de probabilidade para resoluo de um problema [5]. A imagem demonstra a modificao entre os Algoritmos Genticos ( esquerda) e um EDA. Um dos ganhos observados em relao ao Algoritmo Gentico a realizao de operaes para manter a diversidade dos indivduos.

Algoritmos de Estimao de Distribuio EDA


Algoritmos de estimao de distribuio (EDA), tambm conhecidos como Algoritmos genticos baseados na construo de modelos probabilsticos (PMBGA) so uma extenso do campo da Computao Evolucionria, onde solues candidatas so geradas a partir de um modelo probabilstico. O critrio para seleo de solues candidatas tima basicamente so definidas a partir da base probabilstica.

Population-Based Incremental Learning PBIL


Inspirao
Population-Based Incremental Learning uma tcnica de base populacional que est
relacionada com o algoritmo gentico e outros algoritmos evolucionrios, que so inspirados pela teoria da evoluo biolgica por meio da seleo natural.

Estratgia
O objetivo de processamento de informao do algoritmo PBIL reduzir a memria necessria para o algoritmo gentico. Isto feito atravs da reduo da populao de solues de um candidato a um vector nico com um prottipo de atributos, a partir do qual solues candidatas podem ser geradas e avaliadas. Atualizaes e operadores de mutao tambm so realizados para o vector de prottipos, em vez do que as solues de candidatos gerados .

Pseudocdigo
O Algoritmo 1 representa o pseudocdigo do algoritmo PBIL [1].
1. P inicializar vetor de probabilidade (cada posio = 0.5) 2. enquanto (geraes++ < limite) 3. para cada vetor i faa 4. para cada posio j faa 5. gerar Vi(j) a partir de P(j) 6. fim-para 7. avaliar f(Vi) 8. fim-faa 9. Vmax = max(f(Vi)) 10. atualizar P a partir de Vmax 11. se random(0,1] < Pmutate 12. efetuar mutao P 13. fim-se 14. fim-enquanto

O algoritmo utiliza dois tipos de probabilidade. Uma probabilidade para atualizao do percentual de seleo dos indivduos e outra para a probabilidade de mutao do indivduo [1]. A regra de atualizao dada por:
Pi ( j ) Pi ( j ) * (1.0 ) Vmax ( j ) *

Onde a taxa de aprendizagem e Vmax o vetor com a maior avaliao. A regra de mutao dada por

Pi ( j ) Pi ( j ) * (1.0 ) rand[0.01.0] *
Onde O valor que a mutao pode afetar no vetor de probabilidades. Durante a leitura do artigo, no foi possvel encontrar valores pr-definidos para as variveis, como a taxa de aprendizagem. O que [1] esclarece que a taxa de aprendizagem

que define a velocidade de convergncia do algoritmo. O papel da mutao evitar que o vetor tenha convergncia rpida para os extremos (0,0 ou 1,0).

Concluso
O Algoritmo de estimao de distribuio um novo algoritmo que busca reduzir os gastos computacionais realizados pelos Algoritmos Genticos. Os EDAs so aplicados em problemas NP-Difceis, como o Problema do caixeiro viajante e o Bin packing, que so problemas estudados j por outros algoritmos. Um estudo relevante seria a busca de relaes de dependncia entre variveis, o que determinaria qual variao do algoritmo pode ser aplicada ao problema. Uma dificuldade seria a representao do indivduo no contexto do algoritmo. Como o mesmo no foi implementado aplicado ao problema proposto, no pode ser visvel a compatibilidade do EDA ao problema de estimativa de software. A partir desse estudo inicial, interessante aprofundar mais nas aplicaes e na real capacidade de aplicao do EDA na rea de estimativa de software, provendo uma ferramenta eficiente para criar prospeces e simulaes para a equipe de desenvolvimento de software.

Referncias
[1] S. BALUJA. Population-based incremental learning: A method for integrating genetic search based function optimization and competitive learning. Technical Report CMU-CS-94163, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania 15213, June 1994. [2] C. E. VAZQUEZ. Anlise de Pontos de Funo: medio, estimativas e gerenciamento de projetos de software. 8. ed. rev. So Paulo: rica, 2008. [3] H. C. A. B. TAVARES; A. E. S. CARVALHO; J. F. B. CASTRO. Medio de Pontos por Funo a Partir da Especificao de Requisitos, 1998. Disponvel em: < http://www.inf.pucrio.br/wer02/zip/Medicion_puntos%2820%29.pdf >. Acesso em: 06 de Maio de 2010. [4] C.A. DEKKERS. Desmistificando Pontos de Funo: Entendendo a Terminologia.1998. Disponvel em: <http://www.bfpug.com.br/Artigos/Desmistificando%20Pontos%20de%20Fun%C3%A7%C3%A 3o.pdf >. Acesso em: 13 de Maio de 2010. [5] J. BROWNLEE. Clever Algorithms. Nature-Inspired Programming Recipes. Reviso 2. 16 Jun. 2012. Cover Image, 2011.

Vous aimerez peut-être aussi