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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Arbres couvrants minimaux

Arbres couvrants minimaux Arbres couvrants minimaux Algorithmique L François Laroussinie er décembre 00 Plan Définitions Algorithme de Prim Algorithme de Kruskal Application au voyageur de commerce Plan Définitions Algorithme de

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

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

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

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

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

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

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

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

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

Algorithme Algorigramme

Algorithme Algorigramme CONVENTIONS D ECRITURE : Définition : Un algorithme est une série d actes ou d opérations élémentaires qu il faut exécuter en séquence pour accomplir une tâche quelconque, en suivant un enchaînement strict.

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

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

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

Méthodes de Résolution de problèmes En Intelligence Artificielle

Méthodes de Résolution de problèmes En Intelligence Artificielle Méthodes de Résolution de problèmes En Intelligence Artificielle Résolution de Problèmes et Intelligence Artificielle Résoudre des puzzles Jouer aux échecs Faire des mathématiques Et même conduire une

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

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

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

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

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

Interprétation Abstraite

Interprétation Abstraite Interprétation Abstraite Paul Feautrier Paul.Feautrier@ens-lyon.fr. ENS Lyon Projet Compil 1/25 Plan Concepts de Base Exemple : signe des variables Le treillis des signes Interprétation abstraite Exemple

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

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

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

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

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

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)

Plus en détail

Algorithmes pour les graphes

Algorithmes pour les graphes Algorithmes pour les graphes 1 Définitions Un graphe est représenté par : V : L ensemble des noeuds ou sommets. E : L ensemble des arcs ou arrêtes. E est un sous-ensemble de V xv. On note G = (V, E). Si

Plus en détail

UPMC Master informatique 2 STL NI503 Conception de langages Notes I

UPMC Master informatique 2 STL NI503 Conception de langages Notes I UPMC Master informatique 2 STL NI503 Conception de langages Notes I 2012 1 Évaluer Un langage Le langage Logo est composé commandes permettant de diriger le déplacement d un point sur un plan cartésien

Plus en détail

Le Hachage Parfait Fait-il un Parfait Test de Sous-typage?

Le Hachage Parfait Fait-il un Parfait Test de Sous-typage? Le Hachage Parfait Fait-il un Parfait Test de Sous-typage? Roland Ducournau LIRMM CNRS Université Montpellier II Langages et Modèles à Objets Nîmes 2006 Roland Ducournau (LIRMM) Hachage Parfait et Test

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

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

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

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Journées GDR GPL Transformations de modèles et de programmes 18 janvier 2008

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

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

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

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

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

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

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail

Chap. 2. Langages et automates

Chap. 2. Langages et automates Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique

Plus en détail

Informatique CM5 Synthèse :

Informatique CM5 Synthèse : Informatique CM5 Synthèse : 1. Tuples et enregistrements : Un enregistrement a une étiquette, des champs et des noms de champs - L étiquette et les noms des champs sont des atomes ou des entiers - L opération

Plus en détail

Intelligence Artificielle. Dorra BEN AYED

Intelligence Artificielle. Dorra BEN AYED Intelligence Artificielle Dorra BEN AYED Chapitre 2 Résolution de problème en IA Par recherche Introduction Résoudre un pb c est chercher un chemin qui permet d aller d une situation initiale à une situation

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

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

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle Plan Deuxième partie 1 2 Primitives de gestion des activités 2 / 26 4 / 26 Interférences et isolation Contenu de cette partie di cultés résultant d accès concurrents à un objet partagé mise en œuvre de

Plus en détail

Planification et ordonnancement sous incertitudes Application à la gestion de projet

Planification et ordonnancement sous incertitudes Application à la gestion de projet Toulouse, 14 mai 2003 Planification et ordonnancement sous incertitudes Application à la gestion de projet Julien Bidot Plan Séminaire au LAAS Planification de tâches et ordonnancement Domaine d application

Plus en détail

APRON: Analyse de PRogrammes Numérique

APRON: Analyse de PRogrammes Numérique Introduction APRON: Analyse de PRogrammes Numérique Projet 2004 François Irigoin École des Mines de Paris - Centre de Recherche en Informatique 17 novembre 2004 Introduction Pourquoi? Analyse statique

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

Solveur linéaire sur GPU

Solveur linéaire sur GPU Thomas JOST 1 Sylvain CONTASSOT-VIVIER 1,2 Stéphane VIALLE 1,3 1 Équipe AlGorille, LORIA 2 Université Henri Poincaré Nancy 1 3 Équipe IMS Supélec (Metz) 1 Introduction 2 Contraintes et algorithmes Structure

Plus en détail

Détection de la terminaison distribuée

Détection de la terminaison distribuée Cours Algorithmique répartie Master 2 Université Paris-Diderot Devoir 1 (à rendre avant le 22 février 2010) Détection de la terminaison distribuée Généralités Π = {p 0,..., p n 1 } est l ensemble des processus.

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

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

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