Is teicníocht chumhachtach é an t-algartam Heoristic Search i ríomhchlárú PHP a úsáidtear chun réitigh a aimsiú i spásanna cuardaigh casta agus móra trí chinntí eolasacha a dhéanamh bunaithe ar heuristics nó ar mhodhanna garbha. Tá an t-algartam seo an-úsáideach nuair a bhíonn cuardach uileghabhálach praiticiúil, agus nuair a bhíonn gá le réiteach éifeachtach ach beagnach optamach.
Conas a Oibríonn Algartam Cuardaigh Heoraíoch
Feidhmíonn an t-algartam Heoristic Search ag baint úsáide as heuristics, arb iad rialacha ordóg nó straitéisí a threoraíonn an cuardach i dtreo cosáin a d'fhéadfadh a bheith tuar dóchais inti. Baineann sé leis na céimeanna seo a leanas:
- Meastóireacht Heorastúil: Sanntar luach heorastúil do gach réiteach féideartha a dhéanann meastachán ar a inmhianaithe atá sé. Treoraíonn an luach seo an t-algartam chun na réitigh is bisiúla a roghnú.
- Straitéis Chuardaigh: Úsáideann an t-algartam straitéis chuardaigh, mar an Cuardach is Fearr den Chéad Uair nó an Cuardach A*, chun an spás cuardaigh a iniúchadh trí réitigh a bhfuil luachanna heorastúla níos airde acu a chur in ord tosaíochta.
- Gnóthachtáil Sprioc: Leanann an algartam dá chuardach go dtí go bhfaighidh sé réiteach a chomhlíonann na critéir atá ag teastáil nó go dtí go gcomhlíontar coinníoll foirceanta.
Buntáistí agus Míbhuntáistí Algartam Cuardaigh Heuristic
Buntáistí:
- Éifeachtach le haghaidh Spásanna Móra: Tá cuardach heoraíoch éifeachtach i gcásanna nach féidir cuardach iomlán a dhéanamh ar an spás iomlán mar gheall ar a chastacht ríomhaireachtúil.
- Réitigh Near-Optimal: Tá sé mar aidhm ag an algartam réitigh a aimsiú atá gar do bharrmhaith, fiú i spásanna fadhbanna casta agus nach dtuigeann go leor.
Míbhuntáistí:
- Cáilíocht Réitigh: Seans nach ráthóidh modhanna heorastúla an réiteach is fearr, mar go bhfuil siad bunaithe ar mheastacháin agus ar thoimhdí.
- Dearadh Heorastúil: Is féidir le heuristics éifeachtach a chruthú a bheith dúshlánach agus b’fhéidir go mbeadh gá le heolas fearainn.
Sampla agus Míniú
Smaoinigh ar fheidhmchlár nascleanúna a aimsíonn an bealach is giorra idir dhá shuíomh ar léarscáil. Is féidir an t-algartam A*, cineál cuardaigh heorastúil, a úsáid chun é seo a bhaint amach go héifeachtach.
class Node {
public $location;
public $heuristicValue; // Estimated cost from current node to goal
public function __construct($location, $heuristicValue) {
$this->location = $location;
$this->heuristicValue = $heuristicValue;
}
}
function AStarSearch($start, $goal) {
$openSet = new SplPriorityQueue();
$openSet->insert(new Node($start, heuristic($start, $goal)), 0);
while(!$openSet->isEmpty()) {
$currentNode = $openSet->extract();
if($currentNode->location === $goal) {
return "Path found from $start to $goal.";
}
// Expand current node's neighbors and calculate heuristic values
// Add neighbors to openSet based on their heuristic values
}
return "Path not found from $start to $goal.";
}
function heuristic($node, $goal) {
// Calculate heuristic value(e.g., Euclidean distance)
}
$startLocation = "A";
$goalLocation = "F";
$result = AStarSearch($startLocation, $goalLocation);
echo $result;
Sa sampla seo, úsáideann an algartam A* feidhm heorastúil chun an fad ón suíomh reatha go dtí an suíomh sprice a mheas. Scrúdaíonn an algartam bealaí féideartha go héifeachtach trí bhreithniú a dhéanamh ar an gcostas chun an suíomh reatha a bhaint amach agus ar an gcostas measta don sprioc. Treoraíonn úsáid heuristics an t-algartam i dtreo na gcosán is bisiúla, agus mar thoradh air sin tá réiteach éifeachtach ach beagnach optamach.
Cé go léiríonn an sampla seo coincheap an chuardaigh heorastúil i gcomhthéacs phleanáil bealaigh, is féidir algartaim chuardaigh heorastúla a chur i bhfeidhm ar éagsúlachtaí



