Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. ·...
Transcript of Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. ·...
![Page 2: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/2.jpg)
Présentation
Ce cours abordera :
les mathématiques pour l’informatique (mathématiques discrètes, logique, dénombrement)
la formalisation des objets informatiques (induction, langages formels, théorie des graphes)
l’étude des performances des ordinateurs (complexité)
![Page 3: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/3.jpg)
BibliographieConcepts fondamentaux de l’informatique Aho & Ullman, éd. Dunod.
Mathématiques pour l’informatiqueA. Arnold & I. Guessarian, éd. EdiScience.
Méthodes mathématiques pour l’informatique J. Vélu, éd. Dunod.
Introduction à l’algorithmique Cormen, Leiserson & Rivest, éd. Dunod.
Mathématiques discrètes et informatique, N.H. Xuong, éd. Masson.
![Page 4: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/4.jpg)
Organisation du semestreDébut des cours le mardi 9 Septembre
Début des TD le mardi 16 Septembre
Cours et TD du Mardi 11 Novembre remplacés le 18 Novembre
Quelques interrogations écrites de 10mn en TD, dont la moyenne sera pondérée par l’asssiduité et la participation
![Page 5: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/5.jpg)
EvaluationDeux devoirs surveillés (coeff 1/3 chacun)
Mardi 18 Novembre
Mardi 16 Décembre
Quelques interrogations écrites de 10mn en TD, dont la moyenne sera pondérée par l’asssiduité et la participation(coeff 1/3)
![Page 6: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/6.jpg)
Supports
Polycopiés distribués en cours
Transparents
Feilles de TD
Supports disponibles également sur votre espace jalon
![Page 7: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/7.jpg)
Votre espace “Jalon”
![Page 8: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/8.jpg)
Votre espace “Jalon”
![Page 9: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/9.jpg)
Votre espace “Jalon”
![Page 10: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/10.jpg)
Travaux Dirigés
Filière Math-Info
Groupe 1. J-M. Fédou
Mercredi 8h30 - 10h M1-4
Mercredi 14h45-16h15 M2-7
Groupe 2. S. Julia
Mercredi 8h30 - 10h M1-6
Mercredi 13h-14h30 M1-1
Filière MPIE
Groupe 1. J-M. Fédou,
Mardi 8h30 -11h45 , M2-4
Groupe 2. B. Beauquier
Lundi 13h-14h30 M2-3
Jeudi 8h30-10hM2-4
Groupe 3. B. Beauquier
Mardi 10H15- 11h45 M2-3
Jeudi 8h30-10h M2-5
![Page 11: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/11.jpg)
Motivations Mathématiques discrètes et Informatique
L’informatique ne manipule que des suites FINIES de 0 et de 1
Textes. Une page A4 comporte environ 2500 caractères, chacun codé sur 8 bits en ISO 8859-1 (Latin1)
Images. Une image standard contient aujourd’hui 8 millions de pixels
Sons. Un morceau de musique de 6mn au format MPeg 3 nécessite 8 Mégaoctets
Vidéos. Une vidéo de 6mn sur youtube nécessite 15 Mo
Programmes. Le programme qui a permis d’écrire ce document a une taille de 283,7 Mégaoctets
![Page 12: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/12.jpg)
La géométrie de l’ordinateur n’est pas euclidienne
12
![Page 13: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/13.jpg)
La géométrie informatique n’est pas euclidienne
Deux droites non parallèles peuvent
• n’avoir aucun points d’intersection
• ou peuvent en avoir plusieurs
![Page 14: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/14.jpg)
Limites de l’informatique
Certains problèmes n’ont pas de solutions, comme le problème de l’arrêt.
D’autres ont des solutions, mais algorithmiquement inefficaces (Sac à dos, Voyageur de commerce)
Certains algorithmes sont meilleurs que d’autres
![Page 15: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/15.jpg)
Langages
Au début étaient les cartes perforées, l’assembleur et ce n’est que dans les années 50-60 que sont apparus des langages de programmation plus pratiques à utiliser
La théorie des langages est à la base des compilateurs ou interpréteurs que vous utilisez : analyse lexicale, analyse syntaxique, analyse sémantique ...
La théorie des langages a des applications dans bien d’autres domaines
Cryptographie, codes
Compression
Biologie (Etude du génome)
![Page 16: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/16.jpg)
Théorie des graphes
Les graphes modélisent les réseaux de communication, les bases de données, le web, ....
Les algorithmes de graphes sont utilisés partout en Informatique
La recherche dans le domaine des graphes et des réseaux est très active
![Page 17: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/17.jpg)
Théorie des graphes
Image du web
![Page 18: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/18.jpg)
Théorie des graphes
Réseaux sociaux
![Page 19: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/19.jpg)
Théorie des graphes
Systèmes de fichiers
Graphes de dépendances
Structure RNA
![Page 20: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/20.jpg)
Plan du cours
1. Ensembles et Dénombrabilité
2. Relations, Fonctions et Ordres
3. Récurrence et Induction
4. Logique Propositionnelle
5. Logique des Prédicats
6. Dénombrement
7. Suites Récurrentes
8. Graphes et Arbres
9. Complexité des Algorithmes
10. Langages Rationnels
11. Automates finis
12. Algorithmique de graphes
![Page 21: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/21.jpg)
Ensembles
et
dénombrabilité
![Page 22: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/22.jpg)
Ensembles et élémentsUn ensemble d’éléments est une collection d’objets distincts.
Un ensemble est défini par les éléments qu’il contient et qui lui appartiennent.
La relation d’appartenance d’un élément à un ensemble est notée ∈ (ex: x ∈ E).
L’unique ensemble qui ne contient aucun élément est l’ensemble vide, noté ∅
Les éléments d’un ensemble ne sont pas ordonnés entre eux.
Un ensemble peut être élément d’un autre ensemble, mais pas de lui-même ! (voir le paradoxe de Russell)
![Page 23: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/23.jpg)
Calcul ensemblisteOpérations sur les ensembles:
Union : x∈A∪B ssi (x∈A ou x∈B)
Intersection : x∈A∩B ssi (x∈Aet x∈B)
Complémentaire : x∈A = C(A) ssi x∉A
Différence : A\B=A∩B
Différence symétrique : A∆B=A\B∪B\A
Produit cartésien : (x,y)∈A×B ssi x∈A et y∈B
Note: deux ensembles sont dits disjoints si leur intersection est vide.
BA
A∩B
![Page 24: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/24.jpg)
Calcul ensemblisteSoient A, B et C trois ensembles.
Commutativité : A∪B = B∪A A∩B=B∩A
Associativité : (A∪B)∪C=A∪(B∪C) (A∩B) ∩C=A∩(B∩C)
Distributivité:
De l’union par rapport à l’intersection ( à gauche et à droite)
A∪(B∩C) =(A∪B) ∩(A∪C) (A∩B) ∪C=(A∪C) ∩(B∪C)
De l’intersection par rapport à l’union ( à gauche et à droite)
A∩(B∪C) =(A∩B) ∪(A∩C) (A∪B) ∩C=(A∩C) ∪(B∩C)
Lois de Morgan : A∪B = B∩A A∩B = B∪A
![Page 25: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/25.jpg)
Fonction caractéristiqueLa fonction caractéristique d’une partie A d’un ensemble E est définie par XA : E {0,1}
XA(x) = 1 si x ∈ A
XA(x) = 0 si x∉A
On remarque que
XA∩B(x)= XA(x) XB(x)
XA∪B(x)= XA(x)+ XB(x)-XA∩B(x)XA(x)= 1-XA(x)
![Page 26: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/26.jpg)
Définition d’un ensembleUn ensemble peut être défini :
en extension: par la liste exhaustive de ses éléments
ex. {2,4,6,8}
en compréhension: par une propriété vérifiée par ses éléments (en général déjà définis dans un (sur-)ensemble donné)
ex: les entiers naturels pairs (dans le sur-ensemble IN)
![Page 27: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/27.jpg)
ExemplesDans la sémantique de Java, un type primitif correspond à un ensemble de valeurs.
le type boolean s’interprète comme l’ensemble {VRAI, FAUX}
le type int, comme l’ensemble des entiers d’un intervalle [ −2 32 , 232 [
le type long, comme l’ensemble des entiers d’un intervalle [ −2 64 , 264 [
le type float, comme l’ensemble des nombres flottants à double précision (représentés sur 32 bits)
le type double, comme l’ensemble des nombres flottants à double précision (représentés sur 64 bits) . Attention, ce n’est pas l’ensemble R, puisque c’est un ensemble fini (il n’y a que 264 valeurs possibles), qui contient seulement certains nombres réels
![Page 28: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/28.jpg)
Inclusion d’ensembleOn dit qu’un ensemble E est inclus dans un ensemble F lorsque tout élément de E est également élément de F.
La relation d’inclusion entre deux ensembles est notée ⊆ : A ⊆ B ssi (x ∈ A ⇒ x ∈ B)
donc A=B ssi (A ⊆ B et B ⊆ A)
![Page 29: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/29.jpg)
Ensemble des parties d’un ensemble
Etant donné un ensemble E, l’ensemble de ses parties est noté P(E)
P(E)={A/ A ⊂ E}
Attention, si x ∈ E, alors
{x} ⊂ E
{x} ∈ P(E)
P(E) contient au moins ∅ et E comme éléments
![Page 30: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/30.jpg)
Paradoxe de Russell
Considérons la définition E={F tel que F est un ensemble},Autrement di, E est l’ensemble de tous les ensembles.
On a une contradiction en remarquant que :
«F est un ensemble» est bien une propriété mais ici le sur-ensemble serait E lui-même...
Et donc, si E était un ensemble bien défini alors on aurait E∈E!
Il fut découvert par Bertrand Russell vers 1901 et publié en 1903. Il avait été découvert par Ernst Zermelo, autour de 1900, qui ne l'a pas publié
![Page 31: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/31.jpg)
Paradoxe de Russell Raisonnement par l’absurde: si E est bien un ensemble, alors on peut aussi définir l’ensemble
A={G∈E tel que G∉G}
De deux choses l’une:
soit A∈A et alors A∉A ⇒ contradiction
soit A∉A et alors A∈A ⇒ contradiction aussi
D’où le paradoxe L’ensemble de tous les ensembles n’existe pas !
![Page 32: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/32.jpg)
Le cardinal d’un ensemble précise la notion de nombre d’éléments . On dira que deux ensembles ont même cardinalité lorsqu’il peuvent être mis en bijection.
On distingue en particulier
Les ensembles finis (dénombrables au sens large), sont les ensembles qui peuvent être mis en bijection avec {1,2,…,n}
Les ensembles infinis dénombrables, en bijection avec IN, de cardinal noté ℵ0.
Les ensembles infinis non-dénombrables, impossibles à mettre en bijection avec IN.
Cardinalité
![Page 33: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/33.jpg)
L’ensemble [0,1[ est infini non dénombrable
Argumentation : diagonale de Cantor
- Si [0,1[ était dénombrable alors [0,1[={xi ,i ∈ IN}.
- Tout réel xi admet un écriture décimale illimitée xi=0,xi1xi2...xii... où ik ∈{0,1,2,...,9}
- Considérons alors une suite d’entier yn de {0,1,2,...,8} tq
. yn ≠ xnn pour tout entier n
- Alors y=0, y0 y1 y2 ... yn ... est différent de chacun des xi
![Page 34: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/34.jpg)
L’ensemble IN2 est dénombrable
0 1 2 3 4 5 6 7 8 9
0 0 2 5 9 14 20
1 1 4 8 13 19
2 3 7 12 18
3 6 11 17 24
4 10 16 23
5 15 22
6 21
7
8
![Page 35: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/35.jpg)
Le cardinal d’un ensemble E fini est noté |E |. Remarquons que |E | = Σx∈E XE(x)
Si E et F sont deux ensembles disjoints alors
|E∪ F | = |E |+ |F |
Si (Ei)est une partition d’un ensemble E alors |E | = Σi |Ei |
Si E et F sont deux ensembles quelconques alors |E∪ F |= |E |+ |F | − |E ∩ F |
Formule du Crible (généralisation à n ensembles (Ei)1 ≤ i ≤ n)
Cardinaux finis
![Page 36: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/36.jpg)
Soient E, F des ensembles finis.
Principe multiplicatif
|E × F |= |E |∗ |F |
Généralisation à n ensembles
Principe d’égalité
Il existe une bijection entre E et F ssi |E|= |F|
Cardinaux finis
![Page 37: Outils Formels pour l’Informatiquefedou/OFI2008-2009/OFI-Cours1.pdf · 2009. 11. 18. · Présentation Ce cours abordera : les mathématiques pour l’informatique (mathématiques](https://reader034.fdocument.pub/reader034/viewer/2022052101/603ab79a17db1d1b424256fc/html5/thumbnails/37.jpg)
Soient E et F deux ensembles finis.
Principe d’inégalité ou principe des tiroirs : (pigeon-hole principle)
Si |E |> |F | alors il n’existe pas d’injection de E dans F.
Interprétation équivalente :
Si n objets sont dans m tiroirs et si n>m, alors il existe au moins un tiroir qui contient au moins deux objets.
Si n pigeons nichent dans m trous, alors il y a au moins deux pigeons dans un même trou
Cardinaux finis