edit et corrections d'erreurs factuelles, de calculs et de mise en page

This commit is contained in:
2026-07-02 15:01:24 +02:00
parent 3067e1918e
commit 28d4a75c1b
32 changed files with 174 additions and 109 deletions

View File

@@ -29,7 +29,7 @@ On peut par exemple prendre des problèmes assez élémentaires :
- X est il un nombre pair ?
- Y est il une puissance de 3 ?
- Dans un graphe, quel est le chemin le plus court passant par tous les sommets ?
- Dans un graphe, existe-t-il un chemin passant par tous les sommets de longueur inférieure à k ?
Dans notre premier cas, nous avons en **instance de départ :** un entier naturel, qui, après être traité via le **paramètre** choisi (Si reste = 0 après une division par 2, alors nombre est pair) dans **l'algorithme**, ressortira en une réponse simple : *Oui* ou *Non* selon la **décision** prise.
@@ -39,11 +39,9 @@ En informatique ou mathématiques, on peut parler d'une **fonction algorithmique
Un ***prédicat*** est une fonction qui ne prendra que des valeurs booléennes.
> La réponse à un problème de décision est donc soit un booléen, soit une valeur qui permet de répondre à un prédicat.
> La réponse à un problème de décision est donc un booléen : oui ou non.
>
> **Exemple** : Dans un graphe, connaître le nombre de sommets permet de répondre à la question : « Le chemin que j'ai choisi est-il le plus court passant par tous les sommets de ce graphe ? »
>
> Question dont la réponse est bel et bien un prédicat.
> **Exemple** : « Ce chemin passe-t-il par tous les sommets du graphe ? » est une question dont la réponse est Vrai ou Faux : la fonction qui y répond est bel et bien un prédicat.
### Définition : Décidabilité
@@ -68,7 +66,7 @@ Quel rapport avec la calculabilité ? Et bien une fonction mathématique, que l'
### Un peu d'histoire
En 1943, un mathématicien américain, du nom d'Alonzo Church définit une thèse dite "thèse de Church" qui affirme la notion de calculabilité : Tout traitement d'un système réalisable par un processus quel qu'il soit, peut être exprimé par un ensemble de règles de calcul.
En 1936, un mathématicien américain, du nom d'Alonzo Church, formule ce qu'on appellera la "thèse de Church" (la même année, Alan Turing arrive indépendamment à un résultat équivalent avec sa machine). Cette thèse affirme la notion de calculabilité : Tout traitement d'un système réalisable par un processus quel qu'il soit, peut être exprimé par un ensemble de règles de calcul.
Cet ensemble est défini lui même par les règles de calcul dont on prouve mathématiquement l'équivalence.
@@ -155,21 +153,23 @@ Par exemple :
```python
def est_pair2(n):
if (n % 2) == 0:
return("{0} est Pair".format(n))
reste = n % 2
if reste == 0:
return True
else:
return("{0} est Impair".format(n))
return False
```
```python
>>>est_pair2(113)
>>>'113 est Impair'
>>>False
>>>est_pair2(42)
>>>'42 est Pair'
>>>True
```
*Remarque : cette version renvoie bien un booléen, comme la première. Une fonction qui renverrait une chaîne de caractères comme `"42 est Pair"` ne serait pas un prédicat !*
Nous avons bien la preuve que le problème " Peut-on prouver qu'un nombre est pair" est bel et bien décidable.
@@ -182,7 +182,7 @@ La question qui se pose à nous est de savoir comment reconnaitre un problème i
Et à l'heure actuelle, nous ne disposons pas de machine magique permettant de nous donner cette information.
Pour déduire l'indécidabilité d'un programme, il faut un algorithme répondant à ce problème et également la preuve qu'il se termine.
Pour prouver qu'un problème est *décidable*, il suffit d'exhiber un algorithme qui le résout et qui se termine toujours. Mais pour prouver qu'un problème est *indécidable*, c'est bien plus difficile : il faut démontrer qu'**aucun** algorithme, même parmi ceux qu'on n'a pas encore inventés, ne pourra jamais le résoudre.
En informatique, le plus célèbre de ces problèmes indécidables est le ***problème de l'arrêt***.