Résolution générique à la volée de systèmes d équations booléennes et applications

Dimension: px
Commencer à balayer dès la page:

Download "Résolution générique à la volée de systèmes d équations booléennes et applications"

Transcription

1 Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY

2 Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de résolution à la volée Vérification par équivalence et logique temporelle Implémentation et expérimentation Conclusion et travaux futurs 2003 Radu Mateescu 2

3 Introduction Vérification énumérative : Fiabilité des systèmes concurrents à nombre fini d états Construction de l espace d états par énumération explicite des états ( vérification symbolique) Adaptée aux systèmes asynchrones non-déterministes Approches traditionnelles : Vérification par équivalence (equivalence checking) Vérification par logique temporelle (model checking) Solution adoptée : Traduction du problème de vérification vers la résolution d un système d équations booléennes (SEB) Génération de diagnostics (fragments de l espace d états) expliquant le résultat de la vérification 2003 Radu Mateescu 3

4 Systèmes d équations booléennes (syntaxe) Un SEB est un tuple B = (x, M 1,, M n ), où x X : variable booléenne principale M i = { x j =σ i op j X j } j in [1, mi] : blocs d équations σ i { µ, ν } : signe (point fixe) du bloc i op j {, } : opérateur de l équation j X j X : variables en partie droite de l équation j F = (disjonction vide) et T = (conjonction vide) x j dépend de x k ssi x k X j M i dépend de M l ssi une x j de M i dépend d une x k de M l Bloc fermé : ne dépend pas d autres blocs SEB d alternance 1 : M i ne dépend que de M i+1 M n 2003 Radu Mateescu 4

5 Exemple x 1 = µ x 2 x 3 x 7 = ν x 8 x 9 x 2 = µ x 3 x 4 x 8 = ν T M 1 x 3 = µ x 2 x 7 M 3 x 9 = ν F x 4 = µ x 5 x 6 M 2 x 5 = µ x 8 x 9 x 6 = µ F 2003 Radu Mateescu 5

6 Bloc acyclique : Blocs particuliers Pas de dépendances cycliques entre les variables du bloc Var. x i disjonctive (conjonctive) : op i = (op i = ) Bloc disjonctif : Comporte des variables disjonctives Et des variables conjonctives avec un seul successeur non constant dans le bloc (le dernier en partie droite de l équation) les autres successeurs sont des constantes ou des variables libres (définies dans d autres blocs) Bloc conjonctif : définition duale 2003 Radu Mateescu 6

7 Systèmes d équations booléennes (sémantique) Contexte : fonction partielle δ : X Bool Sémantique d une formule booléenne : [[ op { x 1,, x p } ]] δ = op (δ (x 1 ),, δ (x p )) Sémantique d un bloc : [[ { x j =σ op j X j } j in [1, m] ]] δ = σφ δ Φ δ : Bool m Bool m Φ δ (b 1,, b m ) = ([[ op j X j ]] (δ [b 1 /x 1,, b m /x m ])) j in [1, m] Sémantique d un SEB : [[(x, M 1,, M n ) ]] = δ 1 (x) δ n = [[ M n ]] [] (M n fermé) δ i = ([[ M i ]] δ i+1 ) δ i+1 (M i dépend de M i+1 M n ) 2003 Radu Mateescu 7

8 Résolution globale SEB B = (x, M 1,, M n ) d alternance 1 Primitive : calcul de la sémantique d un bloc Par ordre inverse des dépendances δ n = [[ M n ]] [], δ i = ([[ M i ]] δ i+1 ) δ i+1 Application «brutale» du théorème de Knaster-Tarski [[ { x j =µ op j X j } j in [1, m] ]] δ = µφ δ = k 0 Φ δk (F,, F) [[ { x j =ν op j X j } j in [1, m] ]] δ = νφ δ = k 0 Φ δk (T,, T) Prendre la valeur de x dans M 1 : δ 1 (x) Inconvénients : Nécessite la construction complète du SEB Risque de calculer des informations «inutiles» 2003 Radu Mateescu 8

9 Exemple x 1 = µ x 2 x 3 x 7 = ν x 8 x 9 x 2 = µ x 3 x 4 x 8 = ν T M 1 x 3 = µ x 2 x 7 M 3 x 9 = ν F x 4 = µ x 5 x 6 M 2 x 5 = µ x 8 x 9 x 6 = µ F 2003 Radu Mateescu 9

10 Résolution locale SEB B = (x, M 1,, M n ) d alternance 1 Primitive : calcul d une variable d un bloc Une routine de résolution R i associée à M i R i (x j ) calcule la valeur de xj dans Mi Evaluation des parties droites des équations+ substitution Pile des appels R 1 (x) R n (x k ) bornée par la profondeur du graphe de dépendances entre blocs Style «coroutine» : chaque Ri doit garder son contexte Avantages : Permet de construire le SEB «à la volée» Calcule uniquement des informations «utiles» 2003 Radu Mateescu 10

