• Aucun résultat trouvé

Faculté des Arts et Sciences - Département d'Informatique et de Recherche opérationnelleTITRE DU COURS:

N/A
N/A
Protected

Academic year: 2022

Partager "Faculté des Arts et Sciences - Département d'Informatique et de Recherche opérationnelleTITRE DU COURS:"

Copied!
1
0
0

Texte intégral

(1)

Faculté des Arts et Sciences - Département d'Informatique et de Recherche opérationnelle TITRE DU COURS: Intelligence artificielle : Introduction

SIGLE: IFT 3330 PROFESSEUR: Jian-Yun Nie

EXAMEN: Intra A2005 DATE: 18 Oct. 2005

LIEU: 1355, AA HEURES: 17:30-19:30

Directives pédagogiques: Toute documentation est permise. Toute forme de plagiat est strictement interdite.

RÈGLEMENT SUR LE PLAGIAT

(extrait du règlement disciplinaire sur le plagiat ou la fraude de l'Université de Montréal) Constitue un plagiat:

1. faire exécuter son travail par un autre 2. utiliser, sans le mentionner, le travail d'autrui 3. échanger des informations lors d'un examen 4. falsifier de documents

Le plagiat est passible de sanctions allant jusqu'à l'exclusion du programme.

1. (10%) Parmi les problèmes suivants, quels sont ceux que vous pouvez qualifier de problème d’intelligence artificielle ? Expliquez brièvement pourquoi. Si un problème en est un d’intelligence artificielle, expliquez aussi s’il est réalisable actuellement.

a. Déterminer la configuration d’ordinateur appropriée pour un utilisateur qui voudraient faire fonctionner certaines applications et qui a un ordre de grandeur de budget.

b. Calculer le gain d’investissement d’un titre obtenu à la bourse de Toronto depuis 1 an.

c. Choisir le meilleur titre à investir à la bourse de Toronto.

d. Une assistance automatique pour le déboguage des programmes en Java.

e. Peindre des tableaux comme des artistes.

2. (5%) Exprimez les énoncés suivants en logique de prédicats : a. Tous les ordinateurs modernes sont rapides.

b. Il y a des ordinateurs lents.

3. (15%) Pouvez-vous prouver la conclusion « Il existe des ordinateurs qui ne sont pas modernes » en utilisant seulement la règle d’inférence Modus Ponens (sans utiliser d’autres règles)? Si oui, montrez votre preuve. Sinon, expliquez pourquoi, et montrez une autre procédure de preuve capable de prouver cette conclusion.

4. (10%) Pour les problèmes suivants, si on utilise une recherche dans l’espace d’états pour les traiter, quel chaînage (avant / arrière) est-t-il préférable pour chacun ? Expliquez brièvement.

a. Diagnostiquer une panne de voiture.

b. Prouver le lien de parenté entre deux personnes en sachant l’ancêtre en commun.

c. Prouver le lien de parenté entre deux personnes sans connaître l’ancêtre en commun.

d. Trouver le meilleur package pour des vacances en Europe.

e. Tenter d’identifier la source de la grippe aviaire.

5. (20%)

a. On vous demande d’implanter en Prolog un prédicat mot(Car, Mot) qui permet d’arranger les caractères de la liste Car en une autre liste Mot correspondant à un mot en français. Par exemple, avec un appel mot([d,e,o,r,r],A), A peut s’unifier successivement avec [o,r,d,r,e], [r,o,d,e,r], [d,o,r,e,r] (dans un ordre quelconque). On suppose qu’il existe à votre disposition un prédicat mot(Mot) qui permet de vérifier si une liste de caractères Mot est un mot en français (par exemple, mot([o,r,d,r,e])

réussira

).

(2)

b. Soit le programme suivant (où l’identification de chaque clause est donnée en commentaire) : a(X) :- X<0, !. /* a1 */ c(2). /* c1 */

a(X) :- b(X), !, c(Y), X<Y. /* a2 */ c(12). /* c2 */

a(X) :- \+ c(X). /* a3 */

b(X) :- X>10. /* b */

Simulez la trace de l’exécution avec les appels suivants. Vous devez donner pour chaque appel la séquence des clauses appelées (avec leurs identificateurs), ainsi qu’indiquer si chaque clause réussit ou échoue.

| ?- a(3).

| ?- a(-1).

| ?- a(14).

6. (10%) En utilisant l’algorithme A, peut-on réaliser les algorithmes de recherche en profondeur d’abord et en largeur d’abord ? Donnez votre définition de la fonction f respective.

7. (20%) Soit le problème de puzzle suivant : On a 7 cases alignées comme illustre la figure 1.

N N N B B B

Figure 1.

Nous avons 3 blocs blancs (B) et trois blocs noirs (N). Les règles de jeu sont comme suit : 1. Un bloc peut être déplacé dans la case vide adjacente, et ceci représente un coût de 1 ;

2. Un bloc peut sauter par-dessus de 1 ou 2 blocs pour aller dans la case vide. Le coût de ce saut est le nombre de blocs enjambés.

La configuration est celle montrée dans la figure 1. La configuration finale est celle avec 3 blocs blancs à gauche et 3 blocs noirs à droite. On veut faire cette transformation avec le moins de coût possible.

a. Pour ce problème, définissez la notion d’état.

b. Proposez un heuristique pour ce jeu (vous pouvez définir une fonction mathématique, ou la décrire en français). Expliquez si votre heuristique est admissible ? c. Dessinez les 4 premiers étapes d’exploration avec un algorithme A qui utilise votre fonction heuristique.

8. (10%) Soit un jeu à deux joueurs. Si on développe le jeu à 3 plis, on obtient l’arbre de la figure 2.1.

Figure 2.1. Figure 2.2.

a. Les nombres représentent la chance pour Max de gagner. En utilisant l’algorithme Minmax, quel chemin sera choisi ? Dessinez l’arbre avec le chemin indiqué.

b. Supposons maintenant qu’on a un arbre symétrique comme figure 2.2. En utilisant l’algorithme Alpha-Beta, quelles sont les branches qu’on peut couper ? (Dessinez l’arbre en marquant les branches coupées.)

Références

Documents relatifs

Malgré une présence des coopérants encore très importante dans certaines Facultés, comme c’est le cas à la Faculté des Lettres et Sciences humaines, les programmes

Cette année, l’événement est accueilli par la Maison pour Tous – Centre Social de Noisiel et le Pince Oreilles – réseau des musiques actuelles en Seine-et-Marne, partenaires

Ce séminaire de recherche doctorale a vocation à favoriser les échanges entre les doctorants autour de travaux en cours sur les arts dans ses diverses formes.. Chaque

Ce cours est la suite du cours ECN 1260 (Économétrie 1) et vise à fournir une introduction à l’économétrie. Les objectifs principaux du cours sont les suivants : 1) fournir une

Le bloc de cours, composante structurelle d’un segment d’un programme, est un. regroupement de cours en fonction de leur caractère obligatoire ou

Justice et règlements de conflits dans le gouvernement de Montréal à la fin du Régime français, MA, UQAM, 1995; « Le rituel de l'élection de tutelle et la représentation du

En tenant le modèle près de son original (la réalité), les mathématiciens de la première époque le complétèrent non pas de façon formelle-logique, avec les conséquences de ce

[r]