CMD + K

Introduksjon til kunstig intelligensInformert søk og heuristikkerBegreper & formler23
17 min lesing

Informert søk og heuristikker

En heuristikk anslår hvor langt det er igjen til målet, slik at søket kan prioritere de lovende tilstandene. Spor grådig best-først-søk og A*, avgjør om en heuristikk er admissibel eller konsistent, og se hvorfor det bestemmer om A* finner den billigste løsningen. Til slutt lager du heuristikker fra relakserte problemer og møter minnebegrensede varianter som IDA*.

Læringsmål
  • 01Spor grådig best-først-søk og A* som grafsøk, og oppgi ekspansjonsrekkefølge, funnet sti og stikostnad
  • 02Skriv frontier som C(8=1+2+5) med , og bruk tie-break, måltest ved uttak og oppdatering av frontier riktig
  • 03Avgjør om en heuristikk er admissibel med en -tabell, og om den er konsistent kant for kant i begge retninger
  • 04Forklar hvorfor A* er optimal med admissibel , og hvorfor lukket mengde uten gjenåpning krever konsistent
  • 05Regn ut hvilke verdier én ukjent -verdi kan ha for at heuristikken skal være konsistent
  • 06Konstruer admissible heuristikker ved relaksering, og sammenlign dem med dominans, maksimum og effektiv forgreningsfaktor
  • 07Sammenlign strålesøk, IDA*, RBFS, SMA* og vektet A* når det gjelder minne, tid og garantier
0 av 18 aktiviteter
Kjerneidé

Uinformert søk leter like grundig i alle retninger. En heuristikk er et billig anslag på hvor langt det er igjen, og den lar søket prioritere noder som ser lovende ut. Tenk på å gå i en ukjent by med kirketårnet som eneste landemerke: du vet ikke hvilke gater som fører fram, men du vet omtrent hvor tårnet står. Grådig søk går rett mot tårnet uansett hvor lang veien har blitt, mens A* regner med både veien du har gått og avstanden som er igjen.

Steg 1 av 7

Heuristikker og grådig best-først-søk

Konsept

Uniform-kostnad-søket fra kapittel 2 tar ut noder i rekkefølge etter stikostnaden . Det finner den billigste stien, men det er blindt: en node rett bak start i feil retning får like mye oppmerksomhet som en node på vei mot målet. Informert søk (informed search) bruker kunnskap om problemet i form av en heuristikk (heuristic function) , et anslag på kostnaden for den billigste stien fra til et mål. På et kart kan være luftlinjen til målet, i et puslespill antall brikker som står feil. Vanligvis krever vi to ting: , og i et mål.

Den enkleste bruken er grådig best-først-søk (greedy best-first search). Frontier er en prioritetskø ordnet på alene, så søket tar alltid ut noden som ser nærmest målet ut, og bryr seg ikke om hva det har kostet å komme dit. Ellers er det som uniform-kostnad-søk: barna genereres, nådd-mengden holder styr på tilstandene som er sett, og måltesten skjer når en node tas ut.

Interaktiv figur

I turområdet under ligger utsiktspunktet C nær toppen G i luftlinje, så er lav der. Stien derfra går likevel i lange sløyfer opp den bratte lia.

Prøv: trykk Neste trinn til G tas ut og noter kostnaden, bytt så til UCS og sammenlign både kostnaden og antall ekspansjoner.

Laster figur …
Figur 3.1Grådig søk i et turområde. Gangtid i minutter på stiene og h ved nodene; grafsøk, lik h avgjøres alfabetisk, og målet testes ved uttak.
Interaktiv
Konsept

Peker heuristikken rett vei, er grådig søk svært raskt. Men er bare et anslag, og algoritmen har ingen mekanisme for å oppdage at veien den har valgt, har blitt dyr. Hvor robust er det? Som trelikt søk på en graf med sykler kan det gå i ring: to naboer som begge ser nærmere målet ut enn resten av frontier, kan ekspanderes annenhver gang for alltid. Som grafsøk på en endelig graf er det fullstendig, fordi nådd-mengden hindrer at samme tilstand ekspanderes på nytt uten grunn. Kostnadsoptimalt er det aldri garantert, uansett variant og uansett hvor god er.

RegneeksempelSpor grådig best-først-søk fra S til G, og sammenlign kostnaden med den billigste stien.
Kanter (urettet, kostnad): S–A 4, S–B 3, A–C 2, A–G 7, B–C 2, C–G 3
Heuristikk h: S 6, A 2, B 5, C 3, G 0
Grafsøk, lik h avgjøres alfabetisk, måltest ved uttak.

Steg 1. Frontier = {S(6)}. Ta ut S og generer A(2) og B(5).

Steg 2. Ta ut A, som har lavest . Generer C(3) og G(0).

Steg 3. Ta ut G. Måltesten lykkes, og ekspansjonsrekkefølgen er S, A, (G).

Steg 4. Følg foreldrepekerne: S → A → G med kostnad .

Steg 5. Den billigste stien er S → B → C → G med kostnad . Grådig søk brukte bare to ekspansjoner, men betalte 3 ekstra fordi trakk det inn på den lange kanten A–G.

Øving 1 av 2

Hvilket utsagn om grådig best-først-søk på en endelig graf med positive kantkostnader stemmer?

Øving 2 av 2

Kjør grådig best-først-søk som grafsøk fra S til G. Lik avgjøres alfabetisk, og måltesten skjer når en node tas ut av frontier. Skriv alle nodene i den rekkefølgen de tas ut av frontier, fra startnoden til og med målnoden (uten parentes), adskilt med komma.

Kanter (urettet, kostnad): S–A 2, S–B 3, A–C 4, B–D 2, C–E 3, D–E 2, E–G 5
Heuristikk h: S 7, A 5, B 5, C 3, D 4, E 2, G 0

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…