Ifi6057w6extra: erinevus redaktsioonide vahel
Mine navigeerimisribale
Mine otsikasti
Resümee puudub |
Resümee puudub |
||
| (ei näidata sama kasutaja 2 vahepealset redaktsiooni) | |||
| 4. rida: | 4. rida: | ||
Pseudokood: | Pseudokood: | ||
<pre> | <pre> | ||
function Tree-Search() | function Tree-Search(problem, fringe) return a solution, or failure | ||
fringe <- Insert(Make-Node(Initial-State[problem]), fringe) | |||
#kusagil alguses lisa: | #kusagil alguses lisa: | ||
# states_seen on tyhi hulk, Pythonis set() | |||
loop do | |||
if fringe is empty then return failure | |||
node <- Remove-Front(fringe) | |||
#see tuleb meelde jätta | |||
# states_seen lisame node-ga seotud oleku | |||
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) | |||
</pre> | </pre> | ||
Mingi <code>search.Node</code> tüüpi asja oleku saab kätte nii: <code>node.state</code> | |||
Viimane redaktsioon: 12. oktoober 2017, kell 07:13
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)
#see tuleb meelde jätta
# states_seen lisame node-ga seotud oleku
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)
Mingi search.Node tüüpi asja oleku saab kätte nii: node.state