Método de Akra–Bazzi

Origem: Wikipédia, a enciclopédia livre.

Em ciência da computação, o método de Akra–Bazzi, ou teorema Akra–Bazzi, é utilizado para analisar o comportamento assintótico de recorrências que aparecem na análise de algoritmos de divisão e conquista onde o sub-problemas têm substancialmente diferentes tamanhos. É uma generalização do teorema mestre para recorrências de divisão e conquista, que assume que os sub-problemas possuem o mesmo tamanho. O método recebe o nome dos matemáticos Mohamad Akra e Louay Bazzi[1].

Formulação[editar | editar código-fonte]

O método de Akra–Bazzi aplica-se a fórmulas de recorrência da forma[1]

As condições para o uso são:

  • foram fornecidos casos base suficientes
  • são constantes para todo 
  • para todo 
  • para todo 
  • , onde é uma constante e  denota a notação Grande-O.
  •  para todo 
  • é uma constante

O comportamento assintótico de é encontrado determinando o valor de no qual  e substituindo esse valor na equação[2]

Intuitivamente, representa uma pequena perturbação no índice de . Observando que e que o valor absoluto de está sempre entre e , pode ser usado para ignorar a função piso no índice. Da mesma forma, também se pode ignorar a função de teto. Por exemplo, e , conforme o teorema de Akra–Bazzi, têm o mesmo comportamento assintótico.

Exemplo[editar | editar código-fonte]

Suponha que é definido como 1 para números inteiros e para inteiros . Na aplicação do método de Akra–Bazzi, o primeiro passo é encontrar o valor de tal que . Nesse exemplo, . Então, usando a fórmula, o comportamento assintótico pode ser determinado da seguinte forma[3]:

Significado[editar | editar código-fonte]

O método de Akra–Bazzi é mais útil do que a maioria de outras técnicas para a determinação do comportamento assintótico, pois cobre uma ampla variedade de casos. A sua principal aplicação é a aproximação do tempo de execução de muitos algoritmos de divisão e conquista. Por exemplo, no merge sort, o número de comparações necessárias, no pior caso, que é aproximadamente proporcional ao seu tempo de execução, é dado recursivamente como e

para inteiros e, portanto, pode ser calculado usando o método de Akra–Bazzi, onde obtém-se .

Referências[editar | editar código-fonte]

  1. a b «On the solution of linear recurrence equations». Computational Optimization and Applications. 10 – via Springer Link 
  2. «Proof and application on few examples» (PDF) 
  3. Cormen, Thomas; Leiserson, Charles; Rivest, Ronald; Stein, Clifford. Introduction to Algorithms. [S.l.: s.n.] ISBN 978-0262033848 

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]

O Método de Akra-Bazzi na Resolução de Equações de Recorrência