projeto da disciplina de sistemas inteligentes sobre o algoritmo A*
astar.py é o arquivo principal, nele possui a função A* e será usado na apresentação
functions.py é um arquivo que possui funções úteis que serão usadas no A*:
- StationByIdx: função para pegar a linha específica da estação seguinte
- Quicksort:
- partition()
- quicksort()
classes.py é um arquivo que possui as seguintes classes:
- Node: classe que vai representar um nó da estação
- name: atributo str que diz o nome da estação
- line: atributo str que diz a cor da estação
- idx: atributo int que diz o índice do nó nas matrizes de conexões
- State: classe que vai representar os estados na fronteira do algoritmo
- station: atributo Node que diz a estação do estado atual
- g: atributo float que diz o peso do tempo gasto no caminho atual
- h: atributo float que diz o tempo, em min, até a estação de destino, em linha reta
- f: atributo float que representa função g+h
- path: atributo list que armazena o nome das estações que indicam o caminho tomado até o estado atual
- Tree: classe que representa o grafo que contém os nós (Node)
- stations: atributo list que representa a lista de todos os nós do grafo
- real_conect: atributo tuple que representará a matriz contendo as distâncias (em min) reais entre estações
- conect: atributo tuple que representará a matriz contendo as distâncias (em min) diretas entre estações
- frontier: atributo list que representa a fronteira atual de estados
- frontGen: atributo int com o número da geração atual da fronteira
- ndNames: atributo list com a lista dos nomes em str das estações
- current_gen: atributo list com a lista de novos estados (só é usado no print)
dicts.py é um arquivo que possui:
- dist_direct: matriz com as distâncias diretas (em min) entre estações
- dist_real: matriz com as distâncias reais (em min) entre estações
- lines: dict que conecta as estações e suas linhas
teste.py é um arquivo que é essencialmente a mesma coisa que astar.py, mas serve para fazer os testes de forma mais rápida
mapa.png é uma imagem do mapa recebido para o exercício