Ifi6057w6extra: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
PriitJ (arutelu | kaastöö)
Uus lehekülg: 'Täienda <code>my_search</code> funktsiooni nii, et see jätaks meelde juba nähtud seisud. Neid <code>fringe</code>-sse enam ei panda.'
 
PriitJ (arutelu | kaastöö)
Resümee puudub
 
(ei näidata sama kasutaja 3 vahepealset redaktsiooni)
1. rida: 1. rida:
Täienda <code>my_search</code> funktsiooni nii, et see jätaks meelde juba nähtud seisud. Neid <code>fringe</code>-sse enam ei panda.
Täienda <code>my_search</code> funktsiooni nii, et see jätaks meelde juba nähtud seisud. Neid <code>fringe</code>-sse enam ei panda.
Pseudokood:
<pre>
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)
</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