Vous êtes sur la page 1sur 3

Université Hassiba Ben Bouali de Chlef

Faculté des Sciences Exactes et Informatique


Département d’Informatique
Niveau : L3 Année universitaire 2021/2022

Module : Intelligence Artificielle


Corrigé de l’examen final

Exercice 1: (6 pts)
1. L’algorithme A*

Open Closed

(A,10,vide) Ø
(F,9,A) (B,14,A) (A,10,vide)

(G,9,F) (H,13,F) (B,14,A) (A,10,vide) (F,9,A)


(I,8,G) (H,13,F) (B,14,A) (A,10,vide) (F,9,A) (G,9,F)
(J,10,I) (H,12,I) (B,14,A) (E,15,I) (A,10,vide) (F,9,A) (G,9,F) (I,8,G)
- (A,10,vide) (F,9,A) (G,9,F) (I,8,G) (J,10,I)

2. Le plus court chemin

A → F → G → I→J

3. h admissible ?
Pour chaque sommet n, on a h(n) <h*(n) donc h est admissible

Exercice 2: (5 pts)
1. Résolution du problème: par chaînage avant et chaînage arrière :

a) Chaînage avant :

Base de fait : B,C

En appliquant R4, on a B,C et X

En appliquant R8, on a B,C, X et A

En appliquant R6, on a B,C, X, A et H

b) Chaînage arrière :

Seule la règle R6 possède H comme conséquence, donc: Nouveaux buts : X, A


La règle R4 possède X comme conséquence, donc: Nouveaux buts : A, B sachant que B est
un fait, donc : Nouveau but : A
Trois règles possèdent A comme conséquence, ce qui détermine trois possibilités.
 Application de R2 Nouveaux buts : G, D ; comme G n’est jamais conséquence donc :
Echec.

1/2
 Application de R3 Nouveaux buts : C, F ; C est un fait, donc un nouveau but : F
 Application de R1 Nouveaux buts : B, D, E ; B est un fait, donc de nouveaux
buts : D, E
 Application de R7 Nouveaux buts : C, E ; C est un fait, donc un nouveau but : E
 Application de R5 Nouveau but : D
 Application de R7 Nouveau but : C ; C est un fait, donc Succès.

2. Le chaînage en avant est connu sous le nom de technique axée sur les données, car nous
atteignons l’objectif en utilisant les données disponibles alors que le chaînage en arrière est
connu sous le nom de technique axée sur les objectifs car nous partons de l’objectif et
atteignons l’état initial afin d’extraire les faits.

Exercice 3: (5 pts)
L’ensemble de variables du problème(X) :

Les variables associés au Sudoku correspondent aux cases de la grille. Donc :

X vaut :{
; ; ... ;
; ; ... ;
. ; . ; ... ; .
; ; ... ; }

Le domaine D du problème de Sudoko :

D = {1, 2, 3, 4, 5, 6, 7, 8, 9}.

Les contraintes C :
On cherche que toutes les variables présentes sur une même ligne soient différentes, que
toutes les variables présentes sur une même colonne soit différentes, et enfin que toutes les
variables présentes dans un même bloc soit différentes, et ça pour toutes les lignes, colonnes
et blocs de la grille.
On peut modéliser cette contrainte de la façon suivante :

Pour les lignes:


allDifferent( , , ... , ),
allDifferent( ; ; ... ; ),
...
allDifferent( ; ; ... ; )

Pour les colonnes:


allDifferent( , , ),
allDifferent( , , ),
...
allDifferent( , , )

Pour les blocs:

allDifferent( , , , , , , , , ),

allDifferent( , , , , , , , , ),

...
1/2
allDifferent( , , , , , , , , ),

Exercice 4: (4 pts)
a) « occurrence » qui permet de calculer le nombre d’occurrences N d’un nombre X dans
une liste L :

occurrence([],X,0).
([X|T],X,Y):- occurrence(T,X,Z), Y is Z+1.
occurrence([X1|T],X,Z):- X1\=X,occurrence(T,X,Z).

b) ajoute1(L,L1) où L est une liste de nombres, et L1 une liste identique où tous les
nombres sont augmentés de 1.

Ajout1([X],[X1]) :- X1 is X+1.
Ajout1([Y|L],[Y1|L1]) :- Y1 is Y+1, ajout1(L,L1).

Bon courage

1/2

Vous aimerez peut-être aussi