[PDF] Cours Logique et Calculabilité





Previous PDF Next PDF



Calculabilité

2.7 Exercices – analyse de décidabilité de probl`emes . Introduction `a la calculabilité : Cours et exercices corrigés 2e édition



Calculabilité

Exercice 8.1 (corrigé page ??). Soit A le langage constitué de la seule chaine s où s = { 0 si Dieu n'existe pas. 1 si Dieu existe. Est-ce que A est décidable?



Complexité et calculabilité

Langages formels Calculabilité et Complexité. Vuibert



Polycopié

démonstration logique et de connaitre aussi la décidabilité et la calculabilité Wolper Pierre



Calculabilité et décidabilité : TD3

14 févr. 2012 La preuve se fait par induction sur la longueur d'une dérivation de. C ⊣ σ → σ ).) Exercice 4. Soit σ le store X ↦→ (nil.nil) et C la ...



Leçon 914 : Décidabilité et indécidabilité. Exemples.

— Définition : MT / langages décidables / fonction calculables. — Théorèmes : équivalence de ces modèles. — Thèse de Church. 1.2 Des problèmes de décision. Ce 



Calculabilité et complexité

3.8 Décidabilité de théories logiques . Des exercices corrigés permettent une bonne as- similation. Aucune ...



Séance 6 : Décidabilité et Complexité

Plusieurs modèles de calcul sont utilisés en calculabilité: machines de Turing machine à compteurs lambda-calcul automates cellulaires fonctions récursives etc.



Kit de survie - Calculabilité

— B décidable implique A décidable. (le schéma donne un algorithme pour A) Mathématiques de l'informatique : cours et exercices corrigés. Dunod. [Garey ...





Calculabilité

Exercice 8.7 (corrigé page ??). Soit E ? N un ensemble décidable. Montrer qu'il est énuméré par une fonction calculable f strictement croissante. Exercice 8.8 



Calculabilité

2.7 Exercices – analyse de décidabilité de probl`emes . En préparant mon cours de la Calculabilité je me suis basé sur le cours fait `a l'UJF par.



Complexité et calculabilité

22 sept. 2021 Calculabilité et Décidabilité. ... (théorie de la calculabilité) ; ... Exercice : montrez que l'instruction (IF (x = 0) THEN P ELSE Q FI).



MAIN4 Année 2021/2022 Calculabilité - Décidabilité (ICC) TD n°2

Calculabilité - Décidabilité (ICC). TD n°2 - Automates à pile et grammaires hors-contexte. Exercice 1. Décrire des grammaires hors-contexte pour les 



Calculabilité

Exercice 8.1. Soit A le langage constitué de la seule chaine s où s = { 0 si Dieu n'existe pas. 1 si Dieu existe. Est-ce que A est décidable? Pourquoi?



Langages formels calculabilité et complexité - Examen du 2 février

2 févr. 2012 Analyser la décidabilité/complexité de ce problème. ... Exercice 2 – Calculabilité : problème de Collatz et fonctions analytiques.



Leçon 914 : Décidabilité et indécidabilité. Exemples.

Exemples. Julie Parreaux. 2018 - 2019. [1] Carton Langages formels



Calculabilité et complexité

ours & exercices corrigés. LICENCE 3.8 Décidabilité de théories logiques . ... langages formels que la calculabilité et la complexité.



Cours Logique et Calculabilité

Cependant ils restent restreints à l'ensemble des fonctions calculables



Machine de Turing - Informatique Théorique 2 Licence 3 informatique

Exercice. L'ensemble des machines de Turing est-il dénombrable ? Existe-il un ensemble de fonctions non-dénombrables ? Existe-t-il des fonctions non calculables 



[PDF] Calculabilité - Irif

Ce document contient les notes de cours et les exercices de TDs de la Calculabilité que j'ai faits en 2000-2003 pour la ma?trise d'informatique `a 



[PDF] Complexité et calculabilité - LaBRI

Langages formels Calculabilité et Complexité Vuibert 2008 J M Autebert Calculabilité et Décidabilité Masson 1992



[PDF] Calculabilité et décidabilité : TD3 - LIPN

14 fév 2012 · Calculabilité et décidabilité : TD3 Exercice 1 correction des programmes développés dans les exercices 8 et 9 du TD2



[PDF] Calculabilité et complexité

ours exercices corrigés LICENCE 3 4 Langages décidables langages formels que la calculabilité et la complexité Il existe d'excellents ouvrages



Introduction à la calculabilité : Cours et exercices corrigés PDF

Introduction à la calculabilité : Cours et exercices corrigés By Pierre Wolper Pages ISBN: PDF/DJVU 102 MB Dans le Calculabilité et décidabilité : une 



[PDF] Kit de survie - Calculabilité - Irisa

Supposons que Arrêt est décidable Il existe donc une machine de Turing A : — qui s'arrête sur toute entrée Mw ; — telle que 



Exercices Calculabilité-2019 PDF Informatique - Scribd

2 Montrer que les fonctions suivantes sont primitives récursives : · 3 Montrer que les relations R1 et R2 définies comme suit sont décidables : · 14 Lesquelles 



[PDF] Cours de calculabilité et complexité

Indécidabilité - Décidabilité • Complexité calculabilité et complexité (ii) vous avez suivi Exercices : établissez ces trois affirmations



[PDF] Leçon 914 : Décidabilité et indécidabilité Exemples

Leçon 914 : Décidabilité et indécidabilité Exemples Julie Parreaux 2018 - 2019 [1] Carton Langages formels calculabilité et complexité



[PDF] Examen Final Corrigé rédigé par Paul Brunet et Laure Gonnord

MIF15 Complexité et Calculabilité Examen Final Corrigé rédigé par Paul Brunet et Laure Gonnord Durée 1H30 Notes de cours et de TD autorisées

:

Cours Logique et Calculabilité

L3 Informatique 2016/2017Texte par Kévin Perrot

Version du 6 avril 2017

2

Table des matières

3 Calculabilité5

3.0 Divertissement

5

3.1 Introduction

6

3.2 Machines de Turing

7

3.2.1 Définitions

8

3.2.2 Décider et calculer

9

3.2.3 Propriétés de clôture

10

3.2.4 Un peu d"histoire

11

3.3 Les limites du calcul

11

3.3.1 Enumération des machines de Turing

11

3.3.2 Simplifications

12

3.3.3 Dénombrement

12

3.3.4 Code d"une machine de Turing

14

3.3.5 Théorème de l"arrêt

14

3.3.6 Raisonnement par l"absurde et diagonalisation

14

3.3.7 Réductions (version simple)

15

3.3.8 Théorème de Rice

16

3.3.9 Réductions (version avec oracle)

17

3.3.10 Indécidabilité de la logique du premier ordre

17

3.4 Universalité et complétude

19

3.4.1 Universalité

19

3.4.2 Turing-complétude

20

3.5 Thèse de Church Turing

20

3.5.1 Thèse de Church-Turing version physique

21

3.5.2 Thèse de Church-Turing version algorithmique

21

3.5.3 Le lambda calcul

22

3.6 Et si nous avions la réponse au problème de l"arrêt ?

23
3

4TABLE DES MATIÈRES

Chapitre 3

Calculabilité

3.0 Divertissement

collatz(n:int) print n; si n == 1 alors stop, sinon si n%2 == 0 alors collatz(n/2), sinon collatz(3*n+1), finsi finsi Est-ce que le programmecollatztermine sur toute entréen? Comment le savoir?

T esterp ourtout n1020?

T estersi 9n,xtel quecollatz(n)=collatzx(n)?

V ousa vezun an a vec10 programmeurs surdoué s.Commen tfaites -vous?

Suite de Collatz (1937) :n7!n=2sinmod 2 == 0

n3 + 1sinon Conjectures réfutées par de grands contre-exemples : Conjecture d"Euler (1772). 8n >2 :8x1;:::;xk;z2N:Pk i=1xni6=zn. n= 5(1966) :275+ 845+ 1105+ 1335= 1445 n= 4(1988) :26824404+ 153656394+ 187967694= 206156734 n >5: inconnu.

Conjecture de P ólya(1919). Plus de la moitié des en tiersnaturels inférieurs à un en tier

donné ont un nombre impair de facteurs premiers. (1980) : le plus petit contre exemple est906150257. Conjecture de Mertens (1885) : prouv éefausse mais aucun con treex empleexplicite conn u.

2006 : plus petit contre exemple compris entre1014et1:591040

Nom brede Sk ewes(1914).

1955 : il existe un tel nombre inférieur à101010963.

1987 : il existe un tel nombre inférieur à710370.

La morale de cet example est que les ordinateurs n"ont pas réponse à tout! 5

6Chapitre 3. Calculabilité

Ce cours est basé sur le livre de Sipser [Sip06] et le cours de Kari [Kar13].

3.1 Introduction

Une machine de Turing est un objet mathématique, défini en 1936 parAlan Turing, qui a pour

but de décrire ce qu"est uncalcul. Tout le monde sent ce qu"est un calcul : si vous avez deux nombre

en base 10, disons123et456, et vous voulez calculer leur somme, vous le faites chiffre par chiffre

de droite à gauche en propageant d"éventuelles retenues pour obtenir579. Si vous voulez calculer

leur produit, vous le décomposez en multiplications plus simples pour lesquelles vous avez appris un nombre fini de tables, et vous sommez les résultats des sous-problèmes :

123x456 =(1x100+2x10+3)x(4x100+5x10+6)

+(2x4)x(10x100)+(2x5)x(10x10)+(2x6)x(10) +(3x4)x(100)+(3x5)x(10)+(3x6) =56088.

Lorsque vous apprenez à quelqu"un une méthode pour effectuer une multiplication, vous décrivez

unalgorithme: vous donnez une description finie (par exemple en 10 minutes de parole, ou en 2 pages) de la procédure à suivre pour obtenir le résultat.Les machines de Turing sont des objets mathématiques pour décrire les algorithmes. Une machine de Turing pour l"addition de nombres naturels en base 10 donne l"ensemble des instructions qu"il faut effectuer pour calculer la somme de deux nombres. Une remarque importante est que la description de la procédure est finie, mais elle permet de calculer la somme de n"importe quel couple de nombres :123+456ou

1234567890+2345678901ou des nombres plus grands!

Bon, soyons sérieux. Une machine de Turing décrit comment calculer quelque chose. Mais quel est cequelque chose? C"est unefonction. Par exemple, une fonction peut-être l"addition, ou la

multiplication : étant donnée uneentréefinie (dans notre exemple123et456), une fonction associe

une uniquesortie. L"entrée et la sortie peuvent être un ou plusieurs entiers naturels, des nombres

négatifs, une phrase écrite en alphabet Latin ou n"importe quel autre. Le point important est qu"elle

soit de taillefinie. Une fonction associe alors une unique sortie (le résultat) à chaque entrée.

Les fonctions peuvent être simples : l"addition ou la multiplication de deux entiers naturels; ou

plus compliquées : étant donné un entier naturel, quelle est sa décomposition en produit de facteurs

premiers (entiers naturels plus grand que 1 qui n"ont pas de diviseur autre que 1 et lui-même);

ou mêmenon calculable: étant donné un énoncé mathématique, décider s"il est vrai ou faux. Oui,

certaines fonctions ne sont pas calculables : il n"existe pas d"algorithme qui les calcul. De plus, il y

a infiniment plus de fonctions non calculables que de fonctions calculables! Il existe une infinité de

fonctions, et une infinité de machines de Turing (d"algorithmes), mais le nombre de fonctions est infiniment plus grand que le nombre de machines de Turing. Une question naturel est : si les machines de Turing peuvent calculer si peu de fonctions,

pourquoi ne pas calculer avec un autre modèle mathématique? En réalité, les machines de Turing

ne sont pas le seul objet mathématique permettant de décrire des algorithmes. De tels modèles

sont appelésmodèles de calcul effectifs, oùeffectifsignifie approximativement " en accord avec

le monde réel ». Il est cependant magnifique de constater que tous les modèles de calcul proposés

jusqu"à présent sont équivalents! Deux modèles sont équivalents s"ils peuvent calculer exactement

le même ensemble de fonctions. Rappelons nous bien : soitFl"ensemble de toutes les fonctions, les machines de Turing ne peuvent pas calculer toutes les fonctions de l"ensembleF, mais seulement un sous-ensembleC.La croyance (répandue) selon laquelle tout autre modèle de calcul effectif que l"on pourrait imaginer sera à également capable de calculer toutes les fonctions de l"ensembleCet aucune autre est appeléethèse de Church-Turing, etCest appelé l"ensemble desfonctions calculables. L"une des questions les plus fondamentales de la science informatique est la suivante : pourquoi une fonction est-elle calculable ou non calculable? Un point intéressant est l"existence de machines de Turinguniverselles. Une machine de Turing universelleUest une machine capable desimulertout autre machine de Turing. Qu"est-ce que cela signifie? SoitMune machine de Turing quelconque etxune entrée, la sortie deMsur l"entréexest

3.2 Machines de Turing7

notéeM(x). Une machineUest universelle si l"on peut écrire une entréeysur le ruban telle que le

calcul deUsurydonneM(x)en sortie. Uetyne sont pas très compliqués à construire :Ma une description finie (principalement sa

table d"actions), donc cette description peut être écrite sur le ruban, elle utiliserancellules; et sur

d"autres cellules vides, on peut écrirex. Maintenant,Ua toute l"information qui définitM(x)sur le

ruban, et il est possible

1de construire une telle machineUquilitl"entréexsur le ruban, ensuitelit

la table d"action deMsur lesncellules dédiées du ruban, et ensuite réalise surxce que la machine

Maurait réalisé si elle avait été exécutée sur un ruban contenantx. Une telle machineUest un peu

délicate à construire, mais pas excessivement. De nos jours, un ruban est appelédisque dur, la table d"action deMécrite sur le ruban est unprogramme, etUest unordinateur! Une machine de Turing universelle entièrement mécanique a été réalisée en Lego. http://www.dailymotion.com/video/xrmfie/ http://rubens.ens-lyon.fr/ Par conséquent, ce tas de Lego est capable de calculer l"ensemble des fonctions calculablesC: il a exactement la mêmepuissance de calculque votre ordinateur ou votre téléphone portable! En comparaison avec un ordinateur moderne qui réalise une instruction toutes les nano-secondes (0.000000001 secondes), cette machine en Lego réalise une instruction toutes les 100 secondes. Elle peut faire ce qu"un ordinateur moderne peut faire, mais pour réaliser ce que ce dernier effectue en 1 seconde, il lui faut 3168 ans 295 jours 9 heures 46 minutes et 40 secondes

2. Quoi qu"il en soit, l"important est qu"elle en soit capable, n"est-ce pas?

C"est le coeur de lacalculabilité. Les ordinateurs sont chaque année plus rapides, et leur vitesse

continue d"augmenter. Cependant, ils restent restreints à l"ensemble des fonctions calculables,C. Ils

peuvent calculer les fonctions de l"ensembleCtoujours plus vite, mais ne peuvent pas s"échapper

deC: leurexpressivitéreste la même. L"étude de cette expressivité, du sens de cette puissance de

calcul, s"appelle lathéorie de la calculabilité. Vous pouvez parfois entendre que nous sommes aujourd"hui capables de calculer des choses qui

étaient impossible à calculer les années passées, que les ordinateurs sont plus puissants aujourd"hui

qu"hier. Ces phrases doivent être précisées. En réalité, ces calculs étaient simplement trop longs à

réaliser les années passées (par exemple, il aurait fallut 100 ans si vous les aviez exécutés sur un

ordinateur en l"an 2000), mais aujourd"hui vous pouvez les calculer en un temps raisonnable (par

exemple 100 secondes) ce qui permet d"obtenir effectivement le résultat. Un exemple intéressant

est le jeu des échecs : il est possible aujourd"hui, et il a toujours été possible, d"écrire un algorithme

qui vous indique coup après coup la meilleure action possible, mais les ordinateurs actuels sont

bien trop lents pour exécuter un tel algorithme jusqu"au bout... Néanmoins, un jour nous serons

capables de réaliser ce calcul en un temps raisonnable, et ensuite jouer aux échecs avec un ordinateur

deviendra définitivement ennuyant car nous serons sûrs et certains de perdre chaque partie

3. Laissez

moi répéter qu"un tel algorithme existe déjà et est facile à implémenter sur un ordinateur, les

ordinateurs sont simplement trop lents pour réaliser les calculs en un temps raisonnable. Lathéorie

de la calculabilités"intéresse à des vérités mathématiques qui sont indépendantes du temps de

calcul : la question n"est pas de savoir si quelque chose sera faisable dans 10 ou 20 ans, mais plutôt

si quelque chose est fondamentalement faisable ou non, fondamentalement vrai ou faux.

3.2 Machines de Turing

Pour montrer qu"une fonction est calculable ou qu"un langage est décidable (distinction discutée

en 3.2.2

) il faut donner un algorithme. Pour montrer qu"une fonction n"est pas calculable ou qu"un1. Remarquons que l"existence de fonctions non calculables implique que pour d"autres problèmes (encore une

fois il y en a énormément, infiniement plus que des calculales), même avec toute l"information qui définit la question,

il n"existe pas de machine de Turing qui calcule le résultat.

2. Ce nombre est en réalité complètement faux, parce qu"une instruction de machine de Turing est différente

d"une instruction d"un ordinateur moderne. Néanmoins, il est là pour souligner le fait que cette machine de Turing

en Lego est très précisément équivalente à un ordinateur moderne

3. Je mens un peu. En réalité, puisque nous n"avons encore jamais calculé toutes les actions possibles aux échecs,

nous ne savons pas si ce sont les blancs ou les noirs qui ont une stratégie gagnante, ou si nous arriverions à un match

nul avec deux joueurs parfaits...

8Chapitre 3. Calculabilité

langage est indécibable, il faut d"abord définir l"ensemble des algorithmes (car cela définit l"ensemble

de ce qui est calculable/décibable). L"intérêt des machines de Turing est qu"elles définissent les

algorithmes de façon intuitive et simple! Imaginez devoir définir mathématiquement votre langage

de programmation préféré dans ses moindres détails...

Idée du calculateur humain devant sa feuille :

feuilles découp éesen cases : ruban ; cra yonp osésur une case : tête de lecture/écriture, déplacemen t; l"op érateurdisp osed"une mémoire finie (son cerv eau): états.

3.2.1 DéfinitionsDéfinition 3.1.Unemachine de Turing(MT) déterministe est un 7-uplet

M= (Q;;;;q0;B;qF)où

-Qest unensemble d"étatsfini;-est l"alphabet d"entrée;-est l"alphabet de ruban(il contient tous les symboles qui peuvent apparaître sur le ruban. En particuliercar l"entrée est initialement écrite sur le ruban. On supposera queQ\ =?pour qu"iln"y ait pas de confusion entre états et symboles du ruban);

-est unefonction de transitiondécrite ci-après;-q02Qest l"état initial;-B2nest unsymbole blancspécial (ne fait pas partie de l"alphabet d"entrée);-qF2Qest l"état final.La fonction de transitionest une application (partielle)

de l"ensemble(Qn fqFg)dans l"ensembleQ fL;Rg.

L"application est partielle : elle peut être indéfinie pour certains arguments, auquel cas la machine

n"a pas de mouvement suivant et s"arrête. En particulier, il n"y a pas de transition depuis l"état

finalqF. Une transition (q;a) = (p;b;L)

signifie que dans l"étatqet en lisant le symbole de rubana, la machine passe dans l"étatp, remplace

aparbsur le ruban, et déplace la tête de lecture/écriture d"une cellule sur la gauche (Lpourleft

etRpourright).

Initialement, le mot d"entrée est écrit sur le ruban et toutes les autres cellules contiennent le

symbole blancB. La machine est dans l"étatq0, et la tête de lecture/écriture est positionnée sur

la lettre la plus à gauche de l"entrée. Il y a trois possibilités :-acceptationsi au cours des transitions la machine entre dans l"état finalqF(et doncs"arrête),

-rejetsi au cours des transitions la machine s"arrête dans un état non final (s"il n"y a pasde mouvement suivant à réaliser),

-rejetsi la machine ne s"arrête jamais.Définition 3.2.Unedescription instantanée(DI) d"une MT décrit sa configuration courante.

C"est un mot

uqav2(fg [(n fBg))Q(fg [(n fBg)quotesdbs_dbs16.pdfusesText_22
[PDF] calculabilité et complexité exercices corrigés

[PDF] fonction calculable

[PDF] langage récursif

[PDF] épaisseur atmosphère saturne

[PDF] fonction primitive récursive exercice corrigé

[PDF] théorème de godel démonstration

[PDF] codage de godel

[PDF] théorème de gödel pdf

[PDF] arithmétique de robinson

[PDF] nombre de godel

[PDF] godel dieu

[PDF] théorème d'incomplétude pour les nuls

[PDF] incomplétude définition

[PDF] introduction ? la calculabilité pdf

[PDF] indemnité prof principal 2017