Zoek probleem - Search problem
In computationele complexiteitstheorie en berekenbaarheidstheorie , een zoekprobleem is een soort computationele problemen weergegeven door een binaire relatie . Als R een binaire relatie dat gebied ( R ) ⊆ Γ + en T is een Turing machine dan T berekent R als:
- Indien x is zodanig dat er een y zodanig dat R ( x , y ) dan T aanvaardt x met uitvoer z zodat R ( x , z ) (er kunnen meerdere y en T hoeven slechts één voorbeeld daarvan)
- Indien x is zodanig dat er geen y zodanig dat R ( x , y ) dan T verwerpt x
Intuïtief het probleem bestaat uit het vinden structuur "y" in object "x". Een algoritme wordt gezegd dat het probleem als ten minste één overeenkomstig structuur bestaat, en éénmaal voor deze structuur wordt gemaakt uitgang; anders het algoritme stopt met een geschikt vermogen ( "Object niet gevonden" of een boodschap dergelijke).
Dergelijke problemen treden frequent in grafentheorie , bijvoorbeeld, waar het zoeken grafieken voor structuren zoals bepaald matching , cliques , onafhankelijke set , etc. zijn onderwerpen van belang.
Merk op dat de grafiek van een deelfunctie een binaire relatie, en als T berekent een deelfunctie is er hoogstens één mogelijke vermogen.
Een relatie R kan worden gezien als een zoekprobleem, en Turingmachine wat overeenkomt R wordt ook gezegd te lossen. Elke zoektocht probleem heeft een overeenkomstige beslissing probleem , namelijk
Deze definitie kan worden gegeneraliseerd naar n -ary betrekkingen met elke geschikte codering waardoor meerdere snaren tot een streng worden gecomprimeerd (bijvoorbeeld door ze achtereenvolgens opsomming een scheidingsteken).
Definitie
Een zoektocht probleem wordt bepaald door:
- Een set van toestanden
- Een start staat
- Een doel state of doel-test
- een logische functie die ons vertelt of een bepaalde toestand is een doel staat
- Een opvolger functie
- een afbeelding van een staat om een reeks van nieuwe staten
Doelstelling
Zoek een oplossing wanneer een algoritme om een probleem op te lossen, maar slechts een specificatie van wat een oplossing eruit ziet niet gegeven.
zoekmethode
- Generic zoekalgoritme: gegeven een grafiek, start nodes, en het doel nodes, stapsgewijs paden vanaf het begin nodes te verkennen.
- Handhaven van een grens van paden vanaf het begin knooppunt die zijn onderzocht.
- Zoals search opbrengst, de grens expandeert in het onbekende knooppunten tot een doelknooppunt wordt aangetroffen.
- De manier waarop de grens wordt uitgebreid bepaalt de zoekstrategie.
Input: a graph,
a set of start nodes,
Boolean procedure goal(n) that tests if n is a goal node.
frontier := {s : s is a start node};
while frontier is not empty:
select and remove path <n0, ..., nk> from frontier;
if goal(nk)
return <n0, ..., nk>;
for every neighbor n of nk
add <n0, ..., nk, n> to frontier;
end while
Zie ook
- Grenzeloze zoekoperator
- besluit probleem
- optimalisatie probleem
- Tellen probleem (complexiteit)
- functie probleem
- Zoeken spellen
Referenties
Dit artikel bevat materiaal van search probleem op PlanetMath , dat is gelicenseerd onder de Creative Commons Attribution / Share-Alike License .