Chapitre 5: Modélisation simple

Slides:



Advertisements
Présentations similaires
Les systèmes d’équationsLes systèmes d’équations Deux contraintes d’égalité qu’on impose simultanément à deux variables forment ce qu’on appelle « un.
Advertisements

Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
Chapitre 3: Des molécules pour comprendre.. I) Construction d'une modèlisation ● Définition d'un modèle : Représentation simplifiée de la réalité étudiée.
« Les vieux modèles » Julie Viel, enseignante CEA de Rivière-du-Loup Commission Scolaire de Kamouraska-Rivière-du-Loup.
NF04 - Automne - UTC1 Version 09/2006 (E.L.) Cours 5-a Problèmes scalaires instationnaires d’ordre 1 en temps Domaines d’application Notions de schémas.
Concepts pour le contrôle de flux
La spécialité math en TS
Fonctions et composants électroniques élémentaires
Exercice On considère un Système de contrôle de température composé de: Capteur, ordinateur Le capteur transmit à chaque heure de la journée la température.
Sylvain Hamel - Analyste
Intégration énergétique à l’ échelle de grands sites: Nouveaux Modules pour CERES Alaa FARHAT
Corrélation et causalité
Coloration de graphe, backtracking, branch and bound
Un Algorithme , c'est Quoi ?
LES TABLEAUX EN JAVA.
Algorithme et programmation
SNMP - Comment calculer l'utilisation de la Bande passante
Algorithmique demander jeu du pendu.
MOT Éditeur de modèles de connaissances par objets typés
Reprise du cours ( ) Aujourd’hui :
7. Créez les questions pour les tests formatifs et sommatifs
Suivi de réaction chimique par spectroscopie RMN
Soutenance de Mémoire de Master En vue de l’obtention du diplôme de master En Physique des fluides et des transferts THEME Etude des champs dynamique.
Fonctions.
Principes de programmation (suite)
Initiation à la programmation impérative et algorithmique
Plans d’expériences: Plans factoriels
Domaine: Relations R.A.:
Les Plans d’expériences: Plans Factoriels
Plans d’expériences: Plans factoriels.
Technologies de l’intelligence d’affaires Séance 14
8/23/2018 2:32 AM Cinématique But :
Démarche d'investigation
Méthode Taguchy Analyse de la variance Anavar
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION ET ENSEIGNEMENT
Programmation Orientée Objet
Deuxième partie LE DOSSIER TECHNIQUE DU MARINGOUIN.
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
La mission SUIVI DE GESTION
L1 Technique informatique
Les cartes de crédit Les dettes.
CRITERES DE QUALITE 1) PRECISION 2) RAPIDITE 3) AMORTISSEMENT
Programme financé par l’Union européenne
Efficacité des algorithmes
LE processus d’enquête
Programme financé par l’Union européenne
Semaine #2 INF130 par Frédérick Henri.
Langages de programmation TP11
De Scratch à Python : une transition douce… COMMUNICATION
MATHÉMATIQUES FINANCIÈRES I
COPIL du Projet ECO-RISQUES Optimisation et viabilité de la gestion forestière en présence de risques début : 30/01/2013 (24 mois) Soutien de EcoFor :
Reconnaissance de formes: lettres/chiffres
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
PROGRAMMATION ET ENSEIGNEMENT
Analyse des données et complémentarité des sources
Chapitre 12 : Notion de fonction
Design, innovation et créativité
Chapter 11: Récursivité Java Software Solutions Second Edition
Contextualisation : Détermination de l’intensité d’une force
Estimation des conditions initiales par inversion
La résolution des inéquations
Fonctions.
STSWEB Rattacher Services et ARE Gestion des pondérations
Pour en moduler l’ouverture et la complexité
MOT Éditeur de modèles de connaissances par objets typés
spécialité mathématiques Première
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Chapitre 5: Modélisation simple Where we examine various modelling abilities of CLP languages

Modélisation simple Modélisation Choix de modélisation Itération Optimisation

Modélisation Choisir les variables qui seront utilisées représente les paramètres du problème (cela peut être raisonnable ou difficile) Modéliser les relations idéales entre ces variables utilisant les contraintes primitives disponibles dans le domaine

Modélisation - Exemple Un voyageur veut traverser une rivière infestée de requins aussi vite que possible. Réfléchissant à la route la plus rapide est nager en ligne droite et être entrainé en aval largeur de la rivière: W vitesse de la rivière: S ensemble de positions: P vitesse de nage: R R P S W

Modélisation - Exemple Raison: dans le temps, le nageur nage la largeur de la rivière, il flotte en aval la distance donnée par la rivière. Modéliser: river(W, S, R, P) :- T = W/R, P = S*T. Supposons qu'il nage à 1.5m/s, la vitesse de la rivière est de 1 m/s et sa largeur est de 24m. river(24, 1, 1.5, P). L'unique réponse: P = 16