11 Exemple x 1 = µ x 2 x 3 x 7 = ν x 8 x 9 x 2 = µ x 3 x 4 x 8 = ν T M 1 x 3 = µ x 2 x 7 M 3 x 9 = ν F x 4 = µ x 5 x 6 M 2 x 5 = µ x 8 x 9 x 6 = µ F 2003 Radu Mateescu 11

12 Principe des algorithmes locaux Représentation des blocs comme graphes booléens Au bloc M = { x j = µ op j X j } j in [1, m] on associe le graphe booléen G = (V, E, L, µ), où : V = { x 1,, x m } : ensemble de sommets (variables) E = { (x i, x j ) x j X i } : ensemble d arcs (dépendances) L : V {, }, L (x j ) = op j : étiquetage des sommets Principe des algorithmes : Exploration en avant de G en partant de x V Propagation en arrière des variables stables (calculées) Terminaison: x est stable ou G est exploré totalement 2003 Radu Mateescu 12

13 Exemple SEB (µ-bloc) graphe booléen x 1 = µ x 2 x 3 x 2 = µ F x 3 = µ x 4 x 5 x 4 = µ T x 5 = µ x : -variables : -variables Radu Mateescu 13

14 Trois critères d efficacité Soit B = (x, M 1,, M n ) un SEB d alternance 1. Pour chaque routine R i associée à M i : La complexité en temps de R i (x j ) dans le pire des cas doit être O ( V + E ) complexité linéaire pour la résolution de B Pendant l exécution de R i (x j ), chaque nouvelle variable explorée doit être «reliée» à x j par (au moins) une séquence de variables instables limiter l exploration du graphe aux variables «utiles» Après la fin de R i (x j ), toutes les variables explorées doivent être stables mémoriser les résultats entre appels successifs de R i (xj) 2003 Radu Mateescu 14

15 Algorithme A1 S applique à tous les types de blocs Parcours en profondeur (DFS) du graphe booléen Propagation en arrière des variables stables Pré-calcul de diagnostic Satisfait A, B, C Complexité en mémoire O ( V + E ) Version optimisée de [Andersen-94] Développé pour le µ-calcul régulier (EVALUATOR 3.0) [Mateescu-Sighireanu-00] Radu Mateescu 15

16 Algorithme A2 S applique à tous les types de blocs 1 Parcours en largeur (BFS) du graphe booléen Propagation en arrière des variables stables 2 3 Pré-calcul de diagnostic Satisfait A, C Complexité en mémoire O ( V + E ) Diagnostics de profondeur réduite Radu Mateescu 16

17 Algorithme A3 S applique uniquement aux blocs acycliques Parcours DFS du graphe booléen Propagation en arrière des variables stables Pré-calcul de diagnostic Satisfait A, B, C Pas de stockage des arcs Complexité en mémoire O ( V ) Développé pour vérifier des traces de simulation [Mateescu-02] Radu Mateescu 17

18 Algorithme A4 S applique uniquement aux blocs disjonctifs ou conjonctifs Parcours en profondeur (DFS) du graphe booléen 1 Propagation en arrière des variables stables 2 4 Détection et stabilisation des CFC Pas de stockage des arcs Satisfait A, B, C Complexité en mémoire O ( V ) CFC de variables F CFC de variables T 2003 Radu Mateescu 18

19 Récapitulatif A1 (DFS, général) Satisfait A, B, C Complexité en mémoire O ( V + E ) A2 (BFS, général) Satisfait A, C + diagnostics «petits» Complexité en mémoire O ( V + E ) Complexité A3 (DFS, acyclique) en temps Satisfait A, B, C O ( V + E ) Complexité en mémoire O ( V ) A4 (DFS, disjonctif) Satisfait A, B, C Complexité en mémoire O ( V ) 2003 Radu Mateescu 19

20 Applications Vérification par équivalences/préordres Vérification par logiques temporelles à la volée

21 Systèmes de transitions étiquetées STEs : modèles pour les systèmes parallèles asynchrones Un STE M = (S, A, T, s 0 ) Représentations d un STE : explicite (fonction «prédécesseur» et/ou «successeur») Calculs itératifs sur les ensembles d états Environnement BCG (Binary Coded Graphs) [Garavel-92] implicite (fonction «successeur») SEND ACK TOUT Exploration à la volée de la relation de transition Environnement Open / Caesar [Garavel-98] τ DELIV RECV 2003 Radu Mateescu 21

22 Vérification par équivalence (equivalence checking) description du système description du service compilateur compilateur STE 1 equivalence checker STE 2 vrai / faux + diagnostic 2003 Radu Mateescu 22

23 Equivalence forte Soit 2 STE M 1 = (S 1, A, T 1, s 01 ) et M 2 = (S 2, A, T 2, s 02 ) S 1 S 2 est la plus grande relation t.q. s 1 s 2 ssi a A. s 1 a s 1 T 1. s 2 a s 2 T 2. s 1 s 2 et a A. s 2 a s 2 T 2. s 1 a s 1 T 1. s 1 s 2 M 1 M 2 ssi s 01 s 02 c a c c a b b c a 2003 Radu Mateescu 23

