Você está na página 1de 7

UTFPR – Universidade Tecnológica Federal do Paraná

Campus Dois Vizinhos

Sistemas Inteligentes Aplicados – SI27S

Aluno: Alessandro Gambin da Silva (#1930648)

Lista sobre o tema Busca Local

1. O que são algoritmos de busca e para que tipo de problemas eles são
aplicados?
Algoritmos de Busca são técnicas de Inteligência Artificial aplicadas a problemas de alta
complexidade teórica que não são resolvidos com técnicas de programação
convencionais (a complexidade de um problema está diretamente relacionada ao
tamanho do seu Espaço de Busca correspondente).

2. Defina espaço de busca.


É a terminologia utilizada para representar todas as possíveis soluções para representar
um problema, seja ela boa ou ruim, podendo ser de qualquer tamanho (até mesmo
infinito).

3. O que são soluções candidatas?

Solução candidata é cada elemento no espaço de busca Rn, onde n é o número de


dimensões nesse espaço (quantos parâmetros se deseja otimizar).

4. O que são vizinhanças no contexto de busca local?


Vizinhanças de uma solução inicial Si é dito como um conjunto de soluções S’ que são
similares a Si. Se dá realizando uma pequena perturbação na solução atual, sendo
essas perturbações de acordo com o problema (alteração de um número, um elemento
ou uma posição, por exemplo).

5. Quais são as principais maneiras de se representar uma solução em


algoritmos de busca?
Através de planos cartesianos (em espaço bi ou tridimensional), que são os estados
(possíveis soluções) representados sobre uma superfície.

6. Descreva o motivo pelo qual uma busca fica estagnada em um platô.


Porque ela encontra uma região do espaço de estados onde a função de avaliação dá
sempre o mesmo resultado.
7. Descreva estratégias para um algoritmo sair de máximos ou mínimos
locais.
Na Busca Subida em Encosta, a função de avaliação leva a um valor máximo para o
caminho sendo percorrido utilizando informação local. Porém o nó final pode estar em
outro ponto mais alto e isso é consequência das decisões irrevogáveis do método.
Dessa forma, o sucesso depende da topologia do espaço de estados. Assim, se
houverem poucos máximos locais e platôs, a Subida em Encosta com reinício aleatório
encontrará uma boa solução com rapidez, ou seja, poucos reinícios (e mesmo para
topologias mais complexas, poderá também encontrar máximos locais razoavelmente
bons).
Para a Têmpera Simulada, onde se muda a ideia de subida em encosta para descida
de gradiente, o efeito é semelhante ao de uma bola rolando uma superfície acidentada,
a qual parará num mínimo local. Assim, para evitar um mínimo local, deve-se agitar a
superfície para que a bola saia desse mínimo (isso é realizado nos estados sucessores,
onde estados com avaliação pior podem ser escolhidos com uma certa probabilidade e
essa probabilidade diminui com o tempo).
Já a Busca em Feixe Local mantém o controle de K estados por vez e esses conversam
entre si e deslocam os recursos para o processo de maior progresso. Porém na falta de
diversidade entre os K estados, há a concentração dos mesmos em uma pequena
região do espaço de estados. Assim, a solução é o Feixe Local Estocástico, o qual
escolhe os K estados sucessores de forma aleatória, considerando uma probabilidade
maior que a atual.

8. O que são funções objetivos?


Função Objetivo, também chamada de Avaliação ou Heurística, é a função que estima
o custo do caminho do nó atual até o objetivo. Ela indica o quanto o nó é promissor com
relação a atingir a meta estabelecida. Essas funções são específicas para cada
problema e guiam a busca.

9. Suponha que um gerente de futebol gostaria de criar uma função para


quantificar o número de gols de um atacante em 10 jogos. Crie uma função
para quantificar o seguinte problema.

𝐺 = { 1, 0, 2, 0, 1, 3, 1, 0, 2, 1 }

𝑓(𝐺) = ∑ 𝐺𝑖

Onde G é o conjunto de gols do atacante e i é o elemento no conjunto G.

10. Qual a importância de uma função objetivo em algoritmos de busca?


É ela que faz a avaliação da solução com o objetivo de maximizar a eficiência ou
encontrar os melhores possíveis elementos em um conjunto de dados. Ela provê uma
medida de desempenho com respeito a um conjunto particular de parâmetros. Dado que
os estados (possíveis soluções) estão representados sobre uma superfície (gráfico), a
altura de qualquer ponto na superfície corresponde à função de avaliação do estado
naquele ponto.
11. Cite vantagens e desvantagens de busca local.
Em vários problemas de otimização a própria descrição de estado contém toda
informação relevante para a solução e o caminho ao estado-objetivo não é relevante.
Queremos apenas encontrar o estado objetivo, não importando a sequência de ações.
As Buscas Locais (ou de melhorias iterativas) operam num único estado e movem-se
para a vizinhança deste estado. Eles não veem além dos vizinhos imediatos do estado
atual, ou seja, eles mantêm apenas o estado atual (baixo uso de memória), sem a
necessidade de manter a árvore de busca.
Apesar destas restrições, muitas vezes são os melhores métodos para tratar problemas
reais muito complexos (espaço contínuo), pois encontra soluções razoáveis, efetua a
exploração razoável do espaço de busca e são de fácil entendimento e implementação.
As desvantagens são os máximos e mínimos locais (ótimos locais), devido às planícies
(platôs) e a possibilidade de baixa quantidade de vizinhos que podem melhorar uma
solução, levando a um ponto onde não se faz mais progresso.

12. Explique o funcionamento do algoritmo Subida da Encosta em formato


de fluxograma.

Solução Expandir soluções Avaliar


Inicial vizinhas soluções

Não

Critério de Selecionar melhor


parada? solução

Sim

Solução
Final
13. Suponha dado um conjunto de objetos, cada um com um certo peso e
um certo valor. Quais dos objetos devo colocar na minha mochila para que
o valor total seja o maior possível? Minha mochila tem capacidade de
apenas 15 kg. O problema da mochila consiste em, dada uma mochila de
capacidade C e n itens cujos peso pi e valor de utilidade vi são dados,
escolher quais itens serão alocados na mochila sem ultrapassar o peso
máximo. Modele o problema da mochila utilizando Subida da Encosta.

a) Representação das soluções.


