X Informatique MP 2013 — Énoncé 1/9
´
ECOLEPOLYTECHNIQUE´
ECOLESNORMALES SUP´
ERIEURES
CONCOURSDADMISSION2013 FILI`
EREMPSP´
ECIALIT´
EINFO
COMPOSITIONDINFORMATIQUEA(XULC)
(Dur´ee :4heures)
Lutilisation descalculatricesn’estpasautoris´ee pourcette´epreuve.
Lelangagedeprogrammationchoisiparle candidatdoitˆetresp´eci´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ϕ.Lobjetprincipalde 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
dunepart probl`emedelasatisabilit´eduneformule(´etantdonn´ee uneformuleϕ,existe-t-il un
motsatisfaisantϕ?)etdautrepart l’expressivit´edesformules.
Lespartiespeuventˆetretrait´eesind´ependamment.N´eanmoins,chaquepartieutilisedesnota-
tionsetdesfonctionsintroduitesdanslespartiespr´ec´edentes.
Lacomplexit´e,oule coˆut,dun programmeP(fonctionou proc´edure)estlenombre
dop´erations´el´ementaires(addition,soustraction,multiplication,division,aectation,etc...)
n´ecessaires`a l’ex´ecution deP.Lorsque cette complexit´ed´epend dun 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 candidatdevrajustier
cettederni`eresiellenesed´eduitpasdirectementdelalecturedu code.
PartieI.Pr´eliminaires
Un alphabetestun ensemblefiniAdontles´el´ements sontappel´eslettres.Un motsurun
alphabetAestunesuitefinied´el´ementsdeA;on noteraεlemotvide (cest-`a-direlasuitede
longueurnulle)eton d´efiniralalongueur |u|dun motnonvideu=a0· · · a1commevalant.
Téléchargé gratuitement sur www.Doc-Solus.fr .
X Informatique MP 2013 — Énoncé 2/9
SiAestun alphabet,on noteraAl’ensembledesmots surAetA+=A\ {ε}l’ensembledes
motsnonvides surA.
Danslasuite, leslettresdun motdelongueursontindic´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 renvoielalongueurdun 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`emeonsexeun alphabetfiniA(on pourraimaginerqu’il sagitdeslettres
minusculesdel’alphabetusuel).Onsouhaited´efinirdesensemblesdemots surl’alphabetA`a
l’aidedeformuleslogiques.Pourcela,on d´efinit,pourchaquelettreaA,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 touti0, la
propri´et´ele mot usatisfait la formule ϕ`a la position i,ce quiseranot´e(u,i)|=ϕ,commesuit.
Sii|u|,on napas(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 napas(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 toutij|u|1.
8.(u,i)|=(Fϕ)sietseulementsijtelqueij|u|1et (u,j)|=ϕ.
9.(u,i)|=(ϕUψ)sietseulementsijtelqueij|u|1,(u,j)|=ψet (u,k)|=ϕpour
toutktelqueik<j.
On notera(u,i)6|=ϕsietseulementsi l’on napas(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 nexistepasd’indice telqu`a partirde cetindice il nyaitplus
quedesa(eneet, laderni`erelettre estun b).
Question1On poseu=bbbcbbaa.Pourchacun des´enonc´esci-dessousdires’il estvraien
justiantbri`evementvotrer´eponse.
(a) (u,4)|=G(papb)
(b) (u,2)|=X(G(papc))
(c) (u,1)|=F(G(papb))
(d)u|=(papb)U(papc)
Question2´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiucontientun asuiviplus
tard dun b.Parexempleonauraccacccba|=ϕtandisqueccacccaa 6|=ϕ.
Question3´
EcrireuneformuleFintelleque(u,i)|=Finsietseulementsii=|u|1(cest-`a-dire
sietseulementsiiestl’indice deladerni`erelettredeu).
Danslasuite,on pourrautiliserFincommeuneboˆıtenoire.
Question4´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiusetermineparun a.
Question5´
Ecrireuneformuleϕtellequeu|=ϕsietseulementsiu=ababab · · · ab,cest-`a-dire
sietseulements’il existek1telqueu=u0u1· · · u2k1et,pour toutitelque0i2k1
onaui=asiiestpairetui=bsiiestimpair.
Question6Pourcettequestion,on poseA={a, b,c}.Soitϕ=F(paX(G(¬pa))F(pbXpc)).
D´ecrireun automatefini(pouvantˆetrenon-d´eterministe) reconnaissantlelangageLϕ={uA+|
ϕ|=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)aAetlaformuleVRAInousavonsdesconnecteursunaires(¬,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 seulls)ou parun connecteurbinaire(un telnœud aura alors
deuxls).Danslasuite,onconfondrafr´equemmentuneformuleavec sarepr´esentation parun
arbre.
Parexemple, laformule(F(G(papb))) 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´efinitlatailleduneformuleparlenombredenœ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ϕnutilisantpasle connecteurF,uneformule´equivalente
`a Fϕquinutilisepasle connecteur temporelF.En d´eduireunefonctionnormaliseF quiprend en
entr´ee uneformule quelconque et renvoieuneformule ´equivalentequinutilisepasle connecteur
F.Quelle estlacomplexit´edevotrealgorithme?
(* Caml *) normaliseF: formule -> formule
{Pascal }normaliseF(phi: formule) :formule;
Uneformulequiutilise commeseulsconnecteurstemporelsleXetleUseraquali´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)|=ϕ.Justierquevotrefonctiontermine 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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !