Ifi6057w6extra
Täienda my_search funktsiooni nii, et see jätaks meelde juba nähtud seisud. Neid fringe-sse enam ei panda.
Pseudokood:
function Tree-Search(problem, fringe) return a solution, or failure
fringe <- Insert(Make-Node(Initial-State[problem]), fringe)
#kusagil alguses lisa:
# states_seen on tyhi hulk, Pythonis set()
loop do
if fringe is empty then return failure
node <- Remove-Front(fringe)
# uus node, jätame meelde
#states_seen lisame node
if Goal-Test(problem, State(node)) then return node
# fringesse lisa AINULT need lapsed, mis EI OLE
# states_seen hulgas
fringe <- InsertAll(Expand(node, problem), fringe)
Kahe node võrdlemiseks võrdle node.state - sid