Plano cartesiano com os itens do conjunto O. Assim permite-se a visualização de todos
os estados no espaço de busca.
Por exemplo, um conjunto O de tuplas peso, valor de utilidade (p, v), com 10 elementos:

𝑂 = { (1, 5), (2, 1), (3, 3), (1, 3), (2.5, 7), (1.3, 1), (7, 15), (2.7, 4), (6, 0.5), (3.2, 8) }
Pode ser representado pelo plano cartesiano:

16
14
12
Valor de utilidade

10
8
6
4
2
0
0 2 4 6 8
Peso

b) Estratégia para expansão da vizinhança.


Reordenar aleatoriamente o conjunto O para o processo de iteração conhecer outros
objetos.
Por exemplo, dado o conjunto O de tuplas peso, valor de utilidade (p, v), tomado aqui
como solução inicial (questão “a”):

𝑂 = { (1, 5), (2, 1), (3, 3), (1, 3), (2.5, 7), (1.3, 1), (7, 15), (2.7, 4), (6, 0.5), (3.2, 8) }
Poderia, com o objetivo de expandir a vizinhança, ser reordenado aleatoriamente para:

𝑂 = { (1, 5), (3.2, 8), (2, 1), (6, 0.5), (3, 3), (1.3, 1), (7, 15), (2.7, 4), (1, 3), (2.5, 7) }

