Examen d’Intelligence Artificielle - NFP106 05/02/2021 Durée : 3h Exercice 1 : Jeux (3 points) Etant donné l’arbre de recherche minimax suivant : Supposons que l’algorithme d’élagage alpha-bêta explore l’espace des états de gauche vers la droite. Indiquez l’effet d’élagage alpha-bêta sur l’arbre de recherche (quelles sont les branches coupées). Il ne faut pas oublier d’indiquer à côté de chaque état exploré : α, β et v. Chaque branche coupée doit être justifiée. Exercice 2 : CSP (3 points) 1. Dans le graphe de contraintes suivant, les contraintes sont identifiées sur les liens et le domaine de chacune des variables est indiqué entre accolades. Trouver une solution à ce problème en utilisant l’algorithme de recherche forward-checking. Utilisez l’heuristique MRV pour choisir les variables. S’il y a des égalités entre les variables, choisissez-les dans l’ordre alphabétique inverse. Les valeurs sont essayées en ordre croissant. 2. Dans le graphe suivant, les contraintes sont identifiées sur les liens et le domaine de chacune des variables est indiqué entre accolades. Donner le résultat de l’algorithme AC-3 sur ce problème. Il faut identifier tous les arcs qui sont vérifiés et montrer les changements aux domaines de valeur des variables à chaque étape. 1 Exercice 3 : A∗ (2 points) Soit l’espace d’états illustré à la figure ci-dessous (les liens indiqués entre états sont bidirectionnels), où le coût pour passer d’un état à un autre est indiqué. On suppose que A est l’état initial et que I est l’état but (final). La fonction heuristique h qui estime le coût pour atteindre l’état but depuis chaque état est donnée par le tableau suivant : Nœud A B C D E F G H I h 10 10 10 5 5 3 3 3 0 Appliquez la recherche A* (exploration d’arbre) en utilisant h. Donnez la suite des nœuds développés. Lorsque vous avez le choix entre plusieurs nœuds de même poids (ici même f (n)), utilisez l’ordre alphabétique. Exercice 4 : Arbres de décision (3 points) Soit un produit qui comprend les trois attributs A, B et C, dont les valeurs possibles sont faible et élevé. Selon les valeurs de ces attributs, on rejette ou non le produit. Le tableau suivant illustre un ensemble de données recueillies : Instance A B C Rejeter le produit ? 1 élevé faible élevé non 2 élevé élevé élevé oui 3 faible élevé élevé oui 4 faible élevé faible oui 5 élevé faible faible non 6 faible faible faible non 7 élevé élevé faible non 8 élevé élevé élevé oui 9 élevé faible faible oui 10 faible faible faible non Selon la technique du gain en entropie pour construire un arbre de décision, c’est l’attribut B qui sera testé à la racine de l’arbre. 1. Quel sera alors l’attribut (le deuxième attribut) qui sera testé lorsque la valeur de l’attribut B est élevé (lorsque B=élevé) ? 2. Quel sera alors l’attribut (le deuxième attribut) qui sera testé lorsque la valeur de l’attribut B est faible (lorsque B=faible) ? 3. Donner le meilleur arbre de décision à partir de ces données. Que remarquez-vous ? Fournissez les calculs nécessaires pour justifier votre réponse. Pour vos calculs, vous pouvez utiliser les valeurs suivantes : x 1/2 1/3 2/3 1/4 3/4 1/5 2/5 3/5 4/5 log2 (x) -1 -1,58 -0.58 -2 -0.42 -2.32 -1.32 -0.74 -0.32 2 Exercice 5 : Algorithme de résolution (2 points) Soit la base de connaissance (BC) suivante : 1. 2. 3. 4. 5. s ⇒ ¬v ¬b ⇒ m ∨ v b⇒g ¬b s Utiliser la méthode de résolution pour prouver (ou infirmer) que BC |= m Exercice 6 : Questions de cours (7 points) 1. Soit l’espace d’états illustré à la figure ci-dessous. On suppose que A est l’état initial et que F est l’état final. Deux heuristiques h1 et h2 sont données comme suit : Nœud A B h1 8 1 h2 10 1 C 6 6 D E 2 7 4 7 F 0 0 (a) Est-ce que h1 est admissible ? Justifiez votre réponse. (b) L’heuristique h1 est-elle monotone (consistante) ? Justifiez votre réponse. (c) L’utilisation de A* avec l’heuristique h2 nous grantit-il une solution optimale ? Justifiez votre réponse. 2. Quel problème de l’algorithme A* tente-t-on de résoudre avec les variantes IDA*, RBFS et SMA* ? 3. Montrez comment un recuit simulé pourrait être équivalent à une recherche aléatoire. Justifiez en détail votre réponse. 4. Donnez deux caractéristiques importantes qui distinguent les méthodes de recherche locale des méthodes de recherche arborescente. 5. Décrivez brièvement, dans vos propres mots, la différence entre AC-3 et forward-checking. 6. On veut résoudre un problème de prédiction à l’aide d’un perceptron multicouches. Pour ce problème, on essaie de prédire une valeur en utilisant les 5 valeurs précédentes. Le réseau de neurones utilisé possède une couche cachée de 2 neurones. Donner une représentation graphique du réseau. Quel est le nombre de poids (seuil + poids) de ce réseau ? Justifiez votre réponse 7. La solution d’un perceptron multicouches obtenue en utilisant l’algorithme de la rétro-propagation du gradient est-elle unique ? Justifiez votre réponse. 8. Pour l’énoncé qui suit, dites s’il est vrai ou faux, en justifiant votre réponse. On pourrait utiliser l’algorithme de recuit simulé pour résoudre un problème de satisfaction de contraintes. 9. Dans les algorithmes génétiques, expliquez les effets du taux (probabilité) de mutation sur la population. Que se passe-t-il s’il est trop grand ou trop faible ? 3