Notes de Cours Informatique 2023

Telechargé par loua.kpo
Option informatique
Olivier Reynet
07-11-2023
TABLE DES MATIÈRES
I Introduction 3
1 Information, concepts et ensembles 5
A Les ensembles, les types et la logique . . . . . . . . . . . . . . . . . . . . . . . . . . 5
a Ensembles inductifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
b Propriétés des ensembles inductifs . . . . . . . . . . . . . . . . . . . . . . . 7
c Des fonctions pour calculer sur les termes d’un ensemble inductif . . . . . 7
BN: paradigme d’un ensemble inductif dont l’ordre est bien fondé . . . . . . . . . 7
C De l’induction à l’induction structurelle . . . . . . . . . . . . . . . . . . . . . . . . . 10
D Pourquoi OCaml? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 OCaml, des fonctions et des types 15
A Pratiquer OCaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
B Vocabulaire utile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
C Description d’OCaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
D Expressions et inférence de type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
E Expressions locales et globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
F Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
G Effets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
H Types algébriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
I Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
J Filtrage de motif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
K Références et programmation impérative en OCaml . . . . . . . . . . . . . . . . . 28
L Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
II Logique 31
3 De la logique avant toute chose 33
A Logique et applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
B Constantes, variables propositionnelles et opérateurs logiques . . . . . . . . . . . 35
C Opérateurs logique et notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
D Formules logiques : définition inductive et syntaxe . . . . . . . . . . . . . . . . . . 37
E Sémantique et valuation des formules logiques . . . . . . . . . . . . . . . . . . . . 40
F Lois de la logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
TABLE DES MATIÈRES
a Éléments neutres et absorbants, idempotence . . . . . . . . . . . . . . . . . 43
b Commutativité, distributivité, associativité . . . . . . . . . . . . . . . . . . . 43
c Lois de De Morgan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
d Décomposition des opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . 43
e Démonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
G Principes et logique classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
H Formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
I Problème SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
J Algorithme de Quine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
a Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
b Règles de simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
c Algorithme de Quine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
K Exemple de démonstration par induction structurelle . . . . . . . . . . . . . . . . 51
4 Déduction naturelle 53
A Déduction naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
B Règles d’introduction et d’élimination . . . . . . . . . . . . . . . . . . . . . . . . . . 55
a Introduction et élimination de la conjonction . . . . . . . . . . . . . . . . . 55
b Introduction et élimination de l’implication . . . . . . . . . . . . . . . . . . 55
c Introduction et élimination de la disjonction . . . . . . . . . . . . . . . . . 56
d Introduction et élimination de la négation . . . . . . . . . . . . . . . . . . . 57
C Synthèse des règles de la déduction naturelle . . . . . . . . . . . . . . . . . . . . . 57
D Correction de la déduction naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
E Raisonnements utiles en logique classique . . . . . . . . . . . . . . . . . . . . . . . 60
a Raisonnement par l’absurde . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
b Élimination de la double négation . . . . . . . . . . . . . . . . . . . . . . . . 60
c Tiers exclus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
F Exemples de preuves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
a Syllogisme hypothétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
b Modus tollendo tollens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
G Vers la logique du premier ordre 99K HORS PROGRAMME . . . . . . . . . . . . . . . 61
a Syllogismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
b Règles du quantificateur existentiel . . . . . . . . . . . . . . . . . . . . . . . 62
c Règles du quantificateur universel . . . . . . . . . . . . . . . . . . . . . . . . 63
H Correspondance Curry-Howard 99K HORS PROGRAMME . . . . . . . . . . . . . . . . 63
III Structures de données 65
5 Structures et types abstraits 67
A Type abstrait de données et structure de données . . . . . . . . . . . . . . . . . . . 68
B TAD Tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
C TAD Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
D Implémentations des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
TABLE DES MATIÈRES
a Implémentation d’un tableau statique . . . . . . . . . . . . . . . . . . . . . 70
b Implémentation d’un tableau dynamique . . . . . . . . . . . . . . . . . . . 71
E Implémentations des listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
a Listes simplement chaînées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
b Listes doublement chaînées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
F Bilan des opérations sur les structures listes et tableaux . . . . . . . . . . . . . . . 76
6 Arbres binaires 77
A Des arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
B Arbres binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
C Définition inductive des arbres binaires . . . . . . . . . . . . . . . . . . . . . . . . . 81
D Démonstration par induction structurelle . . . . . . . . . . . . . . . . . . . . . . . 83
E Définitions inductives de fonction sur les arbres . . . . . . . . . . . . . . . . . . . 84
F Parcours en profondeur d’un arbre binaire . . . . . . . . . . . . . . . . . . . . . . . 85
G Proprétés et manipulation des arbres binaires . . . . . . . . . . . . . . . . . . . . . 87
7 Arbres binaires de recherche 89
A Définition et implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
B Opérations sur les arbres binaires de recherche . . . . . . . . . . . . . . . . . . . . 90
C Maintenir l’équilibre 99K HORS PROGRAMME . . . . . . . . . . . . . . . . . . . . . . 90
8 Des arbres en général 93
A Arbres généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
a Calculs sur un arbre générique . . . . . . . . . . . . . . . . . . . . . . . . . . 94
b Convertir un arbre générique en arbre binaire . . . . . . . . . . . . . . . . . 94
B Arbres préfixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
C Compression statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
D Compression à dictionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
IV Programmation récursive 101
V Exploration et graphes 103
9 Retour sur trace 105
A Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B Principe du retrour sur trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10 Des arbres aux tas 111
A Tas binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
a Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
b Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
c Opérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
B Tri par tas binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1 / 204 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!