Devoir 1 en temps limité Un corrigé
|
|
- Flavien Michel
- il y a 7 ans
- Total affichages :
Transcription
1 Devoir 1 en temps limité Un corrigé ARBRES DE BETH 1 Arbre de Beth associé à une formule 1. (a) Les branches de N(0, B 1, B 2 ) sont exactement celles de B 1 et celles de B 2 auxquelles on ajoute un 0 en tête. Comme on ne tient pas compte de 0, les clauses de N(0, B 1, B 2 ) sont donc exactement celles de B 1 et celles de B 2. (b) La formule associée à N(0, B 1, B 2 ) est donc ( F 1 F 2 ). Comme F i et F i sont logiquement identiques, ( F 1 F 2 ) est logiquement identique à (F 1 F 2 ). 2. (a) Les branches de B sont les concaténations d une branche de B 1 et d une branche de B 2. Les clauses associées à B sont donc exactement les conjonctions d une clause de F 1 et d une clause de F 2. En notant F 1 = C 1 C u et F 2 = C 1 C v où les C k et C k sont des clauses, la formule associée à B est ainsi C i C j (b) Par distributivité, cette formule est identique à ( ) ( ) C i = F 1 F 2 et donc aussi identique à F 1 F 2. i i,j (c) Comme il convient de parcourir uniquement le premier arbre (la récursivité ne porte pas sur le second) j ai choisi d écrire une fonction auxiliaire locale parcourt : betharbre betharbre qui pr uniquement en argument le premier arbre (et renvoie l arbre obtenu en ajoutant le second comme fils gauche aux feuilles). let concatene b1 b2 = let rec parcourt b = match b with Vide -> Vide N(i,Vide,Vide) -> N(i,b2,Vide) N(i,g,d) -> N(i,parcourt g,parcourt d) in parcourt b1;; 3. Comme (( F 1 )) est identique à F 1, l arbre B 1 convient. 4. Par formule de DeMorgan, (F 1 F 2 ) (( F 1 ) ( F 2 )). Il nous suffit donc de construire les arbres B i associés aux ( F i) et d utiliser la technique de concaténation de la question 2. De même, (F 1 F 2 ) (( F 1 ) ( F 2 )). Il nous suffit donc de construire les arbres B i associés aux ( F i ) et de renvoyer N(0, B 1, B 2 ). 5. On a (F 1 F 2 ) ( F 1 ) F 2. Avec les notations précédentes, on renvoie N(0, B 1, B 2). De même (F 1 F 2 ) F 1 ( F 2 ) et il suffit de renvoyer la concaténation de B 1 et de B Si on suit l algorithme précédent, on trouve l arbre ci-dessous : i C i 1
2 Il suffit de suivre les formules des questions qui précédent. let rec construitb f = match f with Var i -> N(i,Vide,Vide) Non(Var i) -> N(-i,Vide,Vide) Ou (f1,f2) -> N(0,construitB f1,construitb f2) Et (f1,f2) -> concatene (construitb f1) (construitb f2) Non (Non f) -> construitb f Non (Ou(f1,f2)) -> concatene (construitb(non f1)) (construitb(non f2)) Non (Et(f1,f2)) -> N(0,construitB(Non f1),construitb(non f2)) Imp(f1,f2) -> N(0,construitB (Non f1),construitb f2) Non (Imp(f1,f2)) -> concatene (construitb f1) (construitb (Non f2));; Dans les appels réursifs, le nombre de connecteurs présents dans la formule argument diminue strictement. On finit donc par des appels avec des formules sans connecteurs, ce qui est un cas de base. On prouve donc la terminaison de l appel construitb f par récurrence sur le nombre de connecteurs présents dans f. 2 Forme disjonctive 8. (a) On parcourt la liste en tirant partie de l évaluation paresseuse. let rec mem x l = match l with [] -> false y::q -> (x==y) (mem x q);; (b) Si la clause s écrit [i 1 ;... ; i k ], il suffit de vérifier que u < v, i u i v. On utilise encore l évaluation paresseuse qui évite un appel récursif inutile. let rec satisclause c = match c with [] -> true i::q -> (not (mem (-i) q)) && (satisclause q);; Le choix du cas de base est cohérent avec le cas d une clause de longueur 1. (c) mem étant de complexité linéaire en fonction de la taille de la liste, satisclause est de complexité quadratique en fonction de la taille de la clause. 2
3 9. Une forme disjonctive est satisfiable si et seulement si l une des clauses qui la composent l est. On teste donc la satisfiabilité de la première clause et, en cas d échec, de la liste des autres (l évaluation paresseuse assure que l appel récursif n est pas effectué quand la première clause est satisfiable). let rec satisfd f = match f with [] -> false c::q -> (satisclause c) (satisfd q) ;; Le choix du cas de base est cohérent avec le cas d une formule comportant une unique clause. 10. (a) On veut montrer que deux clauses c et c sont logiquement identiques si et seulement si on est dans l un des cas suivants : - c et c sont non satisfiables ; - c et c sont composées des mêmes littéraux. Le sens réciproque est immédiat. On remarque qu une valuation satisfait une clause si et seulement si elle r égaux à vrai tous les littéraux composant la clause. Une clause satisfiable a donc une valuation satisfaisante minimum : celle qui r égaux à vrai tous les littéraux et à faux toutes les variables qui n apparaissent pas dans la clause. Supposons donc c c et que c ou c est satisfiable. Ceci entraîne que c et c sont satisfiables et le sont pour les mêmes valuations. Elles ont donc même valuation minimum et donc les mêmes littéraux. (b) On regarde si le premier élément de c1 est dans c2 puis on effectue un appel récursif avec la queue de c1. let rec inferieur c1 c2 = match c1 with [] -> true i::q -> (mem i c2) && (inferieur q c2) ;; (c) Il suffit d appliquer la CNS trouvée plus haut. let testclauses c1 c2 = (not (satisclause c1) && not (satisclause c2)) ( (inferieur c1 c2) && (inferieur c2 c1) );; 11. (a) Fonction récurrente élémentaire sur une liste. let rec ajoute x l = match l with [] -> [] l1::q -> (x::l1)::(ajoute x q) ;; (b) Dans l arbre vide, on n a aucune feuille et donc aucune branche, la forme disjonctive est donc vide. Dans le cas d une feuille on a une branche qui contient un unique élément. Si cet élément est non nul, on a une unique clause de taille 1. Sinon, on a une unique clause de taille 0. Dans le cas général, on a un arbre N(i, g, d). On concatène les formules associées à g et d et à chaque clause de la liste, on ajoute i en tête si i 0 avec la fonction ajoute. let rec beth_to_fd b = match b with Vide -> [] N(0,Vide,Vide) -> [[]] N(i,Vide,Vide) -> [[i]] N(0,g,d) -> (beth_to_fd g)@(beth_to_fd d) N(i,g,d) -> ajoute i ((beth_to_fd g)@(beth_to_fd d));; 3
4 3 Satisfiabilité d une formule 12. On gère une valuation initialement égale à [ 0; 0; 0; 0; 0 ]. - On parcourt l arbre où l on rencontre 1 puis 2 ce qui nous amène à une valuation égale à [ 0; 1; 1; 0; 0 ]. - On rencontre alors 1 et ceci nous indique que la première branche ne peut être satisfaite (la clause contient x 1 et ( x 1 )). - On revient sur nos pas et on rencontre 2 ce qui indique encore que la seconde branche est non satisfiable. - Il faut alors remonter jusqu au premier embranchement non exploré. Ici, il faut remonter jusqu à la racine. Lors de cette remontée, il faut à nouveau mettre à jour la valuation pour ne pas polluer l exploration suivante et on retombe sur [ 0; 0; 0; 0; 0 ]. - On explore des noeuds d étiquettes 2, 3 et on obtient la valuation [ 0; 0; 1; 1; 0 ]. - On continue et on trouve l étiquette 2 qui interrompt la recherche sur cette branche. - On remonte au précédent embranchement utile ce qui nous fait revenir au noeud d étiquette 2 avec une valuation [ 0; 0; 1; 0; 0 ]. - On rencontre alors 1 puis 3 pour obtenir une valuation [ 0; 1; 1; 1; 0 ]. Comme on est au bout de la branche, on a trouvé une valuation validant une clause. La formule est satisfiable et on a trouvé une valuation convenable. On renvoie [ 1; 1; 1; 1; 0 ]. 13. Le numéro maximal d une variable est le maximum de l étiquette et des numéros de variables des fils droit et gauche. Dans le cas de base où l arbre est vide, on choisit de renvoyer 0 ce qui est cohérent avec le cas d une feuille ou d un noeud ayant un unique fils non vide (cette valeur 0 ne changeant pas la valeur du maximum calculé). let rec nbvariable b = match b with Vide -> 0 N(i,g,d) -> max (abs i) (max (nbvariable g) (nbvariable d));; 14. Le cas de base est celui où l on tombe sur une feuille. Si on peut donner une valeur non contradictoire avec ce que l on a déjà à la variable associée, on le fait et on renvoie true. Sinon, on renvoie false. Ceci nous amène à distinguer deux cas symétriques selon le signe du littéral représenté par la feuille. Notons qu à priori, il ne doit pas exister de feuille étiquetée par 0. Cepant, dans ce cas, il est naturel de renvoyer true sans rien faire car la formule est vide. Dans le cas récurrent, on daoit encore distinguer selon que l étiquette de la racine est nulle ou non. Dans le second cas, on a deux situations symétriques selon le signe de l étiquette. Dans chaque cas, on essaye de donner une valeur à la variable associée. Si ce n est pas possible, on a une contradiction et on renvoie false. Sinon, on donne cette valeur et on examine les fils ; si les deux générent un échec il faut redonner à la variable associée à l étiquette sa valeur initiale. Le cas de l arbre vide est douteux. Si on veut que les appels récurrentes avec l arbre vide soient cohérents, on doit renvoyer la valeur false dans ce cas. let satisfiable b = let n=nbvariable b in let v=make_vect (n+1) 0 in let rec parcourt b = match b with Vide -> false N(0,Vide,Vide) -> true N(i,Vide,Vide) -> if i>0 then begin if v.(i)=(-1) then false v.(i) <- 1; true 4
5 else begin if v.(-i)=1 then false v.(-i) <- -1; true N(0,g,d) -> (parcourt g) (parcourt d) N(i,g,d) -> if i>0 then begin (* littéral positif *) if v.(i)=(-1) then false (* contradiction *) let x=v.(i) in (* mémorisation de la valeur *) v.(i) <- 1 ; if (parcourt g) (parcourt d) then true (* échec sur les fils *) v.(i) <- x; (* on redonne la valeur à la variable *) false (* cas similaire d un littéral négatif *) if v.(-i)=1 then false let x=v.(-i) in v.(-i) <- -1; if (parcourt g) (parcourt d) then true v.(-i) <- x; false in if parcourt b then begin (* cas satisfiable *) v.(0) <- 1; v v.(0) <- -1; v ;; GRAPHES EULERIENS 1 Chemins Eulériens fermés 1. On suppose G Eulérien. Il existe donc un chemin fermé P = x 1, x 2,..., x k, x 1 contenant toutes les arêtes du graphe. Comme le graphe est connexe, tous les sommets font partie du chemin. Si s est un sommet, le degré de s est le nombre d arêtes auxquelles participe s. Si s x 1, ce nombre est double du nombre d apparitions de s dans P. Si s = x 1, il est égal au double du nombre d apparitions de x 1 parmi x 2,..., x k plus deux (les deux apparitions du bord). Dans tous les cas, s est de degré pair. 5
6 2. Il suffit de voir si toutes les listes d adjacence sont de longueur paire. On peut s interrompre dès que l une de ces listes est de longueur impaire et on utilise donc une boucle conditionnelle. let est_eulerien g = let n=vect_length g in let i=ref 0 in while!i<n && list_length g.(!i) mod 2 = 0 do incr i done;!i=n;; Dans le cas le pire, on calcule la longueur de toutes les listes et la complexité est donc O( A ) (linéaire en fonction du nombre d arêtes). 3. (a) Soit s 1,..., s k un chemin non prolongeable. Soit H le graphe induit par ce chemin. Comme en question 1, si le chemin n est pas fermé, s 1 et s k ont un degré impair dans H. Comme Ils ont un degré pair dans G par hypothèse, on peut donc trouver une arête s k y dans G et pas dans H et on peut donc prolonger le chemin. On en déduit que s 1 = s k. (b) Dans le cas de l exemple, on obtient le chemin fermé [7; 6; 1; 7]. Le nouveau graphe est alors (c) On va avoir besoin de modifier les listes d adjacence en leur retirant des éléments. On écrit donc une fonction enlever : a a list a list qui à partir d une liste et d un élément renvoie la liste privée de la première occurence de l élément. let rec enlever y l = match l with [] -> [] x::q -> if x=y then q else x::(enlever y q);; Dans la fonction demandée, il suffit alors de modifier les cases g.(x) et g.(y) du tableau g. let supprime_arete x y g = g.(x) <- enlever y g.(x) ; g.(y) <- enlever x g.(y) ;; (d) J écris une fonction auxiliaire locale depart : int int list. Dans l appel depart y, on renvoie un chemin de y à x (connu puisque la fonction est locale). Il suffit de l appeler avec x. La fonction est simplement récurrente (on trouve un successeur z de y et on ajoute y à un chemin de z à x obtenu récursivement ; le cas de base est celui où x est le successeur trouvé pour y). let cheminferme g x = let rec depart y = let z=hd g.(y) in supprimer_arete y z g; if z = x then [y;x] else y::(depart z) in depart x 6
7 4. (a) Le chemin fermé P trouvé induit un sous-graphe dont les sommets sont tous degré pair. On ne change donc pas la parité des degrés en retranchant de G les arêtes de P. (b) On suppose qu il reste une arête xy dans G. Si x est l un des sommets de P alors on a directement un sommet de P de degré non nul dans G. Sinon, par connexité, il existe dans G un chemin de x vers l un des sommets de P. Ce chemin va d un sommet hors de P à un sommet dans P et il existe donc une première arête qui nous fait passer sur un sommet de P. Cette arête relie un sommet z de P à un sommet z hors de P. z est alors un sommet de P de degré non nul dans G. (c) On cherche un élément de la liste dont la liste d ajacence est non vide! let rec cherchersommet g p = match p with [] -> failwith "graphe non Eulérien" x::q -> if g.(x)=[] then cherchersommet g q else x ;; 5. (a) Puisque l on continue à privilégier les sommets de grand numéro, on obtient Incorporer P dans P donne le chemin fermé P = [7; 5; 4; 0; 5; 2; 0; 1; 3; 7] [7; 5; 4; 0; 5; 2; 0; 1; 3; 7; 6; 1; 7] qui est un chemin Eulérien fermé du graphe de départ. (b) La fonction incorporer : chemin chemin chemin pr en argument deux chemins c et p. On SUPPOSE que le premier élément x de c est élément de p et on remplace la première occurence de x dans p par c. let rec incorporer c p = match p with [] -> failwith "graphe non eulérien" x::q -> if x=hd c then c@q else x::(incorporer c q);; 6. (a) On a besoin d une fonction estvide :graphe bool testant si le graphe possède des arêtes. On teste si les listes d adjacence sont vides. On peut s arrêter dès que l on en trouve une non vide et on utilise donc une boucle conditionnelle. let estvide g = let n=vect_length g in let i=ref 0 in while!i<n && g.(!i)=[] do incr i done;!i=n;; Il reste à enchaîner les étapes. let rec agranditchemin g p = if estvide g then p let x=cherchersommet g p in let pp=cheminferme g x in agranditchemin g (incorporer pp p) ;; (b) Pour la fonction principale, j ai choisi ici de travailler avec une copie du graphe (même si l énoncé ne le demande pas). Il nous suffit de lancer le processus avec un chemin de longueur 0 et contenant donc un unique sommet. let chemineulerienferme g = let gg=copy_vect g in agranditchemin gg [0];; 7
8 2 Chemins Eulériens 7. Considérons l exemple suivant : Ce n est pas un graphe Eulérien d après le théorème d Euler (3 est de degré 3). Cepant, 1, 0, 3, 2, 1, 3 est un chemin Eulérien. Le graphe est donc semi-eulérien. 8. Un graphe connexe est semi-eulérien si et seulement si tous ses sommets sont de degré pair sauf deux qui sont de degré impair. - La condition est nécessaire. En effet, supposons que l on dispose d un chemin Eulérien ouvert x 1,..., x k alors tous les sommets sont parcourus. A part x k et x 1, il font tous partie d un nombre pair d arêtes (à chaque occurence d un sommet dans le chemin sont associées deux arêtes). x k et x 1 sont, eux, de degré impair (égal à 1 plus le nombre de fois où on les trouve parmi x 2,..., x k 1 ). - Réciproquement, supposons que G vérifie la condition sur les degrés. Soit G le graphe obtenu à partir de G en ajoutant un sommet s que l on relie aux deux sommets de degré impair (notés x 1 et x k ). G est alors Eulérien et on trouve un chemin Eulérien fermé pour G. Quitte à permuter, ce chemin fermé s écrit s, x 1,..., x k, s où les x i sont les sommets de G. x 1,..., x k est alors un chemin Eulérien pour G. 9. Il s agit d adapter l algorithme de parcours en profondeur à partir d un sommet. Il y a deux choses à prre en compte : - il faut s arrêter quand on a atteint le sommet cible (on ne veut pas chercher TOUS les sommets atteignables) ; - il faut stocker un chemin depuis le sommet source jusqu au sommets atteints (et pas seulement savoir qu on les a atteints). Pour le premier point, il suffit, dans la fonction récurrente, de ne pas faire l appel récursif quand on tombe sur le sommet cible. Pour le second point, il suffit de gérer un tableau des marques non plus constitué de booléens mais de chemins. Quand on découvre un sommet x, on place dans la case numéro x une liste [x;... ; b] constituant un chemin de x vers b. let route g a b = let n=vect_length g in let marque=make_vect n [] in marque.(b) <- [b] ; let rec parcourt x l = match l with [] -> () y::q -> if y=a then marque.(y) <- a::marque.(x) if marque.(y)=[] then begin marque.(y) <- y::marque.(x); parcourt y g.(y) ; parcourt x q 8
9 in parcourt b g.(b); marque.(a);; 10. On commence par trouver les deux sommets a et b de degré impair. C est le rôle de extremites : graphe int*int. let extremites g = let a=ref (-1) and b=ref (-1) in for i=0 to (vect_length g - 1) do if list_length g.(i) mod 2 =1 then if!a=(-1) then a:=i else b:=i done;!a,!b;; On cherche alors un chemin P entre les deux sommets trouvés (fonction route). En supprimant P du graphe, on se ramène alors au cas d un graphe Eulérien et on peut réutiliser la technique vue. On a besoin d une fonction supprime : chemin graphe unit transformant un graphe en enlevant les arêtes d un chemin. let rec supprime c g = match c with [] -> () [x] -> () x::y::q -> supprime_arete x y g ; supprime (y::q) g;; On suit alors le programme énoncé ci-dessus. let chemineulerien g = let gg=copy_vect g in let (a,b)=extremites gg in let p=route gg a b in supprime p gg ; agranditchemin gg p;; 9
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au
Plus en détail* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours
Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****
Plus en détailIntroduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Plus en détail# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailRésolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailFonctions de deux variables. Mai 2011
Fonctions de deux variables Dédou Mai 2011 D une à deux variables Les fonctions modèlisent de l information dépendant d un paramètre. On a aussi besoin de modéliser de l information dépendant de plusieurs
Plus en détailGroupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Plus en détail3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Plus en détailLes indices à surplus constant
Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté
Plus en détailThéorème du point fixe - Théorème de l inversion locale
Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion
Plus en détailFONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité
Plus en détailChapitre 6. Fonction réelle d une variable réelle
Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailEléments de Théorie des Graphes et Programmation Linéaire
INSTITUT NATIONAL POLYTECHNIQUE DE LORRAINE Ecole Nationale Supérieure d Electricité et de Mécanique Eléments de Théorie des Graphes et Programmation Linéaire Didier Maquin Professeur à l INPL Version
Plus en détailBaccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Plus en détailProbabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Plus en détailExo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.
Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3
Plus en détailLa 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étailEteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Plus en détailComparaison de fonctions Développements limités. Chapitre 10
PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailProgrammation 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étailCalcul différentiel sur R n Première partie
Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailExercices - Fonctions de plusieurs variables : corrigé. Pour commencer
Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy
Plus en détailDérivées d ordres supérieurs. Application à l étude d extrema.
Chapitre 5 Dérivées d ordres supérieurs. Application à l étude d extrema. On s intéresse dans ce chapitre aux dérivées d ordre ou plus d une fonction de plusieurs variables. Comme pour une fonction d une
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailÉquations non linéaires
Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et
Plus en détailImage d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détail6. Les différents types de démonstrations
LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,
Plus en détailProbabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur
Plus en détailCalcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.
1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le
Plus en détailChapitre 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étailChapitre 3. Les distributions à deux variables
Chapitre 3. Les distributions à deux variables Jean-François Coeurjolly http://www-ljk.imag.fr/membres/jean-francois.coeurjolly/ Laboratoire Jean Kuntzmann (LJK), Grenoble University 1 Distributions conditionnelles
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailChapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Plus en détailContexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,
Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très
Plus en détailProbabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailChapitre 2. Matrices
Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailThéorie des Graphes Cours 3: Forêts et Arbres II / Modélisation
IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes
Plus en détailVérification de programmes et de preuves Première partie. décrire des algorithmes
Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser
Plus en détailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailQuelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
Plus en détailOptimisation des fonctions de plusieurs variables
Optimisation des fonctions de plusieurs variables Hervé Hocquard Université de Bordeaux, France 8 avril 2013 Extrema locaux et globaux Définition On étudie le comportement d une fonction de plusieurs variables
Plus en détailSimulation de variables aléatoires
Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo
Plus en détailExtrait du poly de Stage de Grésillon 1, août 2010
MINI-COURS SUR LES POLYNÔMES À UNE VARIABLE Extrait du poly de Stage de Grésillon 1, août 2010 Table des matières I Opérations sur les polynômes 3 II Division euclidienne et racines 5 1 Division euclidienne
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailOptimisation Discrète
Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et
Plus en détailCalcul fonctionnel holomorphe dans les algèbres de Banach
Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailchapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailThéorèmes de Point Fixe et Applications 1
Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailCCP PSI - 2010 Mathématiques 1 : un corrigé
CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P
Plus en détailItems étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire
CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image
Plus en détailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Plus en détailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailDéveloppements limités, équivalents et calculs de limites
Développements ités, équivalents et calculs de ites Eercice. Déterminer le développement ité en 0 à l ordre n des fonctions suivantes :. f() e (+) 3 n. g() sin() +ln(+) n 3 3. h() e sh() n 4. i() sin(
Plus en détailLimites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Plus en détailExercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Plus en détail3. Conditionnement P (B)
Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
Plus en détailCours Fonctions de deux variables
Cours Fonctions de deux variables par Pierre Veuillez 1 Support théorique 1.1 Représentation Plan et espace : Grâce à un repère cartésien ( ) O, i, j du plan, les couples (x, y) de R 2 peuvent être représenté
Plus en détailChapitre 2. Eléments pour comprendre un énoncé
Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données
Plus en détailChapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme
Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet
Plus en détailLa persistance des nombres
regards logique & calcul La persistance des nombres Quand on multiplie les chiffres d un nombre entier, on trouve un autre nombre entier, et l on peut recommencer. Combien de fois? Onze fois au plus...
Plus en détailPlus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Plus en détailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailBACCALAUREAT GENERAL MATHÉMATIQUES
BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la
Plus en détailOptimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
Plus en détailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailmodules & compilation
Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation samuel.hornus@inria.fr http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions
Plus en détailDOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.
A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur
Plus en détailObjectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)
Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter
Plus en détailI. Polynômes de Tchebychev
Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailPremière partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015
Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k
Plus en détailProposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.
DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailLogique. Plan du chapitre
Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels
Plus en détailExo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.
Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailChp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
Plus en détailCorrection TD algorithmique
Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un
Plus en détailTP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options
Université de Lorraine Modélisation Stochastique Master 2 IMOI 2014-2015 TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options 1 Les options Le but de ce
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailObjets Combinatoires élementaires
Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détail