Comparar os algoritmos de busca em espaços de resposta, aplicados na busca pelo melhor caminho em um mapa bi-dimensional.
ia-2024-t1
.src/busca.py
:
start
a goal
def dfs(graph, start: int, goal: int) -> (int, float, [int]):
"""Busca em graph, um caminho entre start e goal usando busca em profundidade."""
def bfs(graph, start: int, goal: int) -> (int, float, [int]):
"""Busca em graph, um caminho entre start e goal usando busca em largura."""
def branch_and_bound(graph, start: int, goal: int) -> (int, float, [int]):
"""Busca em graph, um caminho entre start e goal usando Branch and Bound."""
def a_star(graph, start: int, goal: int) -> (int, float, [int]):
"""Busca em graph, um caminho entre start e goal usando A*."""
def dijkstra(graph, start: int, goal: int) -> (int, float, [int]):
"""Busca em graph, um caminho entre start e goal usando Dijkstra."""
def read_graph(filename: string) -> Graph
"""Le a estrutura do grafo a partir de um arquivo."""
<número de nós no grafo>
<nó> <latitude> <longitude> # repete para cada nó do grafo
<número de arestas no grafo>
<nó> <nó> <custo_da_aresta> # repete para cada aresta do grafo
behave
ou o utilitário tox
, que podem ser instalados em um ambiente virtual do Python.Um único aluno do grupo de alunos que trabalhou na execução do trabalho deverá criar um pull request contra o repositório original do trabalho. O título do pull request é livre, porém o corpo deve conter os nomes completos de todos os alunos do grupo.
Uma vez criado o pull request ele pode ser atualizado a qualquer momento, até a data limite de entrega.
Na data limite, o pull request receberá um label de AVALIADO
, um comentário com o resultado da avaliação, será fechado, e não poderá mais ser alterado.
No LEX
, todos os alunos do grupo devem inserir, até a data limite, o link para o pull request de entrega do trabalho.
A data máxima de entrega é dia 04 de maio de 2024.
src
.