24 Traduction vers un SEB Principe : s 1 s 2 ssi X s1,s2 est vraie SEB général : X s1,s2 = ν ( s1 a s1 s2 a s2 X s1,s2 ) ( s2 a s2 s1 a s1 X s1,s2 ) SEB simplifié : X s1,s2 = ν ( s1 a s1 Y a,s1,s2 ) ( s2 a s2 Z a,s1,s2 ) Y a,s1,s2 = ν Z a,s1,s2 = ν s2 a s2 X s1,s2 s1 a s1 X s1,s2 s 1 s 2 (préordre) 2003 Radu Mateescu 24

25 Exemple 0 0 c 1 m t 1 c m m 3 t SEB général : X 00 = ν (X 11 X 13 ) X 11 X 13 X 11 = ν (X 22 F) X 22 X 13 = ν (F X 34 ) X 34 SEB simplifié : X 00 = ν Y X 11 X 13 Y = ν X 11 X 13 X 11 = ν (X 22 F) X 22 X 13 = ν (F X 34 ) X Radu Mateescu 25

26 SEB acyclique Graphe booléen acyclique : Un des deux STEs est acyclique (séquence, arbre, ) X s1,s2 a X s1,s2 b X s1,s2 c Application de l algorithme A3 (mémoire ) Utile surtout pour la vérification par préordre Exemple : relecture de séquences d exécution STE 1 : modélisation d un système STE 2 : ensemble de scénarios d exécution / simulation Vérifier que STE 1 accepte STE Radu Mateescu 26

27 SEB conjonctif Graphe booléen conjonctif : Préordre STE1 STE2 et STE2 déterministe (+ vice-versa) Equivalence et un des deux STEs est déterministe X s1,s2 = ( s1 a s1a s2 a s2 X s1a,s2 ) ( s1 b s1b s2 b s2 X s1b,s2 ) ( s2 l s2 s1 l s1a X s1l,s2 ) = ( s2 a s2 X s1a,s2 ) ( s2 b s2 X s1b,s2 ) ( s2 l s2 X s1l,s2 ) = s2 l s2 X s1l,s2 Application de l algorithme A4 (mémoire ) 2003 Radu Mateescu 27

28 Equivalences faibles Soit 2 STE M 1 = (S 1, A τ, T 1, s 01 ), M 2 = (S 2, A τ, T 2, s 02 ) τ : action interne, A τ = A { τ } Equivalence τ*.a : X s1,s2 = ν ( s1 τ*a s1 s2 τ*a s2 X s1,s2 ) ( s2 τ*a s2 s1 τ*a s1 X s1,s2 ) Equivalence de sûreté : X s1,s2 = ν Y s1,s2 Y s2,s1 Y s1,s2 = ν ( s1 τ*a s1 s2 τ*a s2 Y s1,s2 ) Schéma similaire : équivalence observationnelle, de branchement, delay, 2003 Radu Mateescu 28

29 Récapitulatif Graphe booléen général : Toutes les équivalences et leurs préordres Algorithmes A1 et A2 Graphe booléen acyclique : Forte : un des deux STEs acyclique τ*.a et sûreté : un STE acyclique (circuits de τ autorisés) Branching et observationnelle : les deux STEs acycliques Algorithme A3 (mémoire ) Graphe booléen conjonctif : Toutes les équivalences : un des deux STE déterministe Algorithme A4 (mémoire ) 2003 Radu Mateescu 29

30 Vérification par logique temporelle (model checking) description du système propriétés compilateur modèle (STE) model checker vrai / faux + diagnostic 2003 Radu Mateescu 30

31 Mu-calcul modal Soit M = (S, A, T, s 0 ) un STE. Syntaxe du µ-calcul modal : Formules sur actions α ::= a α α 1 α 2 Formules sur états ϕ ::= F ϕ ϕ 1 ϕ 2 α ϕ X µx. ϕ 2003 Radu Mateescu 31

32 Formules sur actions Soit M = (S, A, T, s 0 ). Sémantique [[ α ]] A : [[ a ]] = { a } [[ α ]] = A \[[ α ]] [[ α 1 α 2 ]] = [[ α 1 ]] [[ α 2 ]] Opérateurs dérivés : T = a a F = T α 1 α 2 = ( α 1 α 2 ) α 1 α 2 = α 1 α 2 α 1 α 2 = (α 1 α 2 ) (α 2 α 1 ) 2003 Radu Mateescu 32

