Comment la cohérence implique-t-elle qu'une heuristique est également admissible?

13

Une fonction heuristique h(n) est ...

  • Cohérent si le coût estimé du nœud n à l'objectif n'est pas supérieur au coût de l'étape pour son successeur n plus le coût estimé du successeur à l'objectif.
  • Admissible si h(n) ne surestime jamais le véritable coût pour l'état de l'objectif.

Le manuel de mon cours sur l'intelligence artificielle indique que la cohérence est plus forte que l'admissibilité mais ne le prouve pas, et j'ai du mal à trouver une explication mathématique.

user58348
la source

Réponses:

12

Pour prouver l'énoncé de votre question, prouvons que la cohérence implique l' admissibilité alors que l'inverse n'est pas nécessairement vrai. Cela rendrait la cohérence une condition plus solide que celle-ci.

La cohérence implique l'admissibilité:

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

La preuve procède par induction:

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) , de sorte que .h(n)h(n)

La recevabilité n'implique pas nécessairement la cohérence:

Pour cela, un simple exemple suffit. Considérons un graphique qui se compose d'un seul chemin à 10 nœuds: , où l'objectif est . Supposons wlog que tous les coûts de bord sont égaux à 1. Évidemment , et faisons , et . Clairement, la fonction heuristique est inadmissible :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. Enfin, .h(n0)=8h(n0)=9

Cependant, n'est pas cohérent et .h(n)h(n0)=8>c(n0,n1)+h(n1)=1+1=2

J'espère que cela t'aides,

Carlos Linares López
la source