c) Função objetivo.
Avaliar a configuração da mochila pelo maior valor de utilidade (soma de vi) do
subconjunto O’ de elementos contidos em O. (O’ é qualquer subconjunto de O cuja
soma de pi não exceda a capacidade máxima C da mochila).
Um subconjunto O’ de elementos em O, dada a restrição C, pode ser representado por:

𝑂′ 𝜖 𝑂 ∶ ∑ 𝑂′ 𝑝𝑖 ≤ 𝐶

Logo a função objetivo poderia ser dada por:

𝑓(𝑂′) = ∑ 𝑂′𝑣𝑖

Sendo assim, dado o conjunto O das tuplas peso, valor de utilidade (p, v) da questão
“a” e a restrição C do enunciado do problema:

𝑂 = { (1, 5), (2, 1), (3, 3), (1, 3), (2.5, 7), (1.3, 1), (7, 15), (2.7, 4), (6, 0.5), (3.2, 8)}
𝐶 = 15

Um subconjunto O’ possível para avaliação da função objetivo seria:

𝑂′ = { (1.3, 1), (7, 15), (6, 0.5) }

d) Defina um critério de parada.


Dado que a quantidade de itens no conjunto de objetos O pode ser desconhecida, bem
como seus pesos e valores de utilidade, um critério de parada razoável poderia ser um
número fixo de iterações, uma vez que o retorno seria a melhor solução encontrada
nessas n iterações. Para permitir uma maior exploração do espaço de busca, o número
de iterações também poderia ser dado por alguma formulação matemática que levasse
em conta o número de elementos em O.

14. Explique o funcionamento do algoritmo Busca Tabu por meio de um


pseudo-algoritmo.
PROCEDURE TabuSearch(problem) RETURNS a solution
INPUT: problem
DECLARE: currentSolution, neighbors, bestNeighbor, tabuList

currentSolution <- initialState[problem]

WHILE stop condition isn’t reached DO


neighbors <- a neighborhood subset of the currentSolution
that isn’t in the tabuList
bestNeighbor <- neighbor with the highest value
tabuList <- push neighbors to tabuList

IF value[bestNeighbor] >= value[currentSolution] THEN


currentSolution <- state[bestNeighbor]
ENDIF
ENDWHILE

RETURN currentSolution
END
15. Explique a importância e a deficiência de se utilizar Lista Tabu.
A importância de se utilizar a Lista Tabu é que ela reduz o risco de ciclagem (ciclos
repetidos), ou seja, não há o retorno, por n iterações (sendo n um parâmetro do método
e que funciona como uma fila de tamanho fixo), a uma solução já visitada anteriormente.
Porém sua deficiência está no fato de que ela também pode proibir movimentos para
soluções candidatas que ainda não foram visitadas.
Ou seja, lembrar de antigas soluções, armazenadas na Lista Tabu, pode influenciar
positivamente ou negativamente no desempenho do algoritmo de Busca Tabu.

16. O problema das Oito Rainhas é o problema lógico em que se coloca oito
rainhas em um tabuleiro de xadrez de dimensão 8x8, de forma que
nenhuma delas seja atacada por outra. Ilustre uma vizinhança de soluções
para o problema das Oito Rainhas.
17. Explique e exemplifique dois critérios de parada utilizados em
algoritmos de busca.
Alcançar o teste de término: quando a solução encontrada satisfaz ao teste que define
a busca como finalizada. Um exemplo é o problema das Oito Rainhas. Quando a busca
alcança o teste de término que, nesse caso, é a disposição das rainhas de forma que
nenhuma delas seja atacada por outra, então o critério de parada foi satisfeito.
Nenhuma melhora for encontrada: quando a solução encontrada é o máximo global, não
podendo mais ser melhorada, ou também quando um máximo local é encontrado e a
busca não consegue encontrar outra solução melhor, devido a um platô ou distância de
outros picos (soluções candidatas melhores) na representação cartesiana do espaço de
busca.

Você também pode gostar