Is modh cuardaigh i ríomhchlárú é an t-algartam Cuardaigh Státbhunaithe Java a bhaineann le cruthú agus trasnú trí staideanna féideartha faidhbe. San algartam seo, léirítear gach staid féideartha d'fhadhb mar nóid i ngraf nó i spás stáit.
Conas a Oibríonn Algartam Cuardaigh Státbhunaithe
Tosaíonn an t-algartam ó staid tosaigh agus úsáideann sé claochluithe chun staid leanaí a ghiniúint. Éiríonn gach stát nuaghinte ina nód sa ghraf nó sa spás stáit. Trasnaíonn an t-algartam trí na stáit seo, ag seiceáil an bhfuil an spriocstát ina measc. Má aimsítear é, cuirtear deireadh leis an algartam; seachas sin, leanann sé ar aghaidh ag trasnú trí stáit leanaí eile.
Buntáistí agus Míbhuntáistí Algartam Cuardaigh Státbhunaithe
Buntáistí:
- Uileghabhálach: Tá an cumas ag an algartam gach staid féideartha den fhadhb a chlúdach.
- Versatile: Is féidir é a chur i bhfeidhm ar chineálacha éagsúla fadhbanna.
Míbhuntáistí:
- Féidearthacht athrá: I gcásanna áirithe, d'fhéadfadh an t-algartam trasnú stáit áirithe a dhéanamh arís.
Sampla agus Míniú
Sampla léiritheach den Algartam Cuardaigh Státbhunaithe is ea cosán a aimsiú ó phointe tosaigh go ceann scríbe ar léarscáil. Feicfimid conas a oibríonn an algartam seo:
import java.util.*;
public class StateSearchExample {
static boolean isGoalState(State state, State goalState) {
return state.equals(goalState);
}
static void stateSearch(State initialState, State goalState) {
Queue<State> queue = new LinkedList<>();
Set<State> visited = new HashSet<>();
queue.add(initialState);
visited.add(initialState);
while(!queue.isEmpty()) {
State currentState = queue.poll();
if(isGoalState(currentState, goalState)) {
System.out.println("Found goal state: " + currentState);
return;
}
List<State> nextStates = currentState.generateNextStates();
for(State nextState: nextStates) {
if(!visited.contains(nextState)) {
queue.add(nextState);
visited.add(nextState);
}
}
}
}
}
Sa sampla thuas, úsáidimid an Algartam Cuardaigh Státbhunaithe chun cosán a aimsiú ó staid tosaigh go staid sprice ar léarscáil. Gintear stáit leanaí trí ghníomhartha is féidir a dhéanamh ón staid reatha. Is é an toradh atá air ná go bhfaighidh an algartam cosán ón stát tosaigh go dtí an stát sprioc.