Modélisation – Exemple (suite) Si sa vitesse de nage est entre 1 et 1.3 m/s et qu'il n'a que 20m de position, que peut-il faire? 1 <= R, R <= 1.3, P <= 20, river(24,1,R,P). Modélisation basée sur la flexibilité des contraintes!

Choix de modélisation De multiples règles permettent la modélisation des relations qu'impliquent les choix E.g. Les tables de données utilisant différents faits. father(jim,edward). father(jim,maggy). father(edward,peter). father(edward,helen). father(edward,kitty). father(bill,fi). mother(maggy,fi). mother(fi,lillian).

Choix - Exemples La requête father(edward,X) trouve les fils de Edward. Réponse: 𝑋=𝑝𝑒𝑡𝑒𝑟, 𝑋=ℎ𝑒𝑙𝑒𝑛, 𝑋=𝑘𝑖𝑡𝑡𝑦 La requête mother(X,fi) trouve la mère de Fi. Réponse: 𝑋=𝑚𝑎𝑔𝑔𝑦

Choix - Exemples On peut définir d'autres prédicats parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). sibling(X,Y) :- parent(Z,X), parent(Z,Y), X != Y. cousin(X,Y) :- parent(Z,X), sibling(Z,T), parent(T,Y). La requête cousin(peter, X) a l'unique réponse X = fi

Choix plus difficiles A call option gives the holder the right to buy 100 shares at a fixed price E. A put option gives the holder the right to sell 100 shares at a fixed price E pay off of an option is determined by cost C and current share price S e.g. call cost $200 exercise $300 stock price $2, don’t exercise payoff = -$200 stock price $7, exercise payoff = $200

Options Trading call C=200, E = 300 put C=100, E = 300 Butterfly strike: buy call at 500 and 100 sell 2 puts at 300

