• Aucun résultat trouvé

agagefe

N/A
N/A
Protected

Academic year: 2022

Partager "agagefe"

Copied!
19
0
0

Texte intégral

(1)

Reonnaissanede motsdanslesgrammaireshors-ontexte

CatalinDima

(2)

Algorithmepermettantde vériersi unmotw

=

w1w2

. . .

wn est

aeptéparunegrammaire.

Congurationsde l'algorithme:ensembled'items

[

i

]

X

−→ α • β [

j

]

,

X

−→ αβ

estuneprodution,dontlemembredroitestdéoupéen

deuxmots,

α · β

.

1

i

j

nsontdesindiesreprésentantlesous-motw i

. . .

wj

de

w quelaprodutionouranteestenséeproduire.

Le

donnelapositionourantedanslemotw jusqu'oùla

produtionouranteestapabledegénérer w.

L'algorithmefontionneenonstruisantitérativementdesitems,à

partirdelaongurationontenanttouteslesprodutions

S

−→ • α

,jusqu'à equ'uneongurationontenant

[

0

]

S

−→ α • [

n

]

soitonstruite.

(3)

1. Initialisation: Conguration

C

0

=

[

0

]

S

−→ • α[

0

] |

S

−→ α ∈

P .

2. Leture :Si,dansC

i

onaun item

[

j

]

X

−→ α •

a

β[

i

]

avea

=

wi

+

1

