Respostas:
Como a @nbro já disse que o Hill Climbing é uma família de algoritmos de busca local . Então, quando você disse que Hill Climbing na pergunta, eu assumi que você está falando sobre a escalada padrão. A versão padrão da subida de montanha tem algumas limitações e geralmente fica presa no seguinte cenário:
Para resolver esses problemas, muitas variantes de algoritmos de subidas foram desenvolvidas. Estes são os mais usados:
O sucesso dos algoritmos de subidas depende da arquitetura da paisagem do espaço de estados. Sempre que existem poucos máximos e platôs, as variantes dos algoritmos de busca em subidas em colinas funcionam muito bem. Mas, no mundo real, os problemas têm uma paisagem que se parece mais com uma família amplamente dispersa de porcos-espinhos calvos em um piso plano, com porcos-espinhos em miniatura vivendo na ponta de cada agulha de espinhos-de-porco-espinho (conforme descrito no 4º capítulo do livro Inteligência Artificial: A Abordagem Moderna). Os problemas de NP-Hard normalmente têm um número exponencial de máximos locais para travar.
Algoritmos específicos foram desenvolvidos para superar esses tipos de problemas:
Livro de Referência - Inteligência Artificial: Uma Abordagem Moderna
A escalada não é um algoritmo, mas uma família de algoritmos de "pesquisa local". Os algoritmos específicos que se enquadram na categoria de algoritmos de "escalada" são 2-opt, 3-opt, 2.5-opt, 4-opt ou, em geral, qualquer N-opt. Veja o capítulo 3 do artigo " O Problema do Vendedor Viajante: Um Estudo de Caso em Otimização Local " (de David S. Johnson e Lyle A. McGeoch) para obter mais detalhes sobre alguns desses algoritmos de busca local (aplicados ao TSP).
O que diferencia um algoritmo dessa categoria do outro é a "função de vizinhança" que eles usam (em palavras simples, a maneira como encontram soluções vizinhas para uma determinada solução). Observe que, na prática, esse nem sempre é o caso: geralmente esses algoritmos têm várias implementações diferentes.
A limitação mais evidente dos algoritmos de alpinismo se deve à sua natureza, ou seja, são algoritmos de busca local. Portanto, eles geralmente apenas encontram o máximo local (ou mínimo). Portanto, se algum desses algoritmos já convergiu para um mínimo local (ou máximo) e, no espaço de solução ou pesquisa, existe, próximo a essa solução encontrada, uma solução melhor, nenhum desses algoritmos será capaz de encontrar isso. melhor solução. Eles basicamente ficarão presos.
Os algoritmos de pesquisa local geralmente não são usados sozinhos. Eles são usados como sub-rotinas de outros algoritmos meta-heurísticos, como recozimento simulado, pesquisa local iterada ou em qualquer um dos algoritmos de colônia de formigas. Portanto, para superar suas limitações, geralmente não as usamos sozinhas, mas as usamos em conjunto com outros algoritmos, que têm uma natureza probabilística e podem encontrar mínimos ou máximos globais (por exemplo, qualquer um dos algoritmos de colônia de formigas).