Vous êtes sur la page 1sur 8

Licence 2e année Université de Nantes

module S4I0200 2004/2005

Examen
Langages et automates, calcul logique, preuves

Consignes : calculatrices interdites; tous documents autorisés; barême donné à titre indicatif
Indication : les exercices sont indépendants et peuvent être réalisés dans un ordre quelconque
-
durée : 1h30

Exercice 1 (Langages formels I - 6 pts)


Considérez l’automate suivant :

1. Donnez la table de transitions de cet automate.


2. Donnez 2 raisons pour lesquelles cet automate est non-déterministe.
3. Cet automate est-il complet ? Justifiez.
4. Indiquez parmi les mots suivants lesquels sont reconnus par cet automate : aaba et baaa. Justifiez.
5. Déterminisez cet automate. Reportez vos calculs intermédiaires et dessinez l’automate résultant.
6. Minimisez l’automate déterministe produit à la question précédente. Reportez vos calculs intermédiaires et
dessinez l’automate résultant.
7. Définissez, en français, le langage reconnu par cet automate.

Exercice 2 (Langages formels II - 3 pts)


On considère les déplacements réalisables dans un quadrillage. Pour représenter un tel déplacement, on utilise
une séquence de symboles pris parmi {h, b, g, d} (h=haut, b=bas, g=gauche, d=droite). Par exemple, la séquence
hhdbdbg représente le déplacement suivant :

1. Dessinez les déplacements correspondants aux séquences suivantes : dhbg, dbgbghhd.


2. Quelle est la caractéristique des séquences qui commencent et finissent au même point ? Donnez une défi-
nition ensembliste des séquences de ce type.
3. Donnez une grammaire du type le plus élevé possible pour engendrer les séquences qui commencent et
terminent au même point.

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 1/2
Exercice 3 (Logique propositionnelle I - 3 pts)
Considérez la formule logique Φ = a ∨ b ⇒ (a ⇔ b).
1. Donnez sa table de vérité.
2. Donnez une forme normale disjonctive canonique de cette formule
3. Parmi les formules suivantes, laquelle est équivalente à Φ :
Ψ1 = (a ⇒ b) ∧ (¬b ⇒ ¬a)
Ψ2 = (¬b ⇔ ¬a) ∧ (b ⇒ ¬a)
Justifiez.
4. Donnez une suite de simplifications permettant de passer de Ψ1 ou Ψ2 à Φ. Indiquez les règles utilisées.

Exercice 4 (Logique propositionnelle II - 3 pts)


Démontrez par déduction naturelle que le raisonnement suivant est correct :
"S’il pleut, je vais au bureau en voiture. S’il fait beau, je ne mets pas de veste. S’il fait beau, je ne prends pas de
parapluie. Aujourd’hui, j’ai ma veste ou mon parapluie. Par conséquent, je vais au bureau en voiture."

Exercice 5 (Preuve de programmes I - 3 pts)


Donnez (en la justifiant), une postcondition ou précondition non triviale (ni F ni V) qui rende valide les triplets
de Hoare suivants :
1. {(x = 2) ∧ (y = 3)} x ← x ∗ y; y ← x/y; x ← x/y {???}
2. {???} SI x < y ALORS z ← y − x FINSI {z > 0}
3. {???} z ← 0 ; SI z 6= 0 ALORS z ← 36 FINSI {???}

Exercice 6 (Preuve de programmes II - 4 pts)


Démontrez que le programme suivant est correct et termine. Pour ce faire, on prendra comme précondition {(x ≥
0) ∧ (y > 0)} et comme postcondition {z + k ∗ y = x}.

PROGRAMME zozo (x,y : entier)


k ← 0;
SI x < y ALORS
z←x
SINON
z ← x;
TANTQUE z ≥ y FAIRE
z ← z −y;
k ←k+1
FINTQ
FINSI

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 2/2
Licence 2e année Université de Nantes
module S4I0200 2004/2005

Examen
Langages et automates, calcul logique, preuves
— CORRECTION —
Consignes : calculatrices interdites; tous documents autorisés; barême donné à titre indicatif
Indication : les exercices sont indépendants et peuvent être réalisés dans un ordre quelconque
-
durée : 1h30

Corrigé exercice 1 (Langages formels I - 6 pts)


