ia:prolog:intro
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ia:prolog:intro [2017/11/02 14:07] – [Problème] bruno | ia:prolog:intro [2018/11/09 11:50] (Version actuelle) – [Prise en main] bruno | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
===== Supports de cour ===== | ===== Supports de cour ===== | ||
{{ : | {{ : | ||
+ | |||
+ | [[https:// | ||
===== Travaux pratique en Prolog===== | ===== Travaux pratique en Prolog===== | ||
Ligne 9: | Ligne 11: | ||
==== Prise en main ==== | ==== Prise en main ==== | ||
{{ : | {{ : | ||
+ | |||
+ | 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: |
- | Une école dispense des cours dans des salles informatiques équipées d' | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | Les créneaux de cours sont les suivants: | + | |
- | + | ||
- | * 7h00-8h00: libre (pas de cours) | + | |
- | * 8h00-10h00; | + | |
- | * 10h-10h30: pause (toutes les salles sont inoccupées); | + | |
- | * 10h30-12h30; | + | |
- | * 12h30-13h30: | + | |
- | * 13h30-15h30; | + | |
- | * 15h30: | + | |
- | * 16h00-18h00; | + | |
- | * 18h00-19h00: | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | === Mise en pratique === | + | |
- | Pour le moment, nous commencerons par considérer: | + | |
- | - que le robot a besoin de 30 minutes pour s' | + | |
- | - que l' | + | |
- | + | ||
- | 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. | + | |
- | < | + | |
- | Il y a plusieurs solutions bien entendu, voici celle que nous utiliserons pour le moment: | + | |
- | <code prolog> | + | |
- | plan([ | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | cr([_, | + | |
- | ]). | + | |
- | </ | + | |
- | | + | |
- | * **Q1.1** pourquoi la liste de la solution comprend 24 lignes ? | + | |
- | * **Q1.2** pourquoi dans cr([liste], | + | |
- | * **Q1.3** à quoi servent les valeurs de variable r1, r2,...,r24? | + | |
- | + | ||
- | </ | + | |
- | == 2) Écriture du but et affichage == | + | |
- | - Créez un but avec cette solution (que nous appellerons //but//). | + | |
- | - Affichez la solution (sans contrainte pour le moment). | + | |
- | < | + | |
- | < | + | |
- | | ?- but. | + | |
- | [cr([_68, | + | |
- | yes | + | |
- | </ | + | |
- | < | + | |
- | <code prolog> | + | |
- | but: | + | |
- | write(P). | + | |
- | </ | + | |
- | Questions auxquelles vous devez pouvoir répondre: | + | |
- | * **Q2.1** A quoi sert la règle //plan(P)// ? | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | == 3) Amélioration | + | |
- | - Améliorez le rendu pour obtenir uniquement un affichage sous forme de tableau 2D (voir exemple attendu plus bas). | + | |
- | - Réalisez pour cela une règle print_plan(P) permettant d' | + | |
- | + | ||
- | Vous pourrez avoir besoin de définir d' | + | |
- | + | ||
- | **Résultat attendu**: | + | |
- | + | ||
- | <prolog> | + | |
- | | ?- but. | + | |
- | [_68, | + | |
- | [_81, | + | |
- | [_94, | + | |
- | [_107, | + | |
- | [_120, | + | |
- | [_133, | + | |
- | [_146, | + | |
- | [_159, | + | |
- | [_172, | + | |
- | [_185, | + | |
- | [_198, | + | |
- | [_211, | + | |
- | [_224, | + | |
- | [_237, | + | |
- | [_250, | + | |
- | [_263, | + | |
- | [_276, | + | |
- | [_289, | + | |
- | [_302, | + | |
- | [_315, | + | |
- | [_328, | + | |
- | [_341, | + | |
- | [_354, | + | |
- | [_367, | + | |
- | + | ||
- | yes | + | |
- | + | ||
- | </ | + | |
ia/prolog/intro.1509631670.txt.gz · Dernière modification : 2017/11/02 14:07 de bruno