33 Formules sur états Contexte ρ : Y 2 S. Sémantique [[ ϕ ]]ρ S : [[ F ]]ρ = [[ ϕ ]]ρ = S \[[ ϕ ]]ρ [[ ϕ 1 ϕ 2 ]]ρ = [[ ϕ 1 ]]ρ [[ ϕ 2 ]]ρ [[ α ϕ ]]ρ = { s S (s, a, s ) T. a [[ α ]] s [[ ϕ ]]ρ } [[ Y ]]ρ = ρ (Y) [[ µy. ϕ ]]ρ = k 0 Φ ρk ( ) Φ ρ : 2 S 2 S, Φ ρ (U) = [[ ϕ ]]ρ[u/y] Opérateurs dérivés : [α]ϕ= α ϕ νy. ϕ = µy. ϕ [ Y / Y] 2003 Radu Mateescu 33

34 Exemples Absence de blocage sur l état courant T T Accessibilité potentielle d une action a µx. a T T X... Pas de RECV avant un SEND νx. [ RECV ] F [ SEND ] X SEND SEND RECV a RECV 2003 Radu Mateescu 34

35 Mu-calcul d alternance 1 Absence de récursion mutuelle entre les formules de plus petit et de plus grand point fixe Exemple : après chaque SEND, il y aura potentiellement un RECV νx. [ SEND ] (µy. RECV T T Y ) [ T ] X Variante équationnelle : { X = ν [ SEND ] Y [ T ] X } { Y = µ RECV T T Y } pas de dépendances cycliques entre les blocs 2003 Radu Mateescu 35

36 Traduction vers SEB d alternance 1 Principe : s = X ssi X s est vraie Propriété : { X = ν [ SEND ] Y [ T ] X } { Y = µ RECV T T Y } SEB : { X s = ν ( s SEND s Y s ) ( s s X s ) } { Y s = µ ( s RECV s T) ( s s Y s ) } 1 SEND TOUT X 1 = ν Y 2 X 2 Y 1 = µ Y 2 RECV 2 τ 3 X 2 = ν X 1 X 3 X 3 = ν X 1 Y 2 = µ Y 1 Y 3 Y 3 = µ T 2003 Radu Mateescu 36

37 SEB acyclique Graphe booléen acyclique : STE acyclique et formules gardées Traductions des opérateurs de CTL (et ACTL) : E[ϕ 1 U ϕ 2 ] = µx. ϕ 2 (ϕ 1 T X) A[ϕ 1 U ϕ 2 ] = µx. ϕ 2 (ϕ 1 T T [T ] X) Réduction pour le µ-calcul complet [Mateescu-02] Elimination des opérateurs de plus grand point fixe formule d alternance 1 Traduction en forme gardée (taille quadratique) Application de l algorithme A3 (mémoire ) 2003 Radu Mateescu 37

38 SEB disjonctif Graphe booléen disjonctif : Opérateur de potentialité de CTL E [ϕ 1 U ϕ 2 ] = µx. ϕ 2 (ϕ 1 T X) { X = µ ϕ 2 Y, Y = µ ϕ 1 Z, Z = µ T X } { X s = µ ϕ 2s Y s, Y s = µ ϕ 1s Z s, Z s = µ s s X s } Modalité de possibilité de PDL (a b)*. c T { X = µ c T a X b X } { X s = µ ( s c s T) ( s a s X s ) ( s b s X s ) } Application de l algorithme A4 (mémoire ) 2003 Radu Mateescu 38

39 SEB conjonctif Graphe booléen conjonctif : Opérateur d inévitabilité de CTL A [ϕ 1 U ϕ 2 ] = µx. ϕ 2 (ϕ 1 T T [T ] X) { X = µ ϕ 2 Y, Y = µ ϕ 1 Z [T ] X, Z = µ T T } { X s = µ ϕ 2s Y s, Y s = µ ϕ 1s Z s ( s s X s ), Z s = µ s s T } Modalité de nécessité de PDL [ (a b)*. c ] F { X = µ [ c ] F [ a ] X [ b ] X } { X s = µ ( s c s F) ( s a s X s ) ( s b s X s ) } Application de l algorithme A4 (mémoire ) 2003 Radu Mateescu 39

40 Récapitulatif Graphe booléen général : STE quelconque et formule de µ-calcul d alternance 1 Algorithmes A1 et A2 Graphe booléen acyclique : STE acyclique et formule gardée (CTL, ACTL) STE acyclique et formule de µ-calcul (+ réduction) Algorithme A3 (mémoire ) Graphe booléen disjonctif / conjonctif : STE quelconque et formules de CTL, ACTL, PDL Algorithme A4 (mémoire ) 2003 Radu Mateescu 40

41 Bibliothèque CAESAR_SOLVE SEB (graphe booléen) variable graphe implicite (fonction successeur) bibliothèque CAESAR_SOLVE (A1 A4 & diagnostic) graphe implicite (fonction successeur) diagnostic (sous-graphe booléen) valeur bibliothèques OPEN/CAESAR 2003 Radu Mateescu 41

42 BISIMULATOR et EVALUATOR STE1 STE2 STE formule BISIMULATOR traducteur SEB EVALUATOR traducteur SEB graphe booléen implicite & générateur de diagnostic (.c) graphe booléen implicite & générateur de diagnostic (.c) OPEN/CAESAR CAESAR_SOLVE compilateur C environnement d exécution exécutable vrai / faux diagnostic 2003 Radu Mateescu 42

