99 lines
2.1 KiB
Plaintext
99 lines
2.1 KiB
Plaintext
|
|
||
|
|
||
|
class PlanRoute
|
||
|
|
||
|
actions(state) przyjmuje mape? state
|
||
|
zwraca możliwe akcje agenta
|
||
|
|
||
|
result(state, action) mapa? state, action(string)
|
||
|
|
||
|
tworzy listę możliwych ruchów w liście proposed_loc
|
||
|
sprawdza, czy współrzędne w proposed_loc znajdują się w zbiorze allowed
|
||
|
|
||
|
ustawia kierunek agenta oraz nowe położenie na mapie
|
||
|
zwraca state
|
||
|
|
||
|
goal_test(state) przyjmuje state
|
||
|
sprawdza czy stan docelowy zgadza się ze stanem obecnym
|
||
|
zwraca wartość True lub False
|
||
|
|
||
|
path_cost(c, state1, action, state2)
|
||
|
ocenia nowy koszt po zmianie stanu
|
||
|
zwraca nowy koszt
|
||
|
|
||
|
def h(node) funkcja heurystyki, przyjmuje objekt klasy node
|
||
|
|
||
|
przypisuje zmiennym x i y wartość współrzędnych
|
||
|
za pomocą funkcji get_location()
|
||
|
|
||
|
mamy xy dla stanu obecnego
|
||
|
mamy xy dla stanu docelowego
|
||
|
|
||
|
zwraca ogległość
|
||
|
|
||
|
|
||
|
class Node
|
||
|
|
||
|
expand(problem) przyjmuje klasę problem
|
||
|
|
||
|
tworzy węzły potomne na podstawie możliwych akcji
|
||
|
|
||
|
zwraca listę węzłów potomnych
|
||
|
|
||
|
child_node(problem, action) przyjmuje problem oraz akcję
|
||
|
tworzy węzeł potomny na podstawie otzymanej akcji
|
||
|
|
||
|
zwraca węzeł potomny
|
||
|
|
||
|
|
||
|
class AgentPosition
|
||
|
|
||
|
get_location
|
||
|
zwraca dwie zmienne: X i Y
|
||
|
|
||
|
set_location
|
||
|
ustawia zmienne: X i Y
|
||
|
|
||
|
get_orientation:
|
||
|
zwraca kierunek
|
||
|
|
||
|
set_orientation:
|
||
|
ustawia kierunek
|
||
|
|
||
|
|
||
|
|
||
|
class SweeperAgent - najbardziej tajemnicza klasa, bo do końca nie wiadomo co ma robić
|
||
|
|
||
|
where_am_i() - niby ma zwracać położenie agenta na planszy
|
||
|
|
||
|
set_allowed(allowed_points)
|
||
|
ustawia listę dostępnych miejsc na mapie
|
||
|
|
||
|
set_puddles(puddle_points)
|
||
|
ustawia listę obecnych kałuż
|
||
|
|
||
|
set_goal(goal)
|
||
|
ustawia punkt docelowy
|
||
|
|
||
|
set_initial(initial)
|
||
|
ustawia punkt początkowy
|
||
|
|
||
|
set_orientation()
|
||
|
ustawia kierunek
|
||
|
|
||
|
plan_route() - czarna magia A* (∩ ͝ ° ͜ʖ͡° )⊃━☆゚
|
||
|
|
||
|
load_map() - ładowanie mapy
|
||
|
|
||
|
astar_search() a*
|
||
|
|
||
|
|
||
|
class PriorityQueue - jakaś kolejka priorytetowa
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|