Exercice 1 (Langages formels I - 6 pts)
Considérez l’automate suivant :

1. Donnez la table de transitions de cet automate.


2. Donnez 2 raisons pour lesquelles cet automate est non-déterministe.
3. Cet automate est-il complet ? Justifiez.
4. Indiquez parmi les mots suivants lesquels sont reconnus par cet automate : aaba et baaa. Justifiez.
5. Déterminisez cet automate. Reportez vos calculs intermédiaires et dessinez l’automate résultant.
6. Minimisez l’automate déterministe produit à la question précédente. Reportez vos calculs intermédiaires et
dessinez l’automate résultant.
7. Définissez, en français, le langage reconnu par cet automate.
1. table de transitions
a b ε
1 3 2 -
2 3,5 - 1
3 4 1 -
4 - 1 -
5 4 2 -
2. non-déterminisme : ε-transition de 2 vers 1 , transitions conflictuelles de 2 vers 3 ou 5
3. automate incomplet. transitions manquantes = (2, b), (4, a) .
4. lectures :
(aaba, 1) → (aba, 3) → (ba, 4) → (a, 1) → (ε, 3), terminale réussie, donc reconnu
(baaa, 1) → (aaa, 2) → (aa, 3) → (a, 4) non-terminale
(baaa, 1) → (aaa, 2) → (aa, 5) → (a, 4) non-terminale
(baaa, 1) → (aaa, 1) → (aa, 3) → (a, 4) non-terminale

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 1/6
5. déterminisation :
a b
q1 =E({1})={1} E({3})={3}=q3 E({2})={1,2}=q2
q2 ={1,2} E({3,5})={3,5}=q5 E({2})={1,2}=q2
q3 ={3} E({4})={4}=q4 E({1})={1}=q1
q4 ={4} - E({1})={1}=q1
q5 ={3,5} E({4})={4}=q4 E({1,2})={1,2}=q2
état initial = q1 , états finaux = tous

6. minimisation :
eq.0 ét. a b
I q1 ={1} q3 ∈ I q2 ∈ I
q2 ={1,2} q5 ∈ I q2 ∈ I
q3 ={3} q4 ∈ I q1 ∈ I
q4 ={4} q6 ∈ II q1 ∈ I
q5 ={3,5} q4 ∈ I q2 ∈ I
II q6 q6 ∈ II q6 ∈ II

eq.1 ét. a b
I q1 ={1} q3 ∈ I q2 ∈ I
q2 ={1,2} q5 ∈ I q2 ∈ I
q3 ={3} q4 ∈ III q1 ∈ I
q5 ={3,5} q4 ∈ III q2 ∈ I
II q6 q6 ∈ II q6 ∈ II
III q4 ={4} q6 ∈ II q1 ∈ I

eq.2 ét. a b
I q1 ={1} q3 ∈ IV q2 ∈ I
q2 ={1,2} q5 ∈ IV q2 ∈ I
II q6 q6 ∈ II q6 ∈ II
III q4 ={4} q6 ∈ II q1 ∈ I
IV q3 ={3} q4 ∈ III q1 ∈ I
q5 ={3,5} q4 ∈ III q2 ∈ I

D’où l’automate minimal : (qII éliminé par émondage)


a b
qI qIV qI
qIII - qI
qIV qIII qI
état initial qI ; états finaux {qI , qIII , qIV }

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 2/6
7. Langage des mots sur V = {a, b} ne contenant pas 3 ’a’ consécutifs.

Corrigé exercice 2 (Langages formels II - 3 pts)


Exercice 2 (Langages formels II - 3 pts)
On considère les déplacements réalisables dans un quadrillage. Pour représenter un tel déplacement, on utilise
une séquence de symboles pris parmi {h, b, g, d} (h=haut, b=bas, g=gauche, d=droite). Par exemple, la séquence
hhdbdbg représente le déplacement suivant :

1. Dessinez les déplacements correspondants aux séquences suivantes : dhbg, dbgbghhd.


2. Quelle est la caractéristique des séquences qui commencent et finissent au même point ? Donnez une défi-
nition ensembliste des séquences de ce type.
3. Donnez une grammaire du type le plus élevé possible pour engendrer les séquences qui commencent et
terminent au même point.

1. Déplacements correspondants aux séquences dhbg et dbgbghhd :

