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,tntnth(n)c(n,t)t

ntnh(n)minmSCS(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)nnh(n)minmSCS(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,...,n9n9h(n0)=9h(n0)=8h(ni)=1,1i<9h(n9)=0

  1. h(t)=0
  2. h(ni)=1h(ni)=(9i) , .i,1i<9
  3. Infine, .h(n0)=8h(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.