43 Quelques mesures de performances Trois protocoles de communication (ABP, BRP, LEP) Algorithme A2 versus A1 : Comparaison STE protocole STE erroné (strong) Vérification propriété fausse sur STE protocole Réductions de 75 % - 99 % en profondeur du diagnostic Algorithme A3 versus A1 : Relecture de séquences ( transitions) dans le STE Vérification de propriétés sur les séquences Gains de 15 % - 27 % en mémoire Algorithme A4 versus A1 : Comparaison STE protocole STE service (τ*.a) Vérification de propriétés (ACTL + PDL) Gains de 12 % - 63 % en mémoire 2003 Radu Mateescu 43

44 Conclusion et travaux futurs Bilan : Algorithmes de résolution locale des SEBs Génération de diagnostics Deux applications : BISIMULATOR et EVALUATOR Bibliothèque générique CAESAR_SOLVE Perspectives : Nouveaux algorithmes («single-scan» sur traces) Nouvelles applications (génération de tests) Parallélisation sur grappes de PC 2003 Radu Mateescu 44

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Christophe Joubert Séminaire VASY 2002 30 Octobre 2002 Aix les Bains Contexte du projet

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Christophe JOUBERT. Vérification distribuée à la volée de grands

Christophe JOUBERT. Vérification distribuée à la volée de grands INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE Institut National de Recherche en Informatique et en Automatique projet VASY N o attribué par la bibliothèque THÈSE pour obtenir le grade de Docteur de l Institut

Plus en détail

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Les automates Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015 Retour sur l île et le barman Deux problèmes similaires: Des îles, des bateaux et un trésor à trouver

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

FSAB 1402 - Suggestions de lecture

FSAB 1402 - Suggestions de lecture FSAB 1402 - Suggestions de lecture 2006 Concepts, techniques and models of computer programming Cours 1 - Intro Chapitre 1 (sections 1.1, 1.2, 1.3, pages 1-3) Introduction aux concepts de base Chapitre

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

La recherche locale. INF6953 La recherche locale 1

La recherche locale. INF6953 La recherche locale 1 La recherche locale INF6953 La recherche locale 1 Sommaire Recherche locale et voisinage. Fonction de voisinage, optimum local Fonction de voisinage et mouvements Fonction de voisinage et mouvements Exemples

Plus en détail

Langages de spécification cours 4

Langages de spécification cours 4 Langages de spécification cours 4 Diagrammes de décision binaire(bdd) Catalin Dima Arbres de décision binaire Étant donnée une formule logique, on peut lui associer un arbre qui permet d évaluer la valeur

Plus en détail

Introduction aux automates

Introduction aux automates Introduction aux automates Principes et exemples Pascal André IRIN Université de Nantes 2 rue de la Houssinière ; B.P. 92208 44322 Nantes Cedex 03 Pascal.Andre@irin.univ-nantes.fr Introduction aux automates

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Analyse Statique de Programmes

Analyse Statique de Programmes Analyse statique et application. Typage. Analyse de flots de données. Exemples de transformations simples de programmes au niveau source. Prépa Agreg de Maths, option Info - ENS Cachan-Bretagne Thomas

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Introduction au model-checking et application à la vérification des protocoles cryptographiques

Introduction au model-checking et application à la vérification des protocoles cryptographiques Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction

Plus en détail

Evaluation de performance en Sûreté de Fonctionnement

Evaluation de performance en Sûreté de Fonctionnement Groupe SdF Midi-Pyrénées Toulouse 5 juin 2015 Evaluation de performance en Sûreté de Fonctionnement - Andre.cabarbaye Plan Introduction Types de performances Finalité des analyses Attentes du donneur d

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Analyse de programmes par interprétation abstraite

Analyse de programmes par interprétation abstraite Analyse de programmes par interprétation abstraite Marc PEGON marc.pegon@ensimag.imag.fr Ensimag - Grenoble INP Encadrants David MONNIAUX Matthieu MOY 1 / 21 Analyse statique : obtenir automatiquement

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

Réseaux de Petri. Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis. 1 - Modélisation de systèmes finis

Réseaux de Petri. Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis. 1 - Modélisation de systèmes finis Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis Réseaux de Petri 1 - Modélisation de systèmes finis - 1 - E. Encrenaz-Tiphène / C. Dutheillet Des automates aux réseaux de

Plus en détail

Techniques et outils de test pour les logiciels réactifs synchrones

Techniques et outils de test pour les logiciels réactifs synchrones Journées Systèmes et Logiciels Critiques Institut IMAG ; 14-16 nombre 2000 Techniques et outils de test pour les logiciels réactifs synchrones Farid Ouabdesselam 1 Méthodes de test : classification générale

Plus en détail

et Automates de Büchi

