• 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

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

• 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

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

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