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)
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)