Math_Discrete33- Chap1-3 Bon_240419_161756_031042
Math_Discrete33- Chap1-3 Bon_240419_161756_031042
Math_Discrete33- Chap1-3 Bon_240419_161756_031042
Objets distincts On peut distinguer deux éléments entre eux et un ensemble ne peut pas contenir
deux fois le même objet.
Ensemble vide Il existe un ensemble qui ne contient aucun élément, c’est l’ensemble vide et on le
note ∅ ou {}.
Paradoxe de Russell Un ensemble peut être élément d’un autre ensemble mais pas de lui même.
Remarque I.1. Cette dernière règle peut ne pas sembler naturelle. A la naissance de la théorie des
ensembles, les mathématiciens ne voyaient pas d’objection à envisager un ensemble dont les élé-
ments seraient tous les ensembles : l’ensemble des ensembles. Russell leur opposa le paradoxe
suivant :
Supposons que l’ensemble de tous les ensembles existe, et notons-le E. On considère l’ensemble
A = {x ∈ E : x ∈ / x } . Comme E contient tous les ensembles, A appartient à E. Est-ce que A
appartient à A ?
— si A ∈ A alors par définition de A, on a A ∈ / A,
— si A ∈ / A alors par définition de A, on a A ∈ A.
I.1.3 Représentation
On peut représenter les ensembles à l’aide d’un diagramme de Venn, ce sont les fameux dia-
grammes “patates”.
Exemple I.4. L’ensembe {Pierre ; Paul ; Marie ; Julie ; Karim} se représente par :
Julie Pierre
×
×
Karim
×
Marie
×
Paul
×
I.2 Sous-ensembles
I.2.1 Inclusion
Définition I.1 (Sous-ensembles). L’ensemble A est un sous-ensemble de B si tous les éléments de A
sont des éléments de B (autrement dit x ∈ A =⇒ x ∈ B). On dit aussi que A est inclus dans B, on
le note A ⊆ B.
Définition I.2 (Egalité d’ensembles). Deux ensembles sont égaux si et seulement si ils ont les
mêmes éléments, autrement dit si A ⊆ B et B ⊆ A.
Remarque I.3. On a P (∅) = {∅} et P (P (∅)) = {∅, {∅}}. La notation ∅ décrit un ensemble qui ne
contient rien alors que {∅} décrit un ensemble contenant un élément, l’ensemble vide. Un tiroir
contenant un sac vide ({∅}) n’est pas vide et contient bien un objet.
Définition I.5 (Intersection). L’intersection des ensembles A et B est l’ensemble des éléments com-
muns à A et à B. On le note A ∩ B.
On dit que deux ensembles sont disjoints (ou incompatibles) si A ∩ B = ∅.
Proposition I.2 Propriétés de l’intersection
L’intersection admet certaines propriétés :
Idempotence : A ∩ A = A
Commutativité : A ∩ B = B ∩ A
Associativité : A ∩ ( B ∩ C ) = ( A ∩ B) ∩ C
Elément neutre : si l’on se place dans un ensemble Ω appelé univers et que A est un sous-
ensemble de Ω alors A ∩ Ω = A
A∆B = ( A ∪ B) r ( A ∩ B).
Remarque I.4. Il faut obligatoirement se placer dans un ensemble de référence pour définir la com-
plémentation.
Proposition I.4 Propriétés de la complémentation
La complémentation a plusieurs propriétés :
Involution : A = A
Loi de Morgan : A ∩ B = A ∪ B et A ∪ B = A ∩ B
A B
Ω
n D Diff
io iff éren
ct ér ce sy
on
Uni r se en mét
riqu
te ce e
In
Passage au complémentaire
F IGURE I.1 – Exemples de constructions d’ensembles à partir des ensembles A et B contenus dans
l’univers Ω
Mots sur un alphabet fini Un mot est une suite finie d’éléments de A on le note u = u1 u2 . . . un
et n est la longueur du mot u, notée |u|. Le mot vide est noté ε.
On note A∗ l’ensemble des mots sur A et A+ l’ensemble des mots sans le mot vide.
Opérations sur les mots Soient u et v deux mots de A∗ , on définit la concaténation w = u.v
comme le mot de longueur |u| + |v| tel que w = u1 u2 . . . u|u| v1 v2 . . . v|v| .
Chapitre II. N OTIONS SUR LES LANGAGES 10
Pour n ∈ N
on définit par récurrence la puissance d’un mot par u0 = ε et un+1 = u.un pour
n∈ . N
On dit que v est un préfixe de u s’il existe un mot w tel que u = v.w et v est un suffixe de u s’il
existe un mot w tel que u = w.v.
Distance sur les mots On peut définir différentes distances sur les mots. On s’intéressera ici à
la distance édition définie comme étant le plus petit nombre d’opérations d’édition élémentaires
nécessaires pour transformer le mot u en le mot v. Les opérations d’édition élémentaires sont la
suppression ou l’insertion d’un symbole.
De multiples variantes de cette notion de distance ont été proposées, qui utilisent des en-
sembles d’opérations différents et/ou considèrent des poids variables pour les différentes opé-
rations. Pour prendre un exemple réel, si l’on souhaite réaliser une application qui « corrige » les
fautes de frappe au clavier, il est utile de considérer des poids qui rendent d’autant plus proches
des séquences qu’elles ne diffèrent que par des touches voisines sur le clavier, permettant d’inté-
grer une modélisation des confusions de touches les plus probables.
L’utilitaire Unix diff implante une forme de calcul de distances. Cet utilitaire permet de com-
parer deux fichiers et d’imprimer sur la sortie standard toutes les différences entre leurs contenus
respectifs.
Démonstration : On considère que uv = zt = a1 a2 . . . an où les ak sont des lettres de A. Soit i l’entier tel
que u = a1 a2 . . . ai et v = ai+1 . . . an . De même soit j l’entier tel que z = a1 a2 . . . a j et t = a j+1 . . . an .
Si |u| ≥ |z|, alors i ≥ j et on a u = zw et t = wv avec w = a j+1 . . . ai .
Si au contraire |u| ≤ |z|, alors i ≤ j et on a z = uw et v = wt avec w = ai+1 . . . a j .
Graphiquement cela signifie que l’on a une des deux décompositions suivantes :
u v u v
w ou bien w
z t z t
Proposition II.2
Soient u, v, z et t ∈ A∗ . Si uv = ut alors v = t.
De même si uv = zv alors u = z.
11 II.3. Langage
II.3 Langage
II.3.1 Définition et exemples de langages
Un langage L sur un alphabet fini A est un ensemble de mots définis sur A autrement dit
L ⊆ A∗ .
Exemple II.3. Exemples de langages sur B = {0, 1} :
— ∅ 6= {ε} ;
— B∗ = {ε, 0, 1, 00, 01, 10, 11, 000, 001, . . .} ;
— B+ = {0, 1, 00, 01, 10, 11, 000, 001, . . .} ;
— tout ensemble fini de mots ;
— { 0n : n ∈ } ; N
— {0n 1m : n, m ∈ } ; N
— { 0n 1n : n ∈ } ; N
N
— {0 p : p ∈ nombre premier} ;
— {u ∈ B∗ : u est le codage en binaire d’un nombre premier} ;
— {u ∈ B∗ : u est un palindrome} ;
— {u ∈ B∗ : u est un code html certifié} 6= {u ∈ A∗ : u est un code html bien interprété par Firefox} ;
— {u ∈ B∗ : u est le codage en MP3 de votre chanson préférée} ;
— {u ∈ B∗ : u est le codage en assembleur d’un programme qui s’arrête sur l’entrée vide} ;
— ...
L∗ =
[ [
Ln et L+ = Ln .
n ≥0 n >0
La notion d’application permet d’associer à chaque élément d’un ensemble un élément d’un
autre ensemble. En informatique, on a souvent de cette notion pour passer d’un objet à sa représen-
tation, pour traduire une représentation vers une autre, comme support de preuves de propriétés
de programmes, etc...
Autrement dit
f :E −→ F
1 7−→ a
2 7−→ c
4 7−→ a
On dit que a est l’image de 1 par f ou bien que 1 est un antécédent de a par f .
Par contre l’ensemble H = {(1, a), (2, c), (4, a)} ⊆ E × F n’est pas le graphe d’une fonction.
Définition III.2 (Ensemble image et préimage). Etant donné A ⊆ E et B ⊆ F, on définit
— l’image de A par f :
— la préimage de B par f :
L’ensemble image d’une fonction f : E → F, noté Im( f ) est l’ensemble des éléments de y ∈ E qui
ont un antécédent par f . Autrement dit :
Exemple III.2. Soit E = {1, 2, 3, 4} et F = { a, b, c}. On considère la fonction f définit par le graphe
G f = {(1, a), (2, c), (4, a)} ⊆ E × F.
On a :
— f ({1}) = { a}, f ({1, 4}) = { a}, f ({3}) = ∅ et f ({1, 2, 3}) = { a, c} ;
— f −1 ({ a}) = {1, 4}, f −1 ({ a, c}) = {1, 2, 4}, f −1 (∅) = ∅ et f −1 ({b}) = ∅ ;
— le domaine de la fonction f est Dom( f ) = { a, c} ;
— l’image de la fonction f est Im( f ) = {1, 2, 4}.
Définition III.5 (Application). Une application de E dans F est une fonction de E dans F telle que
Dom( f ) = E . On note F E l’ensemble des applications de E dans F.
Table de valeur Pour chaque élément de E on donne l’élément de F associé. Si E est fini on peut
représenter cela sous forme de tableau.
x 0 1 2 3 4 5 6 7 8 9
f(x) aa nj zj nk za az aa aa zz ju
Un autre exemple est le code ASCII qui permet d’associer à chaque entier entre 0 et 127 un
caractère :
15 III.1. Premières notions
Diagramme de Venn Parfois il est plus visuel de montrer les différents liens sur un diagramme
de Venn.
1
×
e b 2
× × ×
a
d × 4
× ×
c
× 3
×
E
F
Formule algébrique Lorsque l’ensemble E est infini, on ne peut pas stocker toutes les valeurs,
on peut définir la fonction par une formule :
f : R −→ R
x 7−→ 3x2 + 2x − 5
Courbe On peut aussi représenter la fonction sous forme de courbe qui à chaque point de l’abs-
cisse fait correspondre un élément de l’ordonnée.
Chapitre III. F ONCTIONS ET APPLICATIONS 16
2
0 5 10 15 20
Algorithme On peut aussi définir une fonction f : E → F par un algorithme qui prend en
argument un élément de E et lorsqu’il s’arrête, il renvoie un élément de F. Le domaine de définition
est l’ensemble des valeurs pour lesquelles l’algorithme s’arrête.
1
×
α e b 2
× × × ×
a
β
d × 4
× × ×
c
× 3
γ ×
×
f g
E F G
g◦ f
Remarque III.1. Au milieu du XXème siècle, quelques mathématiciens trouvèrent que la notation
g ◦ f portait à confusion et décidèrent d’utiliser une notation post-fixée : x f pour f ( x ) et x f g pour
g ◦ f ( x ).
Remarque III.2. Attention en général f ◦ g 6= g ◦ f .
Proposition III.1 Associativité de la composée
Soient f : E → F, g : F → G et h : G → H trois applications. Alors on a h ◦ ( g ◦ f ) =
(h ◦ g) ◦ f et cette application se note h ◦ g ◦ f .
Définition III.8 (Injection canonique). Soit A ⊆ B, l’injection canonique est l’application définie par
f : A −→ B
x 7−→ x
πi : A1 × · · · × A k −→ Ai
( a1 , . . . , a k ) 7−→ ai
Définition III.11 (Fonction surjective). Une fonction est surjective si chaque élément de l’espace
d’arrivée admet au moins un antécédent.
Autrement dit, si f : E → F est une fonction alors Im( f ) = f ( E) = F.