Ejemplo n.º 1
0
def astar_question(request):
    (G,A,H,goals)=astargraph(**processparams(request))
    names = []
    for i in range(len(A)):
        names.append(G.get_node(i).attr['label'].split("\n")[0])

    solution = astarsolver(A, H, goals, names)    

    G.layout(prog="dot")
    svgdata=G.draw(format='svg')

    q={}
    a={}
    q['text'] = (u"A* keresési algoritmussal találja meg a <i>start</i> pontból a <i>cél</i> "
        u"pontig vezető legolcsóbb utat. Az útköltségek az éleken, a heurisztika értékek a "
        u"körökben láthatók. A keresés előrehaladását Open listákkal adja meg táblázatosan. "
        u"Az Open listán minden csomópont mellé jegyezze fel annak (h, Σg, f) értékét. A pillanatnyi "
        u"legjobb csomópontot húzza alá!")
    q['score'] = 5
    q['extra'] = svgdata.decode("utf-8")

    a['text'] = q['text']
    a['score'] = q['score']
    a['extra'] = solution    

    return (q,a)
Ejemplo n.º 2
0
def minimax_question(request):
    

    (G, graph, depths, values, ismaxstarts) = minimaxgraph(**processparams(request))            
    G2 = minimaxsolver(G, graph, depths, values, ismaxstarts)    
    svgdata = G.draw(format='svg')
    svgdata2 = G2.draw(format='svg')

    if ismaxstarts:
        rootplayer = "MAX"
    else:
        rootplayer = "MIN"

    q = {}
    a = {}

    q['text'] = (u"Az ábrán látható egy játékfa. A feladat (a) megadni a %s játékoshoz tartozó gyökér minimax értékét "
        u"a hiányzó hasznosságok beírásával, (b) bejelölni az élek végén lévő kis kör besatírozásával "
        u"az alfa és a béta értékekre vonatkozó érveléssel együtt, hogy mely ágakat "
        u"metszene el az alfa-béta metszés, ha a fa bejárása balról-jobbra történik.")%rootplayer

    q['score'] = 5
    q['extra'] = svgdata.decode("utf-8")

    a['text'] = q['text']
    a['score'] = q['score']
    a['extra'] = svgdata2.decode("utf-8")

    return (q,a)