2. Caractéristique des séquences qui commencent et finissent au même point : autant de ’d’ que de
’g’, et autant de ’h’ que de ’b’ .
{w ∈ {d, g, h, b}∗ | |w|d = |w|g et |w|h = |w|b }
3. grammaire de type 1 (contextuel) pour engendrer ce langage :
(VT = {d, g, h, b}, VN = {S, S 0 , D, G, H, B}, S,
{S → ε | S 0
S 0 → DGS 0 | HBS 0 | DG | HB
DG → GD
DB → BD
DH → HD
GD → DG
GB → BG
GH → HG
BG → GB
BD → DB
BH → HB
HG → GH
HD → DH
HB → BH
D → d
G → g
B → b
H → h
})

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 3/6
Corrigé exercice 3 (Logique propositionnelle I - 3 pts)
Exercice 3 (Logique propositionnelle I - 3 pts)
Considérez la formule logique Φ = a ∨ b ⇒ (a ⇔ b).
1. Donnez sa table de vérité.
2. Donnez une forme normale disjonctive canonique de cette formule
3. Parmi les formules suivantes, laquelle est équivalente à Φ :
Ψ1 = (a ⇒ b) ∧ (¬b ⇒ ¬a)
Ψ2 = (¬b ⇔ ¬a) ∧ (b ⇒ ¬a)
Justifiez.
4. Donnez une suite de simplifications permettant de passer de Ψ1 ou Ψ2 à Φ. Indiquez les règles utilisées.
Considérez la formule logique Φ = a ∨ b ⇒ (a ⇔ b).
1. Table de vérité
a b a∨b a⇔b Φ = a ∨ b ⇒ (a ⇔ b)
F F F V V
F V V F F
V F V F F
V V V V V
2. Forme normale disjonctive : (a ∧ b) ∨ (¬a ∧ ¬b)
3. Ni Ψ1 , ni Ψ2 ne sont équivalentes à Φ
a b Ψ1 Ψ2
F F F V
F V V F
V F F F
V V V F
4. Il n’en existe donc pas

Corrigé exercice 4 (Logique propositionnelle II - 3 pts)


Exercice 4 (Logique propositionnelle II - 3 pts)
Démontrez par déduction naturelle que le raisonnement suivant est correct :
"S’il pleut, je vais au bureau en voiture. S’il fait beau, je ne mets pas de veste. S’il fait beau, je ne prends pas de
parapluie. Aujourd’hui, j’ai ma veste ou mon parapluie. Par conséquent, je vais au bureau en voiture."

1. Modélisation : p = "il pleut", q = "je vais au bureau en voiture", r = "je met ma veste", s = "je prend
mon parapluie".
p ⇒ q, ¬p ⇒ ¬r, ¬p ⇒ ¬s, r ∨ s |= q
2. Déduction naturelle :
1 p⇒q prémisse
2 ¬p ⇒ ¬r prémisse
3 ¬p ⇒ ¬s prémisse
4 r∨s prémisse
5 [r] hypothèse
6 ¬¬r double-négation(5)
7 ¬¬p modus-tollens(2,6)
8 p ¬− (7)
9 q ⇒− (1,8)
10 r ⇒ q ⇒+ (5,9) - fin hyp.5
11 [s] hypothèse
12 ¬¬s double-négation(11)
13 ¬¬p modus-tollens(3,12)
14 p ¬− (13)
15 q ⇒− (1,14)
16 r ⇒ q ⇒+ (11,16) - fin hyp.11
17 q ∨− (4,10,16)

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 4/6
Corrigé exercice 5 (Preuve de programmes I - 3 pts)
Exercice 5 (Preuve de programmes I - 3 pts)
Donnez (en la justifiant), une postcondition ou précondition non triviale (ni F ni V) qui rende valide les triplets
de Hoare suivants :
1. {(x = 2) ∧ (y = 3)} x ← x ∗ y; y ← x/y; x ← x/y {???}
2. {???} SI x < y ALORS z ← y − x FINSI {z > 0}
3. {???} z ← 0 ; SI z 6= 0 ALORS z ← 36 FINSI {???}

1. {(x = 2) ∧ (y = 3)} par la règle de la conséquence