et Automates de Büchi Cours 9: Propriétes ω-régulières et Automates de Büchi Francesco Belardinelli Laboratoire IBISC Remerciements à Alessio Lomuscio et Joost-Pieter Katoen 26 mars 2015 Cours 9 - Vue d Ensemble Motivation

Plus en détail

I.M.A.G ECOLE DOCTORALE MATHEMATIQUES ET INFORMATIQUE DEA D INFORMATIQUE: SYSTEMES ET COMMUNICATIONS. Projet présenté par. Christophe JOUBERT

I.M.A.G ECOLE DOCTORALE MATHEMATIQUES ET INFORMATIQUE DEA D INFORMATIQUE: SYSTEMES ET COMMUNICATIONS. Projet présenté par. Christophe JOUBERT Université Joseph Fourier U.F.R. Informatique et Mathématiques Appliquées Institut National Polytechnique de Grenoble E.N.S.I.M.A.G. I.M.A.G ECOLE DOCTORALE MATHEMATIQUES ET INFORMATIQUE DEA D INFORMATIQUE:

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Introduction à la Recherche en Laboratoire

Introduction à la Recherche en Laboratoire Introduction à la Recherche en Laboratoire Transferts de données pour le vol de travail Tristan Darricau tristan.darricau@ensimag.grenoble-inp.fr 26 mai 2014 Grenoble INP - ENSIMAG Ecadrement Frédéric

Plus en détail

Génération aléatoire de structures ordonnées

Génération aléatoire de structures ordonnées Génération aléatoire de structures ordonnées Olivier Roussel Équipe APR Laboratoire d Informatique de Paris 6 Université Pierre et Marie Curie ALÉA 2011 7 mars 2011 Olivier Roussel (LIP6) Génération de

Plus en détail

Ordonnancement avec exclusion mutuelle par un graphe d intervalles ou d une classe apparentée : complexité et algorithmes ~ Frédéric Gardi