Fonctions de modélisation 𝑐𝑎𝑙𝑙 𝑝𝑎𝑦𝑜𝑓𝑓 (𝑆,𝐶,𝐸 = −𝐶 si0≤𝑆≤ 𝐸 100 100𝑆−𝐸−𝐶 si𝑆≥ 𝐸 100 Modéliser une fonction avec n arguments comme un prédicat avec n+1 arguments. Les tests sont des contraintes et le résultat est une équation. buy_call_payoff(S,C,E,P) :- 0 <= S, S <= E/100, P = -C. S >= E/100, P = 100*S - E - C.

Options de modélisation Ajouter un argument de plus: B=1 (acheter), B = -1 (vendre) call_option(B,S,C,E,P) :- 0 <= S, S <= E/100, P = -C * B. S >= E/100, P = (100*S - E - C)*B. La requête (the original call option question) call_option(1, 7, 200, 300, P) a la réponse P = 200

Utilisation du modèle Définis la relation dans le graphe précédent butterfly(S, P1 + 2*P2 + P3) :- Buy = 1, Sell = -1, call_option(Buy, S, 100, 500, P1), call_option(Sell, S, 200, 300, P2), call_option(Buy, S, 400, 100, P3). Définis la relation dans le graphe précédent P >= 0, butterfly(S,P). a deux réponses 𝑃=100𝑆−200Ù2≤𝑆Ù𝑆≤3 𝑃=−100𝑆+400Ù3≤𝑆Ù𝑆≤4

Modélisation d'itération Le modèle naturel peut être une itération de paramètres Les langages CLP n'ont pas de constructions itératives directes comme (for, while) mais ont la récursion.

Itération - Exemple Hypothèque: principal P, taux d'intérêt I, paiement R et balance B sur les périodes T Intérêt simple: 𝐵=𝑃+𝑃×𝐼−𝑅 Relation pour 3 périodes: 𝑃 1 =𝑃+𝑃×𝐼−𝑅∧ 𝑃 2 = 𝑃 1 + 𝑃 1 ×𝐼−𝑅∧ 𝑃 3 = 𝑃 2 + 𝑃 2 ×𝐼−𝑅∧ 𝐵= 𝑃 3 Le nombre de contraintes dépend de la variable T

Raisonner récursivement 0 périodes: B = P Sinon nouveau princ. P + P*I - R et nouveau temps T-1 mortgage(P,T,I,R,B) :- T = 0, B = P. (M1) mortgage(P,T,I,R,B) :- T >= 1, NP = P + P * I - R, NT = T - 1, (M2) mortgage(NP,NT,I,R,B).

Dérivation - Exemple 𝑚𝑜𝑟𝑡𝑔𝑎𝑔𝑒(𝑃,3,𝐼,𝑅,𝐵)∣𝑡𝑟𝑢𝑒 ↓𝑀2 𝑚𝑜𝑟𝑡𝑔𝑎𝑔𝑒( 𝑃 1 ,2,𝐼,𝑅,𝐵)∣ 𝑃 1 =𝑃+𝑃×𝐼−𝑅 ↓𝑀2 𝑚𝑜𝑟𝑡𝑔𝑎𝑔𝑒( 𝑃 2 ,1,𝐼,𝑅,𝐵)∣ 𝑃 1 =𝑃+𝑃×𝐼−𝑅∧ 𝑃 2 = 𝑃 1 + 𝑃 1 ×𝐼−𝑅 ↓𝑀2 𝑚𝑜𝑟𝑡𝑔𝑎𝑔𝑒( 𝑃 3 ,0,𝐼,𝑅,𝐵)∣ 𝑃 1 =𝑃+𝑃×𝐼−𝑅∧ 𝑃 2 = 𝑃 1 + 𝑃 1 ×𝐼−𝑅∧ 𝑃 3 = 𝑃 2 + 𝑃 2 ×𝐼−𝑅〉 ↓𝑀1 []∣ 𝑃 1 =𝑃+𝑃×𝐼−𝑅∧ 𝑃 2 = 𝑃 1 + 𝑃 1 ×𝐼−𝑅∧ 𝑃 3 = 𝑃 2 + 𝑃 2 ×𝐼−𝑅∧𝐵= 𝑃 3 〉

Traduire l'itération Les programmeurs CLP débutants devraient avoir des difficultés à définir les relations récursives. Donner une définition procédurale Traduire l'itération en récursion Traduire les tests et les affectations en contraintes

Traduction - Exemple Pseudo code C pour le problème d'hypothèque float mg1(float P, int I, float I, float R) { while (T >= 1) { P = P + P * I - R; T = T - 1; } return P; Chaque variable ne prend qu'une seule valeur mg(P, T, I, R, B) :- T >= 1, NP = P + P * I - R, NT = T - 1, mg(NP, NT, I, R, B). mg(P, T, I, R, B) :- T = 0, (note extra) B = P. Remplacer les tests et les affectations par des contraintes Supprimer la boucle en utilisant la récursion Remplacer la fonction avec une procédure répondant par référence

Pourquoi des contraintes et pas du C? Les deux programmes peuvent répondre à la requête mortgage(500, 3, 10/100, 150, B). Mais le programme CLP peut résoudre mortgage(P, 3, 10/100, 150, 0). Et beaucoup d'autres requêtes mortgage(P, 3, 10/100, R, B). 𝑃=373.028 𝑃=0.38553𝐵+6.14457𝑅

Optimisation Certains programmes nécessitent une « meilleure » solution Minimisation litérale: minimize(G,E) Les réponses sont les réponses de la requête G qui minimise l'expression E

Optimisation - Exemples p(X,Y) := X = 1. p(X,Y) :- Y = 1. X >= 0, Y >= 0, minimize(p(X,Y), X+Y) Réponses: X = 1 /\ Y = 0 and X = 0 /\ Y = 1 X >= 0, X >= Y, minimize(true, X-Y) Réponses: X >= 0 /\ X = Y minimize(butterfly(S,P), -P) Réponse: S = 3 /\ P = 100

Évaluation de l'optimisation Une évaluation v est une solution à un état si c'est une solution à des réponses de l'état étape de dérivation de la minimisation: <G1 | C1> to <G2 | C2> where G1 = L1,L2,...,Lm L1 est minimize(G,E) Il existe une solution v de <G | C1> avec v(E) = m et pour toute autre solution w, m <= w(E) G2 is G,L2,...,Lm et C2 est C1 /\ E = m sinon G2 est [] et C2 est false

Optimisation - Exemple X >= 0, minimize(X >= Y, X-Y) 𝑋≥0,minimize(𝑋≥𝑌,𝑋−𝑌)∣𝑡𝑟𝑢𝑒 ↓ minimize(𝑋≥𝑌,𝑋−𝑌)∣𝑋≥0 ↓ 𝑋≥𝑌∣𝑋≥0∧𝑋−𝑌=0 ↓ ]∣𝑋≥0∧𝑋−𝑌=0∧𝑋≥𝑌 𝑋≥𝑌∣𝑋≥0 ↓ ]∣𝑋≥0∧𝑋≥𝑌 La valeur minimum de X- Y est 0 e.g. Simplifié 𝑋≥0∧𝑋=𝑌 𝑋→3,𝑌→3

Optimisation L'optimisation n'est pas obligatoirement sur la requête straddle(S,C1+C2,E,P1+P2) :- Buy = 1, call_option(Buy, S, C1, E, P1), put_option(Buy, S, Cs, E, P2). best_straddle(C,E,P) :- minimize(straddle(S,C,E,P),-P).

Modélisation simple - Résumé Convertion de problèmes de contraintes en contraintes du domaine Le choix est modélisé avec différentes règles Les fonctions sont modélisées comme des prédicats avec un argument de plus. L'itération est modélisée en utilisant la récursion L'optimisation nécéssite un nouveau type de literal