In che modo la coerenza implica che anche un'euristica è ammissibile?


13

Una funzione euristica h(n) è ...

  • Coerente se il costo stimato dal nodo n all'obiettivo non è maggiore del costo del passaggio per il suo successore n′ più il costo stimato dal successore all'obiettivo.
  • È ammissibile se h(n) non sopravvaluta mai il costo reale per lo stato obiettivo.

Il libro di testo per il mio corso di Intelligenza Artificiale afferma che la coerenza è più forte della ricevibilità ma non lo dimostra, e ho difficoltà a trovare una spiegazione matematica.


Risposte:


12

Per provare l'affermazione nella tua domanda, cerchiamo di dimostrare che la coerenza implica ammissibilità mentre il contrario non è necessariamente vero. Ciò renderebbe la coerenza una condizione più forte di quest'ultima.

La coerenza implica ammissibilità:

h(t)=0hth(t)=0

La prova procede per induzione:

tntnh(n)≤c(n,t)+h(t)=c(n,t)+0=c(n,t)h

⟨n,t⟩ntnth(n)≤c(n,t)t

ntnh∗(n)minm∈SCS(n){c(n,m)+h∗(m)}SCS(n)nh(n)≤c(n,n′)+h(n′)h(n′)≤h∗(n′)h(n)≤c(n,n′)+h∗(n′)n′nh(n)≤minm∈SCS(n){c(n,m)+h∗(m)}=h∗(n) , in modo che .h(n)≤h∗(n)

La ricevibilità non implica necessariamente coerenza:

Per questo è sufficiente un semplice esempio. Considera un grafico che consiste in un singolo percorso con 10 nodi: , dove l'obiettivo è . Supponiamo WLOG che tutti i costi di bordo sono uguali a 1. Ovviamente , e facciamo , e . Chiaramente, la funzione euristica è ammissibile :⟨n0,n1,n2,...,n9⟩n9h∗(n0)=9h(n0)=8h(ni)=1,1≤i<9h(n9)=0

  1. h(t)=0
  2. h(ni)=1≤h∗(ni)=(9−i) , .∀i,1≤i<9
  3. Infine, .h(n0)=8≤h∗(n0)=9

Tuttavia, non è coerente e .h(n)h(n0)=8>c(n0,n1)+h(n1)=1+1=2

Spero che sia di aiuto,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.