utworzony plik Graphsearch
This commit is contained in:
parent
1dc9e45f19
commit
6c08a81a52
45
Graphsearch.py
Normal file
45
Graphsearch.py
Normal file
@ -0,0 +1,45 @@
|
||||
from queue import PriorityQueue
|
||||
|
||||
# fringe - kolejka priorytetowa przechowująca wierzchołki do odwiedzenia
|
||||
fringe = PriorityQueue() # put or get
|
||||
|
||||
# explored - lista odwiedzonych stanów
|
||||
explored = []
|
||||
|
||||
# istate - stan początkowy
|
||||
|
||||
|
||||
# succ - funkcja następnika
|
||||
def succ():
|
||||
pass
|
||||
|
||||
|
||||
# goaltest - test spełnienia celu
|
||||
def goaltest():
|
||||
pass
|
||||
|
||||
|
||||
# f - funkcja wyznaczająca priorytet następników
|
||||
def f():
|
||||
pass
|
||||
|
||||
|
||||
def graphsearch(fringe, explored, istate, succ, goaltest, f):
|
||||
# umieść new node(istate) na fringe
|
||||
# loop
|
||||
# if fringe jest pusta
|
||||
# return false
|
||||
# elem = wybierz element z fringe
|
||||
# if goal_test(elem.state)
|
||||
# return ciąg akcji zbudowany z wykorzystaniem pól parent i action
|
||||
# umieść elem na liście explored
|
||||
# for (akcja, stan) in succ(elem.state)
|
||||
# x = new node(stan)
|
||||
# x.parent = elem
|
||||
# x.action = akcja
|
||||
# p = f(x)
|
||||
# if stan nie należy do fringe i nie należy do explored
|
||||
# umieść x na fringe zgodnie z priorytetem p
|
||||
# else if stan należy do fringe i ma na nim priorytet r > p
|
||||
# zastąp węzeł o priorytecie r węzłem o priorytecie p
|
||||
pass
|
Loading…
Reference in New Issue
Block a user