(

(

i

+

1

)

-ièmelettredumotd'entrée),alorsonrajoutedans Ci

+

1

l'item

[

j

]

X

−→ α

a

a

β [

i

+

1

]

.

3. Prédition:Si,dansC

i

on aunitem

[

j

]

X

−→ α •

Y

β[

i

]

alorson

rajoutedansC

i

tous lesitems

[

i

]

Y

−→ • γ[

i

]

,pourtouteprodution

Y

−→ γ ∈

P.

4. Complétion: Si,dans C

i

onaun item

[

j

]

Y

−→ γ • [

i

]

alorspour

toutautreitemdelaforme

[

k

]

X

−→ α •

Y

β[

j

]

dans Cj onrajoute

aussil'item

[

k

]

X

−→ α

Y

• β [

i

]

dans Ci (attentionauxindies!).

(4)

Grammaire:

E

−→

T

|

E

+

T

T

−→

F

|

T

F

F

−→

a

|

b

| (

E

)

Générationdea

+

b:

C

0

C

1

C

2

C

3

[

0

]

E

→ •

T

[

0

] [

0

]

E

→ •

E

+

T

[

0

] [

0

]

T

→ •

F

[

0

] [

0

]

T

→ •

T

F

[

0

] [

0

]

F

→ •

a

[

0

] [

0

]

F

→ •

b

[

0

] [

0

]

F

→ • (

E

)[

0

]

[

0

]

F

a

• [

1

] [

0

]

T

F

• [

1

] [

0

]

T

T

• ∗

F

[

1

] [

0

]

E

T

• [

1

] [

0

]

E

E

• +

T

[

1

]

[

0

]

E

E

+ •

T

[

2

] [

2

]

T

→ •

F

[

2

] [

2

]

T

→ •

T

F

[

2

] [

2

]

F

→ •

a

[

2

] [

2

]

F

→ •

b

[

2

] [

2

]

F

→ • (

E

)[

2

]

[

2

]

F

b

• [

3

] [

2

]

T

F

• [

3

] [

2

]

T

T

• ∗

F

[

3

] [

0

]

E

E

+

T

• [

3

]

Dona

+

baepté(ontrouve

[

3

]

E

E

+

T

• [

3

]

dansladernièreolonne).

Essayeraussiavea

+

b

a

,

a

∗ (

b

∗ (

b

)),

b

+

!

(5)

Automateàpile:utiliseunemémoireinnie,organiséeàlamanière

d'unepile.

z a

q

b a a b a a

z

x

z

y

Leslettresdu motsontluesde gauheàdroite.

Àhaquepas,letopde lapileomptedanslamodiationdel'état

de l'automate.

(6)

◮ A = (

Q

, Σ, Γ, δ,

q0

,

Z0

,

Qf

)

.

Q =ensembled'états.

◮ Σ

=alphabetd'entrée(bandedeleture).

◮ Γ

=alphabetdepile.

q 0

=étatinitial,Q

f

=ensembled'étatsnaux.

Z 0

=symboleinitialdans lapile.

◮ δ

=relationdetransition:

δ ⊆

Q

× Σ ∪ {ε}

× Γ × Γ ×

Q

(7)

Unetransitiondans

δ

estun tupleq

−−−→

a

,

z

r.

Sil'automateestdansl'étatq,lalettresouslatêtedeletureesta

etletopdelapileestz,

...alorsonremplaeletopdelapilezparlemot

γ ∈ Γ

,

...etonhanged'étatenr.

Uneongurationde l'automate:

(

q

,

w

, γ) ∈

Q

× Σ × Γ

.

Tuple(état,partiedumotpasenorelue,ontenudelapile).

De etteongurationonpeutévoluerdansuneautreen appliquant

une transitionq a

,

z

−−−→

r :

Silapremièrelettredumotd'entréew esta ,

Etlapremièrelettredumotdepile

γ

estz,

Alorsonhanged'étatenr,onboue aetonremplaez par

β

.

Onéritalors

(

q

,

w

=

aw

, γ =

z

γ ) ⊢ (

r

,

w

, βγ )

.

Congurationinitiale:

(

q0

,

w

,

Z0

)

.

Congurationaeptante:

(

r

, ε, γ)

aver

Qf.

Side

(

q

,

w

,

Z0

)

on peutfranhirun

(

r

, ε, γ)

pourr

Qf,alorsw

(8)

Listedetransitions(çane sertplusàriende représenterl'automate

ommeungraphe...).

q

0 a

,

A

,

AA

−−−−→

q q

−−−−→

a

,

A

,

AA q

q b

,

A

−−−→

r r

−−−→

b

,

A

r

Étatinitialq 0

,nal r, symboleinitialde pileA.

Exemple deongurationinitiale :

(

q0

,

w

,

A

)

.

Exemple detrajetoire=suitedeongurationsreliéespardes

transitions:

(

q0

,

aaabb

,

A

) ⊢ (

q

,

aabb

,

AA

) ⊢ (

q

,

abb

,

AAA

) ⊢ (

q

,

bb

,

AAAA

)

⊢ (

r

,

b

,

AAA

) ⊢ (

r

, ε,

AA

)

Et dononaepteaaabb!

(9)

Exemple detrajetoirenon-aeptante:

(

q0

,

abab

,

A

) ⊢ (

q

,

bab

,

AA

) ⊢ (

r

,

ab

,

A

) 6⊢

... ariln'yapasdetransitionquipuisses'appliquerdansette

onguration!

Même plus,auuneautretrajetoirene peutêtreassoiéeàabab!

(10)

Langageaeptéparunautomate

A

:

L

(A) =

w

∈ Σ | (

q0

,

w

, γ

0

) ⊢ (

r

, ε,

z

)

ongurationaeptante

Exemple :

q

0 a

,

A

,

AA

−−−−→

q q

−−−−→

a

,

A

,

AA q

q b

,

A

−−−→

r r

−−−→

b

,

A

r

AutomateàpilepourL

= {

anbm

|

n

>

m

}

(11)

Et sionvoulaitexatementL

anbn

= {

anbn

|

n

∈ N }

?

Ilfautavoirboué,quandonentredansl'étatnal,touslesAdans

lapile!

Automateave

ε

-transitions:

q

0 a

,

Z0

,

Z0

−−−−−→

A q q

−−−−→

a

,

A

,

AA q

q b

,

A

−−−→

r r

−−−→

b

,

A

r

r

ε,

Z0

−−−−→

s q0

−−−−→ ε,

Z0

s

Et maintenant'estsqui estl'étatnal!

Pasde transitionens!

Donsionaappliquéladernièretransitiondèsledébut,onest

bloquédansuneonguration

(

s

,

w

, ε)

quin'estpasnale !

(12)

Onpeutmodierladénitiondel'aeptationparautomateàpile:

Onpermetdes'arrêter dansn'importequeétat.

Maisilfautavoirnideparourirlemotd'entrée.

Etaussilapiledevraitêtrevide!

Modions notreexemplepourL

anbn

pourqu'ilfontionnepar

aeptationpar pilevide:

q

0 a

,

A

,

AA

−−−−→

q q

−−−−→

a

,

A

,

AA q

q b

,

A

−−−→

r r

−−−→

b

,

A

r

r

ε,

A

−−−→

s q0

−−−→ ε,

A

s

Onvoitquele premierAdanslapilene sertpasàompterlesb,

mais pluttpournaliserlatrajetoire.

Théorème:Siunlangageestaeptéparunautomateàpilepar

aeptationsurétats naux,alorsilseraaeptéaussiparun

(13)

Théorème:Toutlangagehorsontexteestaeptéparun

automateàpile.Laréiproqueestvraie aussi:toutlangaged'un

automateàpileesthorsontexte.

Assoiationd'un automateàpileàunegrammairehorsontexte:

Lesnonterminauxetlesterminauxformentl'alphabetdelapile.

Chaqueprodutionestsimuléesurlapile.

Unseulétatsut!

Siletopdelapileestunterminala ,ilfautlebouersurlabande

d'entrée.

Si'estunnonterminalX,ilfautfaireune

ε

-transitionquiplaesur lapilelerésultatd'uneprodutiondeX.

Aeptationparpilevide.

(14)

Exemple degrammaire:

S

−→

ASB

| ε

A

−→

aAS

|

a

B

−→

SbS

|

bb

Automateassoié:

q

ε,

S

,

ASB

−−−−−→

q q

−−−→ ε,

S

q

q

ε,

A

,

aAS

−−−−−→

q q

−−−→ ε,

A

,

a q

q

ε,

B

,

SbS

−−−−−→

q q

−−−−→ ε,

B

,

bb q

q a

,

a

−−−→

q q

−−−→

b

,

b

q

Symboleinitialdepile:S!

Aeptationde aaabbb:arbresyntaxique,ettrajetoire dans

(15)

Onpeutdénirdesautomatesdéterministes.

Maisilsneserontpaséquivalentsavelesnon-déterministes.

Unautomatedéterministegénèreunlangagenon-ambigu.

Etommeilyadeslangagesàambiguitéinhérente,eslangagesne

peuventpasêtreaeptésparuntelautomatedéterministe.

Leproblèmedu langagevideestdéidable(.à.d.ilyades

algorithmes).

Maisvérierqu'unegrammaireaeptetous lesmotssurun

alphabetn'estpasdéidable!

L'unionetlaonaténationde deuxlangageshorsontexteesthors

ontexte!(leprouver!)

Maisilexistedeslangageshorsontextedont leomplémentn'est

pasunlangagehorsontexte.

Et aussi,l'intersetiondedeuxlangageshorsontextepeutne pas

êtrehorsontexte.

Toutefois,siLesthorsontexteetR estrégulieralorsL

R sera

(16)

hors ontexte

SiLesthorsontexte,alorsilexisteun entiern

0

∈ N

telquetout motdeL(z

L)ontenantplusden0lettrespeuts'érire

z

=

xyzuv, avelespropriétéssuivantes:

1. yu

6= ε

.

2. Lerayonhorsontexte xy n

zu n

v estontenudansL:pourtout

n

∈ N

,xy n

zu n

v

L.

Généralisationdulemmedel'étoiledeslangagesréguliers.

S'applique delamêmemanière:

Preuve par rédutionàl'absurde:

1. OnsupposequeLest horsontexteetonprouvequelelemmede

gonementnousamèneàuneontradition.

Commenttrouveruneontradition:

Onprendunmotz

Letonledéomposedetoutes lesmanières

possiblesenz

=

xyzuv.

Pourhaquedéomposition,ondevraitprouverquelerayonxy n

zu n

(17)

Idée depreuvedu lemme:

Onprendunegrammairepourlelangage.

Onl'amèneàuneformequineontientplusd'

ε

-produtions,nide renommages, ettouslesnonterminauxsontutiles.

Onprendn0

=

kard

(

N

)+

1,oukestlenombredelettresdanslaplus

grandeprodution.

Onprendunmotw ayantplusden0lettres.

Onprendaussiunarbresyntaxiquepourw.

Dufaitduhoixden0,dansl'arbresyntaxiqueildoityavoirun

heminraine

−→

feuillequiaplusden0arêtes.

Alorsundesnoeudsdeeheminserepèteetilorrespondàun

nonterminalX!

Onaidentiéunepartiedel'arbrequipeutêtrerépétéeautantde

foixqu'onveuille!

Lafrontièredeettepartiedel'arbre,àgauhedesafeuilleX,forme

lapartiey denotremot,etellededroiteformeu.

Lerestedelafrontiereformex,z etv.

Répéternfoislapartiedel'arbretrouvée,revientàgénérerxy n

zu n

v.

(18)

L

anbnn

= {

anbnn

|

n

∈ N }

.

Prenonstoutedéompositiond'un mota n

b n

n

en xyzuv.

Plusieurs aspossibles :

1. y etu neontiennentquedesa .

2. y ontientdesaetu ontientdesb.

3. y ontientdesaetu ontientdes.

4. y etu neontiennentquedesb.

5. y ontientdesbetuontientdes.

6. ....

7. y ontientdesaetdesbet....

Maisilyadeuxtypesde as:

1. Quandlesdeuxmotsy

,

uprennenthaununseultypedelettre.

2. Quandundesdeuxmotsy

,

u prenddeuxtypesdelettres.

Danshaqueas,ilfautprouverqu'ilexistedesmembresdurayon

xy n

zu n

v quinesontpasdans L.

Danstouslesasiionpeutprouverquexyyzuuv

=

xy2zu2v n'est

(19)

L

=

w

∈ {

a

,

b

,

} | #

a

(

w

) = #

b

(

w

) = #

(

w

)

.

Aulieud'appliquerlelemmedegonement,onpeututiliseruneidée

vue pourleslangagesréguliers:

SiLétaithorsontexte,alorsL

R seraitaussihorsontextepour

toutlangagerégulierR.

IlnousfautR réguliertelqueL

R

= {

anbnn

|

n

∈ N }

.

Qui pourraitêtreR?

Références

Documents relatifs

• Le sèche-serviettes soufflant: idéal pour les petites salles de bains où il n’y a pas de place pour installer un sèche-serviettes classique, le sèche-serviettes soufflant

Découvrez les différentes options possibles pour personnaliser au mieux votre lampe selon votre besoin.. Avec plus de 3 000

par un ordinateur soit inni, toute opération alulable peut être engendrée à partir d'un ensemble. ni p ar un nombre ni de

Langage mahine.- L'instrution en langage symbolique n'est là que pour nous aider à s'en

de mémoire vive et, d'autre part, le transfert d'une valeur d'un registre vers un élément.. de mémoire vive, ou

Langage mahine.- Uun sous-programme peut se trouver dans le même segment que le programme. qui l'appelle : la valeur du registre IP est alors hangée mais il est inutile de

• La fréquene des solutions qui permet de synhronisés une ligne de fusiliers de taille 5 ou 6 plus grande que pour les autres solutions. • La fréquene des solutions qui permet

Next, to each operator of the Chronogram Language (generation of intervals, rows, columns, multicolumns, time diagrams, etc.) corresponds an operation on languages