X Informatique MP 2013 — Énoncé 1/9
´
ECOLEPOLYTECHNIQUE–´
ECOLESNORMALES SUP´
ERIEURES
CONCOURSD’ADMISSION2013 FILI`
EREMPSP´
ECIALIT´
EINFO
COMPOSITIOND’INFORMATIQUE–A–(XULC)
(Dur´ee :4heures)
L’utilisation descalculatricesn’estpasautoris´ee pourcette´epreuve.
Lelangagedeprogrammationchoisiparle candidatdoitˆetresp´ecifi´e entˆetedelacopie.
⋆ ⋆ ⋆
Logique temporelle
On´etudiedansce probl`emeun formalismelogique, lalogique temporelle,permettantded´efinir
desformulesauxquelles sontassoci´esdeslangagesdemots.Ainsi, pour touteformuleϕdela
logiquetemporelle etpour toutmotuon d´efiniralapropri´et´equelemotusatisfaitlaformuleϕ,
et`a touteformuleϕonassocieral’ensembleLϕdesmotsquisatisfontϕ.L’objetprincipalde ce
probl`eme estdes’int´eresserauxpropri´et´esde ceslangagesLϕ.
LapartieIintroduitlalogiquetemporelle etdonnedesexemplesdeformules.LapartieII
introduituneformenormalepourlesformules.LapartieIII estconsacr´ee `a montrerquepour
touteformulel’ensembledemotsassoci´esestun langagerationnel. Enfin, lapartieIV´etudie
d’unepart probl`emedelasatisfiabilit´ed’uneformule(´etantdonn´ee uneformuleϕ,existe-t-il un
motsatisfaisantϕ?)etd’autrepart l’expressivit´edesformules.
Lespartiespeuventˆetretrait´eesind´ependamment.N´eanmoins,chaquepartieutilisedesnota-
tionsetdesfonctionsintroduitesdanslespartiespr´ec´edentes.
Lacomplexit´e,oule coˆut,d’un programmeP(fonctionou proc´edure)estlenombre
d’op´erations´el´ementaires(addition,soustraction,multiplication,division,affectation,etc...)
n´ecessaires`a l’ex´ecution deP.Lorsque cette complexit´ed´epend d’un param`etren,on diraque
Paune complexit´e enO(f(n)),s’il existeK>0telquelacomplexit´edePestau plusKf(n),
pour toutn.Lorsqu’il estdemand´edegarantirune certaine complexit´e, le candidatdevrajustifier
cettederni`eresiellenesed´eduitpasdirectementdelalecturedu code.
PartieI.Pr´eliminaires
Un alphabetestun ensemblefiniAdontles´el´ements sontappel´eslettres.Un motsurun
alphabetAestunesuitefinied’´el´ementsdeA;on noteraεlemotvide (c’est-`a-direlasuitede
longueurnulle)eton d´efiniralalongueur |u|d’un motnonvideu=a0· · · aℓ−1commevalantℓ.
Téléchargé gratuitement sur www.Doc-Solus.fr .
X Informatique MP 2013 — Énoncé 2/9
SiAestun alphabet,on noteraA∗l’ensembledesmots surAetA+=A∗\ {ε}l’ensembledes
motsnonvides surA.
Danslasuite, leslettresd’un motdelongueurℓsontindic´eesde0 `a ℓ−1.
EnCaml, nousrepr´esenteronslesmots`a l’aidedu typestring.Lesfonctions suivantespour-
rontˆetreutilis´eesdanslasuite.
–Simot estdetypestring etiestdetypeint alorsmot.[i] estdetypechar etdonnela
lettred’indice idemot.Parexemple:"bonjour".[3] renvoie‘j‘.
–string length: string -> int renvoielalongueurd’un mot.
EnPascal, nousrepr´esenteronslesmots`a l’aidedu typestring.Lesfonctions suivantes
pourrontˆetreutilis´eesdanslasuite.
–Simot estdetypestring etiestdetypeinteger alorsmot[i] estdetypechar etdonne
lalettred’indice idemot aveclaconventionque lapremi`erelettre estd’indice 1.
Parexemple:mot:=’bonjour’;mot[4] renvoie’j’.
–Simot estdetypestring,length(mot) donnelalongueurdemot.
Danstoutleprobl`emeonsefixeun alphabetfiniA(on pourraimaginerqu’il s’agitdeslettres
minusculesdel’alphabetusuel).Onsouhaited´efinirdesensemblesdemots surl’alphabetA`a
l’aidedeformuleslogiques.Pourcela,on d´efinit,pourchaquelettrea∈A,un pr´edicatpa,qui
permettradetestersi lalettre`a uneposition donn´ee estun a.Pourconstruiredesformules`a
partirde cespr´edicats,on utiliselesconnecteursBool´eeens∨(ou),∧(et) et¬(non)ainsiqueles
connecteurstemporelsX(justeapr`es),G(d´esormais),F(un jour) etU(jusqu’`a).
Lesformulesde lalogique temporellesontalorsconstruitesparinductioncommesuit.Si
paestun pr´edicat,etsiϕ,ψsontdesformulesdelalogiquetemporelle,touteslesformules seront
construites selonlasyntaxesuivante:
1.VRAI
2.pa
3.(¬ϕ)
4.(ϕ∨ψ)
5.(ϕ∧ψ)
6.(Xϕ)
7.(Gϕ)
8.(Fϕ)
9.(ϕUψ)
Touteslesformules serontconstruitesdelafa¸con pr´ec´edente,enomettantlesparenth`eses si
celles-cisontinutiles.Parexemple,Xpb,paUpbetF(Gpa)sontdesformules.
Nousallonsmaintenantd´efinirlesens (oulas´emantique)desformules.
Soitun motuetsoituneformuledelalogiquetemporelleϕ.On d´efinit,pour touti≥0, la
propri´et´e”le mot usatisfait la formule ϕ`a la position i”,ce quiseranot´e(u,i)|=ϕ,commesuit.
Sii≥|u|,on n’apas(u,i)|=ϕ:uneformulenepeutˆetrevraiequ’`a uneposition du mot;en
particulierlemotvidenesatisfaitaucune formule(pasmˆemelaformuleVRAI).Sii≤|u|−1,
on noteu=a0· · · a|u|−1etonraisonnealorsparinductionsurlastructuredeϕ.
Téléchargé gratuitement sur www.Doc-Solus.fr .
X Informatique MP 2013 — Énoncé 3/9
1.(u,i)|=VRAI.
2.(u,i)|=pasietseulementsiai=a.
3.(u,i)|=(¬ϕ)sietseulementsi l’on n’apas(u,i)|=ϕ.
4.(u,i)|=(ϕ∨ψ)sietseulementsi(u,i)|=ϕou(u,i)|=ψ.
5.(u,i)|=(ϕ∧ψ)sietseulementsi(u,i)|=ϕet (u,i)|=ψ.
6.(u,i)|=(Xϕ)sietseulementsi(u,i+1)|=ϕ.Notez quesii=|u|−1,alorson nepeut
avoir (u,i)|=(Xϕ).
7.(u,i)|=(Gϕ)sietseulementsi(u,j)|=ϕpour touti≤j≤|u|−1.
8.(u,i)|=(Fϕ)sietseulementsi∃jtelquei≤j≤|u|−1et (u,j)|=ϕ.
9.(u,i)|=(ϕUψ)sietseulementsi∃jtelquei≤j≤|u|−1,(u,j)|=ψet (u,k)|=ϕpour
toutktelquei≤k<j.
On notera(u,i)6|=ϕsietseulementsi l’on n’apas(u,i)|=ϕ.On noterau|=ϕ(eton dira
alorsqueϕestvraiepouru)lefaitque(u,0)|=ϕ,eton noterau6|=ϕlefaitque(u,0)6|=ϕ.
Parexemple:
–(aaabcbab,2)|=Xpbcarlalettred’indice 3deaaabcbab estun b.
–aaabcbab |=paUpbcarlalettred’indice 3estun bet toutesleslettresqui lapr´ec`edentsont
desa.
–aaabcbab 6|=F(Gpa)caril n’existepasd’indice telqu’`a partirde cetindice il n’yaitplus
quedesa(eneffet, laderni`erelettre estun b).
Question1On poseu=bbbcbbaa.Pourchacun des´enonc´esci-dessousdires’il estvraien
justifiantbri`evementvotrer´eponse.
(a) (u,4)|=G(pa∨pb)
(b) (u,2)|=X(G(pa∨pc))
(c) (u,1)|=F(G(pa∨pb))
(d)u|=(pa∨pb)U(pa∨pc)
Question2´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiucontientun asuiviplus
tard d’un b.Parexempleonauraccacccba|=ϕtandisqueccacccaa 6|=ϕ.
Question3´
EcrireuneformuleFintelleque(u,i)|=Finsietseulementsii=|u|−1(c’est-`a-dire
sietseulementsiiestl’indice deladerni`erelettredeu).
Danslasuite,on pourrautiliserFincommeuneboˆıtenoire.
Question4´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiusetermineparun a.
Question5´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiu=ababab · · · ab,c’est-`a-dire
sietseulements’il existek≥1telqueu=u0u1· · · u2k−1et,pour toutitelque0≤i≤2k−1
onaui=asiiestpairetui=bsiiestimpair.
Question6Pourcettequestion,on poseA={a, b,c}.Soitϕ=F(pa∧X(G(¬pa))∧F(pb∧Xpc)).
D´ecrireun automatefini(pouvantˆetrenon-d´eterministe) reconnaissantlelangageLϕ={u∈A+|
ϕ|=u}.
Téléchargé gratuitement sur www.Doc-Solus.fr .
X Informatique MP 2013 — Énoncé 4/9
Deuxformulesϕetψsont´equivalentes,ce quel’on noteϕ≡ψ,sipour toutmotu,ona
u|=ϕsietseulementsiu|=ψ.Autrementdit, lesformulesϕetψsontvraiespourlesmˆemes
mots.
Question7Soientϕetψdeuxformulesquelconques.Montrerquel’onaϕUψ≡ψ∨(ϕ∧
(X(ϕUψ))).
PartieII.Normalisationde formules
Afin demanipulerdesformulesdelalogiquetemporelle,onvarepr´esentercesderni`erespardes
arbres.Outrelespr´edicats(pa)a∈AetlaformuleVRAInousavonsdesconnecteursunaires(¬,X,
GetF)etdesconnecteursbinaires(∨,∧etU).`
Alamani`eredesexpressionsarithm´etiques,on
repr´esenteuneformuledelalogiquetemporelleparun arbredontlesfeuilles sont´etiquet´ees soit
parun pr´edicatpasoitparVRAI,etdontlesnœudsinternes sont´etiquet´esparun connecteurs
unaire(un telnœud aura alorsun seulfils)ou parun connecteurbinaire(un telnœud aura alors
deuxfils).Danslasuite,onconfondrafr´equemmentuneformuleavec sarepr´esentation parun
arbre.
Parexemple, laformule(F(G(pa∨pb))) ∧pbserarepr´esent´ee parl’arbre ci-dessous:
∧
pb
F
G
∨
pb
pa
Letypedesformulesestd´efinicommesuit:
(* Caml *) {Pascal }
type formule =
|VRAI
|Predicat of char
|NON of formule
|ET of formule *formule
|OU of formule *formule
|X of formule
|G of formule
|F of formule
|U of formule *formule;;
Type
typeFormule =(VRAI,Predicat,NON,ET,OU,X,G,F,U);
formule =^rformule;
rformule =Record
case t : typeFormule of
VRAI :();
Predicat :(c :char);
NON,X,G,F :(h :formule);
U,ET,OU :(d,g :formule);
End;
EnPascal, on pourrautilisersanslesprogrammerlesfonctions suivantes:
Function FVrai() :formule;
Téléchargé gratuitement sur www.Doc-Solus.fr .
X Informatique MP 2013 — Énoncé 5/9
Function FP(c: Char) :formule;
Function FUn(t: typeFormule; h: formule) :formule;
Function FBin(t: typeFormule; g,d: formule) :formule;
LafonctionFVrai renvoielaformuleVRAI.LafonctionFP appel´ee avec unelettre’c’ renvoiela
formulepc.LafonctionFUn appel´ee avec NON (resp.X,GetF)etuneformuleϕrenvoielaformule
¬ϕ(resp.Xϕ,GϕetFϕ).LafonctionFBin appel´ee avec U(resp.ET etOU)etdeuxformulesϕetψ
renvoielaformuleϕUψ(resp.ϕ∧ψetϕ∧ψ).Parexemple,FUn(X,FBin(U,FVrai(),FP(’a’)))
renvoielaformuleX(VRAIUpa).
On d´efinitlatailled’uneformuleparlenombredenœudsdel’arbrequi larepr´esente.En
particulier, laformuleVRAIetlesformulesr´eduites`a un pr´edicatpasontdetaille1.
Question8´
Ecrireunefonctiontaille quiprend enargumentuneformule et renvoiesataille.
(* Caml *) taille: formule -> int
{Pascal }taille(phi: formule) :integer;
Question9Donner,pour touteformuleϕn’utilisantpasle connecteurF,uneformule´equivalente
`a Fϕquin’utilisepasle connecteur temporelF.En d´eduireunefonctionnormaliseF quiprend en
entr´ee uneformule quelconque et renvoieuneformule ´equivalentequin’utilisepasle connecteur
F.Quelle estlacomplexit´edevotrealgorithme?
(* Caml *) normaliseF: formule -> formule
{Pascal }normaliseF(phi: formule) :formule;
Uneformulequiutilise commeseulsconnecteurstemporelsleXetleUseraqualifi´ee de
normalis´ee.
Question10 Montrerquetouteformule est´equivalente`a uneformulenormalis´ee.Donnerune
fonctionnormalise de complexit´elin´eairequiprend enentr´ee uneformule quelconque et renvoie
uneformule ´equivalentenormalis´ee.
(* Caml *) normalise: formule -> formule
{Pascal }normalise(phi: formule) :formule;
Danstoutelasuitedu probl`eme,onsupposeraquel’ontravailleavec desformulesnorma-
lis´ees.
Question11 ´
Ecrireunefonctionr´ecursiveveriteN quiprend enargumentun motu,un indice
ietuneformule (normalis´ee)ϕetd´eterminesi(u,i)|=ϕ.Justifierquevotrefonctiontermine et
indiquersielle estexponentielleou polynomiale enlatailledesesarguments.
Téléchargé gratuitement sur www.Doc-Solus.fr .
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!