37
Outils Formels pour l’Informatique Jean-Marc Fédou [email protected]

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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

Outils Formels pour l’Informatique

Jean-Marc Fé[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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