{((x ∗ y)/((x ∗ y)/y) = 3) ∧ ((x ∗ y)/y = 2)} par l’axiome d’affectation et la règle de la séquence
x ← x ∗ y;
{(x/(x/y) = 3) ∧ (x/y = 2)} par l’axiome d’affectation et la règle de la séquence
y ← x/y;
{(x/y = 3) ∧ (y = 2)} par l’axiome d’affectation
x ← x/y
{(x = 3) ∧ (y = 2)}
2. {(z > 0) ∨ (y − x > 0)} par la règle de la conditionnelle
SI x < y
ALORS
{((z > 0) ∨ (y − x > 0)) ∧ (x < y)} par la règle de la conséquence
{(y − x > 0)} par l’axiome d’affectation
z←y−x
{z > 0}
SINON
{((z > 0) ∨ (y − x > 0)) ∧ (x ≥ y)} par la règle de la conséquence
{z > 0}
ε
{z > 0}
FINSI
{z > 0}
3. {V} par la règle de la conséquence
{(0 = 0) ∨ (36 = 0)} par l’axiome de l’affectation et la règle de la séquence
z ← 0;
{(z = 0) ∨ (36 = 0)} par la règle de la conditionnelle
SI z 6= 0
ALORS
{((z = 0) ∨ (36 = 0)) ∧ (z 6= 0)} par la règle de la conséquence
{36 = 0} par l’axiome de l’affectation
z ← 36
{z = 0}
SINON
{((z = 0) ∨ (36 = 0)) ∧ (z = 0)} par la règle de la conséquence
{z = 0}
ε
{z = 0}
FINSI
{z = 0}

Corrigé exercice 6 (Preuve de programmes II - 4 pts)

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 5/6
Exercice 6 (Preuve de programmes II - 4 pts)
Démontrez que le programme suivant est correct et termine. Pour ce faire, on prendra comme précondition {(x ≥
0) ∧ (y > 0)} et comme postcondition {z + k ∗ y = x}.

PROGRAMME zozo (x,y : entier)


k ← 0;
SI x < y ALORS
z←x
SINON
z ← x;
TANTQUE z ≥ y FAIRE
z ← z −y;
k ←k+1
FINTQ
FINSI
{(x ≥ 0) ∧ (y > 0)} par la règle de la conséquence
{(x + 0 ∗ y = x) ∧ (x ≥ 0) ∧ (y > 0)} par l’axiome de l’affectation et la règle de la séquence
k ← 0;
{(x + k ∗ y = x) ∧ (x ≥ 0) ∧ (y > 0)} par la règle de la conditionnelle
SI x < y
ALORS
{(x + k ∗ y = x) ∧ (x ≥ 0) ∧ (y > 0) ∧ (x < y)} par la règle de la conséquence
{x + k ∗ y = x} par l’axiome de l’affectation
z←x
{z + k ∗ y = x}
SINON
{(x ≥ 0) ∧ (y > 0) ∧ (x + k ∗ y = x) ∧ (x ≥ y)} par la règle de la conséquence
{(x ≥ 0) ∧ (y > 0) ∧ (x + k ∗ y = x)} par l’axiome de l’affectation et la règle de la séquence
z ← x;
{(z ≥ 0) ∧ (y > 0) ∧ (z + k ∗ y = x)} par la règle de la répétitive
TANTQUE z ≥ y FAIRE
{(z ≥ 0) ∧ (y > 0) ∧ (z + k ∗ y = x) ∧ (z ≥ y)}
{((z − y) ≥ 0) ∧ (y > 0) ∧ ((z − y) + (k + 1) ∗ y = x)} par l’axiome de l’affectation et la règle de la
séquence
z ← z − y;
{(z ≥ 0) ∧ (y > 0) ∧ (z + (k + 1) ∗ y = x)} par l’axiome de l’affectation
k←k+1
{(z ≥ 0) ∧ (y > 0) ∧ (z + k ∗ y = x)}
FINTQ
{(z ≥ 0) ∧ (y > 0) ∧ (z + k ∗ y = x) ∧ (z < y)} par la règle de la conséquence
{z + k ∗ y = x}
FINSI
{z + k ∗ y = x}

module S4I0200 — Université de Nantes Examen — Langages et automates, calcul logique, preuves 6/6

Vous aimerez peut-être aussi