Skip to content

Alguns algoritmos estudados durante a disciplina de Inteligência Computacional do curso de Engenharia da Computação.

Notifications You must be signed in to change notification settings

sousaellen/Hill-Climbing

Repository files navigation

Hill-Climbing

O objetivo é encontrar o máximo da função f(x,y) = |xsen(ypi/4) + ysen(xp/4)| por meio do algoritmo hill-climbing.

Descrição:

Com as variáveis x e y pertencentes ao intervalo entre 0 e 20. Os vizinhos de determinado estado (x, y) são (x+-0.01 ; y+-0.01):

Implementação:

Na implementação fora criados os valores das variáveis de x e y dentro do intervalo de 0 e 20 (com passo de 0.01). E com tais fora calculado o valor da equação (1.1) para cada ponto (x,y). A região englobada pelo problema pode ser vista na Figura:

O algoritmo fora implementado de modo a iniciar com um ponto (x,y) gerado randomicamente. Logo, poderá ocorrer de o mesmo se deparar apenas com um máximo local. Como forma de conferir se o algoritmo encontrou o ponto máximo para a FO, fora armazenados todos os pontos ’considerados’ na execução e calculado o valor máximo que estes agregam a equação da FO.

Ao concluir todas as instruções, a implementação retorna (na janela de comandos do MATLAB) qual o ponto inicial, o ponto máximo encontrado, seus respectivos valores quando aplicados na FO e a representação gráfica. A Figura a seguir ilustra o ponto máximo encontrado pelo algoritmo.

Inúmeros testes foram realizados a fim de analisar a solução, sendo notório em tal a ’dependência’ do resultado quanto à natureza randômica do ponto inicial. Encontrando portanto, algumas vezes, apenas máximos locais e não o máximo global de f(x,y) (Máximo de aproximadamente 36.08).

About

Alguns algoritmos estudados durante a disciplina de Inteligência Computacional do curso de Engenharia da Computação.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages