<prompt> Unda utekelezaji wa Python wa algoriti ya utafutaji ya A ili kupata njia fupi kati ya pointi mbili kwenye gridi ya taifa iliyo na vizuizi.  <response>: Hapa kuna utekelezaji wa Python wa algorithm ya utaftaji ya A kupata njia fupi kati ya alama mbili kwenye gridi ya taifa iliyo na vizuizi: chatukuagiza rundoGridi ya darasa: def __init__binafsi, upana, urefu: self.upana upana ubinafsi.urefu urefu self.vikwazo set def in_boundsbinafsi, pos: x, y pos rudisha 0 x self.width na 0 y self.height def inayoweza kupita binafsi, pos: kurudi pos si katika binafsi.vikwazo def majiranibinafsi, pos: x, y pos matokeo x dx, y dy kwa dx, dy katika -1, 0, 1, 0, 0, -1, 0, 1 matokeo kichujioself.in_bounds, matokeo matokeo kichujioself.passable, matokeo kurudisha matokeo def gharama binafsi, sasa, ijayo: kurudi 1def heuristica,b: shoka, ay a bx, kwa b rudisha absshoka - bx absay - bydef astar_searchgridi, anza, lengo: mpaka heapq.heappushmpaka, 0, anza came_from start: None cost_so_far kuanza: 0 wakati mpaka: _, sasa heapq.heappopmpaka ikiwa sasa lengo: mapumziko kwa inayofuata katika grid.neighborssasa: new_cost cost_so_farcurrent grid.costcurrent, next ikiwa ijayo si kwa cost_so_far au new_cost cost_so_farnext: cost_so_farnext new_cost kipaumbele new_cost heuristic lengo, ijayo heapq.heappushmpaka, kipaumbele, kinachofuata came_fromnext sasa kurudi kulikuja_kutoka, gharama_hadi_mbalidef reconstruct_pathilikuja_kutoka, anza, lengo: njia lengo huku njia-1 ! kuanza: path.appendalikuja_kutoka-njia-1 njia.reverse njia ya kurudi Mfano wa matumizigridi Gridi 10, 10grid.vikwazo 3, 4, 3, 5, 3, 6, 3, 7, 3, 8kuanza 0, 0lengo 9, 9came_from, _ astar_searchgridi, anza, lengopath reconstruct_pathalikuja_kutoka, anza, lengochapa njiaMsimbo huu unafafanua darasa la Gridi ili kuwakilisha gridi yenye vizuizi. Kanuni ya utafutaji ya A inatekelezwa katika chaguo za kukokotoa astar_search, ambayo huchukua gridi ya taifa, nafasi ya kuanzia, na nafasi ya lengo kama ingizo.Chaguo za kukokotoa za reconstruct_path zinaweza kutumika kupata njia fupi zaidi kutoka kwa matokeo ya algoriti ya utafutaji ya A. Katika matumizi ya mfano mwishoni mwa msimbo, tunaunda gridi ya 10x10 na vikwazo vingine, pata njia fupi kati ya pointi mbili kwa kutumia utafutaji wa A , na uchapishe njia inayosababisha. 