Ordonnancement avec exclusion mutuelle par un graphe d intervalles ou d une classe apparentée : complexité et algorithmes ~ Frédéric Gardi Ordonnancement avec exclusion mutuelle par un graphe d intervalles ou d une classe apparentée : complexité et algorithmes ~ Frédéric Gardi - 14 Juin 2005 - - Faculté des Sciences de Luminy - 1. Introduction

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/ données pr ogramme 11111101 11001101 01000101 b us disque ma gnétique processeur écran Structures de données et algorithmes Ordinateurs Gilles Falquet, printemps-été 2002 Machines composées de (depuis

Plus en détail

Systèmes d'informations Géographiques - Graphes

Systèmes d'informations Géographiques - Graphes Systèmes d'informations Géographiques - Graphes Institut National des Sciences Appliquées - Rouen Département Architecture des Systèmes d'information michel.mainguenaud@insa-rouen.fr Graphe et Spatialisation!

Plus en détail

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre Recherche opérationnelle Programmation linéaire et recherche opérationnelle Ioan Todinca Ioan.Todinca@univ-orleans.fr tél. 0 38 41 7 93 bureau : en bas à gauche Tentative de définition Ensemble de méthodes

Plus en détail

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23 Table des Figures 7 Introduction Générale 9 1. Outils et plate-formes de construction d application 9 2. Intégration de paradigmes de conception dans le cycle de vie 10 2.1. Equilibrage de charge et équilibrage

Plus en détail

Vérification avec TINA

Vérification avec TINA Vérification avec TINA B. Berthomieu, F. Vernadat LAAS-CNRS Journée AFSEC Outils - Juin 2007 Insa Lyon 22 Juin 2007 Le contexte Vérification de Systèmes Réactifs, Protocoles, Logiciels Temps Réel Points

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

Sémantique formelle et synthèse de client pour services Web

Sémantique formelle et synthèse de client pour services Web Sémantique formelle et synthèse de client pour services Web Séminaire «Services Web» 24 Janvier 2006 sylvain.rampacek@univ-reims.fr CReSTIC LAMSADE Plan Introduction Services Web Description de la plate-forme

Plus en détail

(3.22) Interchangeabilité mutuelle : p q r p q r

(3.22) Interchangeabilité mutuelle : p q r p q r Préséance (priorité) des opérateurs (1) [x := e] (substitution textuelle) (prioritéélevée) (2). (application de fonction) (3) + P (opérateurs unaires préfixes) (4) / mod pgcd (5) + (opérateurs binaires)

Plus en détail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Algorithmique... Complexité. Luc Brun. luc.brun@greyc.ensicaen.fr. A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p.

Algorithmique... Complexité. Luc Brun. luc.brun@greyc.ensicaen.fr. A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p. Algorithmique... Complexité Luc Brun luc.brun@greyc.ensicaen.fr A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p.1/25 Plan... Notion de complexité Comment évaluer la complexité d un algorithme

Plus en détail

Clermont Ferrand - Janvier 2003

Clermont Ferrand - Janvier 2003 DISDAMIN: Algorithmes de Data Mining Distribués Valerie FIOLET (1,2) - Bernard TOURSEL (1) 1 Equipe PALOMA - LIFL - USTL - LILLE (FRANCE) 2 Service Informatique - UMH - MONS (BELGIUM) Clermont Ferrand

Plus en détail

Systèmes de fichiers. Didier Verna

Systèmes de fichiers. Didier Verna 1/23 de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/23 Table des matières 1 2 Structure des fichiers 3 Structure des répertoires 4 Protection et sécurité 4/23 Répondre aux problèmes

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Plan du cours de Programmation logique

Plan du cours de Programmation logique Plan du cours de Programmation logique 1 Introduction 2 3 Igor Stéphan 1/ 64 La logique comme langage de programmation Un langage de programmation logique est défini par : un langage des données Ω; et

Plus en détail

SOMMAIRE. II L organisation du projet. 15 II.1 La place du projet dans la structure de l entreprise. 15 II.2 Les acteurs. 18

SOMMAIRE. II L organisation du projet. 15 II.1 La place du projet dans la structure de l entreprise. 15 II.2 Les acteurs. 18 SOMMAIRE CHAPITRE 1 INTRODUCTION I Définition du projet et de la gestion de projets. 7 I.1 Définition du projet. 7 I.2 Définition de la gestion des projets. 10 I.3 Interaction formulation - résolution

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS Avec l appui de l INRIA www-rocq.inria.fr/syndex 1 PLAN I. Présentation du sujet II. Présentation

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Certifying an Automated Code Generator Using Formal Tools

Certifying an Automated Code Generator Using Formal Tools Certifying an Automated Code Generator Using Formal Tools Preliminary experiments in the GeneAuto Project N. Izerrouken, X. Thirioux, M. Pantel, M. Strecker IRIT-ACADIE Continental Automotive Toulouse,

Plus en détail

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

3 Instructions (suite)

3 Instructions (suite) Initiation à la programmation et cours 2 1 3 Instructions (suite) Introduction En comme en programmation : l'ordre des instructions est primordial Le processeur exécute les instructions dans l'ordre dans

Plus en détail

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013»

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» I Objectifs Niveau fondamental : «on se fixe pour objectif la

Plus en détail

Master Informatique Fondamentale - M1 Compilation

Master Informatique Fondamentale - M1 Compilation Master Informatique Fondamentale - M1 Compilation Analyse Statique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr perso.ens-lyon.fr/paul.feautrier 12 mai 2007 1 / 38 Indécidabilité de la Terminaison

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Thème 11 Réseaux de Petri Places-Transitions

Thème 11 Réseaux de Petri Places-Transitions Thème 11 Réseaux de Petri Places-Transitions Contenu du thème 1. Introduction 2. RdP PT 3. Protocoles de communication Références Diaz, Michel (2001) Les Réseaux de Petri Modèles fondamentaux, Hermes Science

Plus en détail

Montages non linéaires à amplificateurs opérationnels

Montages non linéaires à amplificateurs opérationnels Montages non linéaires à amplificateurs opérationnels Partie théorique I. omparateur L utilisation la plus simple d un amplificateur opérationnel (AOP) en montage non-linéaire est le comparateur. Deux

Plus en détail

Vérification formelle d un modèle mémoire pour le langage C

Vérification formelle d un modèle mémoire pour le langage C Vérification formelle d un modèle mémoire pour le langage C Projet ANR ARA SSIA CompCert (http://compcert.inria.fr) Sandrine Blazy, Xavier Leroy CEDRIC-ENSIIE et INRIA Rocquencourt CEA-LIST, 18 mars 2008

Plus en détail

Deuxième partie II ALGORITHMES DANS LES GRAPHES

Deuxième partie II ALGORITHMES DANS LES GRAPHES Deuxième partie II ALGORITHMES DANS LES GRAPHES Représentation des graphes Représentation en mémoire : matrice d incidence / Matrice d incidence Soit G = (, E) graphe simple non orienté avec n = et m =

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Sur la structure rationnelle du calcul infini

Sur la structure rationnelle du calcul infini Sur la structure rationnelle du calcul infini Damian Niwiński, Université de Varsovie exposé à l occasion de la remise de la Médaille de Bronze du CNRS à Igor Walukiewicz 1 Les idées mathématiques rationnel

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

Plus en détail

Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources

Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources Jonathan Lejeune LIP6-UPMC/CNRS, Inria 19 septembre 2014 Directeur : Pierre Sens Encadrants : Luciana Arantes et

Plus en détail

AVATAR. Un profil SysML temps réel outillé

AVATAR. Un profil SysML temps réel outillé AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr SysML France, 6 décembre 2010 Agenda De TURTLE à AVATAR Le langage

Plus en détail

Multiplication par une constante entière

Multiplication par une constante entière Multiplication par une constante entière Vincent Lefèvre Juin 2001 Introduction But : générer du code optimal à l aide d opérations élémentaires (décalages vers la gauche, additions, soustractions). Utile

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Programmation avancée

Programmation avancée Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011 Plan du cours 1 2 3 4 5 6 7 8 9 10 Algorithmes Définition

Plus en détail

Cours d Algorithmique et structures de données 1

Cours d Algorithmique et structures de données 1 Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université Mohamed Khider - Biskra Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie Département d Informatique

Plus en détail

DUT Informatique - Module M-4102C Modélisation et construction des applications réparties

DUT Informatique - Module M-4102C Modélisation et construction des applications réparties DUT Informatique - Module M-4102C Modélisation et construction des applications réparties Applications réparties (distributed systems) J. Christian Attiogbé Février 2009, maj 2015 J. Christian Attiogbé

Plus en détail

Modélisation de la Résolution de Problèmes

Modélisation de la Résolution de Problèmes Modélisation de la Résolution de Problèmes - Rappels : «Suite d opérations par lesquelles on conclut qu une proposition implique la vérité d une autre proposition» ( * ) Historiquement : Nécessité de séparer

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

Chapitre 7. Problèmes de flots. 7.1 Exemple. 7.2 Notions de base sur les graphes

Chapitre 7. Problèmes de flots. 7.1 Exemple. 7.2 Notions de base sur les graphes Chapitre 7 Problèmes de flots. 7.1 Exemple. Un réseau electrique est formé de lignes reliant des noeuds (transformateurs, centre de redistributions,...), chaque ligne a une capacité de transport maximale.

Plus en détail

Démonstrations. Chapitre 4. 4.1 Introduction

Démonstrations. Chapitre 4. 4.1 Introduction Chapitre 4 Démonstrations L objectif de ce chapitre est de commencer à aborder la question fondamentale suivante : qu est-ce qu une démonstration? Pour cela, plus précisément, on va se focaliser dans ce

Plus en détail

CHAPITRE 5 : ANALYSE LEXICALE

CHAPITRE 5 : ANALYSE LEXICALE CHAPITRE 5 : ANALYSE LEXICALE L analyse lexicale est un autre domaine fondamental d application des automates finis. Dans la plupart des langages de programmation, les unités lexicales (identificateurs,

Plus en détail

L2: cours I4c Langages et automates

L2: cours I4c Langages et automates L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr Modifié le 31 mai 2007 Sommaire Utiles pour compilation, interprétation,... 1. Langages rationnels 2. Langages

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Intelligence Artificielle Planification

Intelligence Artificielle Planification Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes

Plus en détail

Principes de fonctionnement des moteurs d inférences. Le Moteur d Inférences (MI)

Principes de fonctionnement des moteurs d inférences. Le Moteur d Inférences (MI) Principes de fonctionnement des moteurs d inférences 1 Le Moteur d Inférences (MI) BCD Si A et B -> D Si A et non D -> non C BCP Moteur d Inférences A vrai C faux B? D? Le MI décide, en fonction de la

Plus en détail

Récupération automatique de la

Récupération automatique de la Récupération automatique de la mémoire 1 Plan 1. La gestion du tas. 2. Marquage et balayage. 3. Comptage de références. 4. Récupération par copie. 5. Compléments. 2 Problématique Le code exécutable généré

Plus en détail

Algèbre de Boole - Fonctions Booléennes

Algèbre de Boole - Fonctions Booléennes Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Algèbre de Boole - Fonctions Booléennes jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Thomas Ropars Équipe-projet PARIS 1 Les applications de calcul scientifique Objectifs : Simuler des

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Module OMGL - UE ModDyn

Module OMGL - UE ModDyn Module OMGL - UE ModDyn Modélisation de la dynamique / Réseaux de Petri J. Christian Attiogbé Février 2009, maj 2012 J. Christian Attiogbé (Février 2009, maj 2012) Module OMGL - UE ModDyn 1 / 34 Plan de

Plus en détail

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

Programmation logique par contraintes. Partie II

Programmation logique par contraintes. Partie II Programmation logique par contraintes Partie II Plan du cours Programmation logique et Prolog (PL) SWI-Prolog, Sicstus Programmation logique par contraintes (PLC) Sicstus Problèmes de satisfaction de contraintes

Plus en détail

Introduction à la programmation en variables entières Cours 3

Introduction à la programmation en variables entières Cours 3 Introduction à la programmation en variables entières Cours 3 F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 272 Sommaire Notion d heuristique Les algorithmes gloutons

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Problème combinatoire sur le réseau de transport de gaz Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Au programme Présentation du problème Un problème d optimisation

Plus en détail

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI Chapitre 6 Modélisation en P.L.I. 6.1 Lien entre PL et PLI (P) problème de PL. On restreint les variables à être entières : on a un problème de PLI (ILP en anglais). On restreint certaines variables à

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste

Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste Pierrick Brunet Encadré par Serge Guelton Etudiant à Télécom Bretagne Stage de fin d étude à Quiet Oceans Sixièmes

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail