Outils pour utilisateurs

Outils du site


ia:prolog:intro

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
ia:prolog:intro [2017/11/02 13:40] – [Problème] brunoia:prolog:intro [2018/11/09 11:50] (Version actuelle) – [Prise en main] bruno
Ligne 2: Ligne 2:
 ===== Supports de cour ===== ===== Supports de cour =====
 {{ :ia:prolog:cours1-ia-intro-.pdf |Introduction à l'IA et à Prolog}} {{ :ia:prolog:cours1-ia-intro-.pdf |Introduction à l'IA et à Prolog}}
 +
 +[[https://perso.liris.cnrs.fr/christine.solnon/publications/poly.pdf|Un très bon cours introductif de Christine Solnon]] qui reprend ce qui a été dit en cours. Lire les chapitres 1, 2 et 3 (et le reste si vous avez envie bien sûr!!!).
  
 ===== Travaux pratique en Prolog===== ===== Travaux pratique en Prolog=====
Ligne 9: Ligne 11:
 ==== Prise en main ==== ==== Prise en main ====
 {{ :ia:prolog:ia-robotique.tar.gz | TP découverte de Prolog}} {{ :ia:prolog:ia-robotique.tar.gz | TP découverte de Prolog}}
 +
 +Au programme: parties 1, 2 et 3.
 ==== Problème ==== ==== Problème ====
 Nous allons traiter un cas concret de planification de tâches appliqué à la robotique. Nous allons traiter un cas concret de planification de tâches appliqué à la robotique.
  
-=== Énoncé  === +[[ia:prolog:tpRobotique| Planification de tâches robotisées en prolog]]
-Une école dispense des cours dans des salles informatiques équipées d'ordinateurs. +
- +
-L'objectif est qu'avant chaque cours, tous les ordinateurs soient allumés et qu'une bouteille d'eau soit disponible pour l'enseignant. +
- +
-L'école dispose d'un robot capable d'allumer un ordinateur s'il est éteint, et d'apporter une bouteille d'eau dans une salle. +
- +
-Les créneaux de cours sont les suivants: +
- +
-  * 7h00-8h00libre (pas de cours) +
-  * 8h00-10h00; +
-  * 10h-10h30: pause (toutes les salles sont inoccupées); +
-  * 10h30-12h30; +
-  * 12h30-13h30: pause +
-  * 13h30-15h30; +
-  * 15h30:16h00: pause +
-  * 16h00-18h00; +
-  * 18h00-19h00: libre (pas de cours) +
- +
-L'objectif est de fournir un planning au robot permettant d'allumer avant chaque cours les machines et de fournir une bouteille d'eau. +
- +
-=== Mise en pratique === +
-Pour le moment, nous commencerons par considérer: +
-  - que le robot a besoin de 30 minutes pour s'occuper d'une salle; +
-  - que l'école dispose uniquement de 4 salles informatiques. +
- +
-Nous complexifierons les données en fin de TP. +
- +
-== 1) Description d'une solution == +
-  - Décrivez en prolog une structure permettant de représenter une solution. +
-  - Créez un but avec cette solution. +
-  - Affichez la solution (sans contrainte pour le moment). +
- +
-<spoiler|Structure d'une solution> +
-Il y a plusieurs solutions bien entendu, voici celle que nous utiliserons pour le moment: +
- +
-<code prolog> +
-plan([ +
-    cr([_,_,_,_,_],r1), +
-    cr([_,_,_,_,_],r2), +
-    cr([_,_,_,_,_],r3), +
-    cr([_,_,_,_,_],r4), +
-    cr([_,_,_,_,_],r5), +
-    cr([_,_,_,_,_],r6), +
-    cr([_,_,_,_,_],r7), +
-    cr([_,_,_,_,_],r8), +
-    cr([_,_,_,_,_],r9), +
-    cr([_,_,_,_,_],r10), +
-    cr([_,_,_,_,_],r11), +
-    cr([_,_,_,_,_],r12), +
-    cr([_,_,_,_,_],r13), +
-    cr([_,_,_,_,_],r14), +
-    cr([_,_,_,_,_],r15), +
-    cr([_,_,_,_,_],r16), +
-    cr([_,_,_,_,_],r17), +
-    cr([_,_,_,_,_],r18), +
-    cr([_,_,_,_,_],r19), +
-    cr([_,_,_,_,_],r20), +
-    cr([_,_,_,_,_],r21), +
-    cr([_,_,_,_,_],r22), +
-    cr([_,_,_,_,_],r23), +
-    cr([_,_,_,_,_],r24) +
-    ]). +
-</code> +
-  +
-Questions auxquelles vous devez pouvoir répondre: +
-  - pourquoi la liste de la solution comprend 24 lignes ? +
-  - pourquoi dans cr([liste],valeur), //liste// a une taille de 5 et non de 4 (pour 4 salles)? +
-  - à quoi servent les valeurs de variable r1, r2,...,r24?  +
- +
-</spoiler> +
  
ia/prolog/intro.1509630041.txt.gz · Dernière modification : 2017/11/02 13:40 de bruno