UFR Sciences et Techniques Licence S&T – 1ère année
Logique pour l'informatique l'informatique
TRAVAUX DIRIGÉS
Enseignant
Jean!"es A#T$I#%
(Jean-Yves.Antoine AT univ-tours.fr)
Logique pour l’informatique l’informatique
Intr'uctin ( )a )*ique QUESTIONS DE COURS %+ercice 1 , Les -r.s 'e /aths 'e )0cée snti)s /enteurs (contrôle 2001 – Obectif 1.1.2.) Tout au long de votre scolarité, on vous a parlé en mathématiques de théorèmes. Mais en utilisant cette notion, ne vous aurait-on pas menti par omission ? Que pensez-vous en particulier des assertions suivantes :
1 — Pour être un théorème il suffit qu’un énoncé mathématique soit vrai
vrai
au!
2 — Un théorème peut-être faux
vrai
au!
%+ercice 2 , La "érité est tu3urs re)ati"e (contrôle 200!-200" – Obectif 1.1.#.) "n considère un s#stème logique qui est sain $consistant% mais pas complet . Que pensez-vous des deu! airmations suivantes, prises glo&alement : a% Dans ce système, tout théorème est vrai &% Dans ce système, tout ce qui est vrai n’est pas forcément un théorème 'n utilisant les atomes Est_Theoreme et Est_Vrai, donnez la représentation la plus simple possi&le de cet ensem&le de deu! airmations en logique des propositions.
— ) —
( -! "ntoine et # $illaneau $illaneau
Logique pour l’informatique l’informatique
Intr'uctin ( )a )*ique QUESTIONS DE COURS %+ercice 1 , Les -r.s 'e /aths 'e )0cée snti)s /enteurs (contrôle 2001 – Obectif 1.1.2.) Tout au long de votre scolarité, on vous a parlé en mathématiques de théorèmes. Mais en utilisant cette notion, ne vous aurait-on pas menti par omission ? Que pensez-vous en particulier des assertions suivantes :
1 — Pour être un théorème il suffit qu’un énoncé mathématique soit vrai
vrai
au!
2 — Un théorème peut-être faux
vrai
au!
%+ercice 2 , La "érité est tu3urs re)ati"e (contrôle 200!-200" – Obectif 1.1.#.) "n considère un s#stème logique qui est sain $consistant% mais pas complet . Que pensez-vous des deu! airmations suivantes, prises glo&alement : a% Dans ce système, tout théorème est vrai &% Dans ce système, tout ce qui est vrai n’est pas forcément un théorème 'n utilisant les atomes Est_Theoreme et Est_Vrai, donnez la représentation la plus simple possi&le de cet ensem&le de deu! airmations en logique des propositions.
— ) —
( -! "ntoine et # $illaneau $illaneau
Logique pour l’informatique l’informatique
L*ique 'es -r-sitins 4L56 QUESTIONS DE COURS %+ercice 7 , S0nta+e L5 (obectif $ 2.1.1) "n considère les propositions suivantes : a% * ⇒ $* ∨ +%
&% Β ⇒ (Β ⇒ Ρ )
c% $* v +%
d% $ * ∧ + % ⇒
e% $ $* ∨ +% ∧ % ⇒ %
% ⇒ $ * ⇔ %
Quelles sont les propositions dans lesquelles les parenthèses sont inutiles ?
%+ercice 8 , 9étér)*ie )*ique (obectif $ 2.2.1) 'n utilisant les atomes $le soleil soleil &rille%, $il pleut%, * $il &ruine%, / $il # a un arc en ciel%, " $il a un vent d0"uest%, ' $il # a du vent d0'st% Traduire dans la logique des propositions les énoncés suivants suivants : 1% %’il pleut et que le soleil &rille en même temps, alors il y a un arc en ciel )% %i le vent '’ouest amène la pluie, on n’a (amais vu qu’un vent '’est soit porteur 'e pluie# 2% La &ruine est une forme 'e pluie#
TRADUCTION EN LP : EXERCICES %+ercice : , 5etit -récis 'e *é/étrie euc)i'ienne (obectif 2.2.1) +eprésenter dans le ormalisme de la logique des propositions les théorèmes de géométrie suivants : a — %i un triangle est équilatéral alors il est isocèle# & — Un triangle rectangle n)est (amais équilatéral# c — Un carré est * la fois un parallélogramme et un rectangle# d — Un losange n)est ni un qua'rilatère rectangle ni un triangle# e — Deux 'roites coplanaires sont soit sécantes, soit parallèles# — Deux 'roites ne peuvent être * la fois sécantes et parallèles#
%+ercice ; , Rencntres )*iques (10& ' obectif 2.2.1.) Traduire chacune des phrases suivantes en une ormule du langage des propositions : a — amais il ne me rencontre sans me 'ire &on(our# & — Lorsqu’il ne me 'it pas &on(our, c’est qu’il est f+ché# c — l s’arrange pour ne (amais me rencontrer lorsqu’il est f+ché## d — u &ien on va se 'ire &on(our ou &ien il est f+ché##
%+ercice < , Un -eu 'e *astrn/ie=== (obectif 2.2.1) "n considère l0ensem&le des connaissances suivantes, suivantes, e!traite d0un impro&a&le cours d0école h3telière. %i le client a comman'é un plat 'u (our, on accompagnera le repas ')une carafe ')eau## %i le client a 'eman'é un menu plus conséquent, ou a comman'é * la carte, on servira o&ligatoirement 'u vin# .rois sortes 'e vins peuvent être servis / 'u &lanc, 'u rosé ou 'u rouge# "vec 'e la vian'e, on servira 'u vin rouge et 'u rosé ou 'u &lanc avec le poisson#
+eprésentez ces inormations sous la orme d0un ensem&le de ormules de la logique des propositions.
— 2 —
( -! "ntoine et # $illaneau $illaneau
Logique pour l’informatique l’informatique
%+ercice > , 5ri+ 'e )?essence et -ré"entin rutière (obectif 2.2.1) 4es orces de police ont o&servé qu0en 5rance, la vitesse mo#enne des automo&ilistes s0est réduite autour des années )616. Quel est la cause de cette nouvelle sagesse des ran7ais, d0ordinaire plus prompts 8 acheter un détecteur de radar qu08 penser au! milliers de morts annuels sur les routes de l09e!agone ? our # voir plus clair, donnez la trad traduc ucti tion on en logi logiqu quee des des prop propos osit itio ions ns des des énon énoncé céss suivants $en ne traduire pas les parties parties entre crochets : a# La &aisse 'es réserves réserves pétrolières pétrolières et la hausse 'e la consommation chinoise expliquent la cherté 'u pétrole 0e n’est pas parce qu)il y a 'es ra'ars 1 8 certains endroits 2 que les gens ré'uisent leur vitesse 1 ailleurs ailleurs 2# c# 0’est parce que le pétrole est cher que les gens gens roulent moins vite# '# "vec "vec l)asso l)assoupl uplisse issemen mentt 'es règles règles 'e rattrap rattrapage age 'e points 'e permis sous le gouvernement de 5ran7ois 5illon; être flashé par un ra'ar co3te moins cher# e# Pour Pour que que les les fran4 fran4ai aiss roul roulen entt moin moinss vite vite,, il faut faut augmenter augmenter le prix 'u pétrole et non pas augmenter augmenter le nom&re 'e ra'ars
%+ercice @ , Le 'i-)/é /ti"é (obectif 2.2.1) / peine sorti de licence inormatique, /lphonse "&oulo se rue sur les annonces d0emploi, persuadé que la qualité de la ormat ormation ion re7ue re7ue dan danss cette cette univer universit sitéé sera sera immédi immédiate atemen mentt reconn reconnue ue par les entrep entrepris rises es les plus plus presti prestigie gieus uses. es. 'n réponse 8 l0une de ses < => candidatures spontanée, le @+9 de la Aorld omp ompan an## Bnc. Bnc.,, le conv convoq oque ue po pour ur un entr entret etie ienn déci décisi si. . +emo +emont ntéé 8 &loc &loc,, /lphonse "&oulo, se précipite dans la première gare venue pour réserver un &illet de train pour la ville oC il est convoqué. @ans la ile d0attente, il ait le raisonnement suivant $on ne considérera pour cela que les parties en caractères italique% :
Grèves SNCF : montée du mécontenteme mécontentement nt en province
$1% 5n cas 'e grève, le train sera en retar' ou annulé# $)% 6e pas réussir l)au'ition et manquer le ren'e7-vous sont les 8 causes les plus sures 'e ne pas être em&auché# $2% ompte tenu de la pré-sélection eectuée, eectuée, réussir * l)entretien est synonyme ')em&auche# $D% 9ui 'it train en retar' 'it ren'e7-vous manqué# $<% Une chose est s3re, (e ne raterai pas l)au'ition# $% Donc, seule une grève peut empêcher mon em&auche /ngoissé 8 l0idée d0avoir son avenir suspendu au climat social au sein de la E5, /lphonse "&oulo tente d0écarter ses idées noires en traduisant en logique des propositions son raisonnement. aurez-vous l0aider ?
— D —
( -! "ntoine et # $illaneau $illaneau
Logique pour l’informatique l’informatique
%+ercice 1B , A-rès )e 11 se-te/Cre se-te/Cre )*ique et *é-)itique (environ & ' obectif 2.2.1 ) 1 — omplétez la traduction dans la logique des propositions de lFénoncé suivant : Palestiniens et sraéliens ne sont pas tous nécessairement opposés * la paix . alestinien
Bsraélien
aciiste
question avec avec lFénoncé suivant suivant : l n’y a pas nécessairement que 'es islamistes extrémistes parmi les 2 — MGme question "fghans et les Pa:istanais#
/ghan
aHistanais
BslamisteIe!trémiste
%+ercice 11 , T tEeet r nt t tEeet (obectif 2.2.1. ) 'n envo#ant un tJeet de soutien 8 l0adversaire de égolène +o#ale au! dernières élections législatives, Kalérie TrierJeiler est parvenue 8 un e!ploit rare : générer des milliers d0articles Lournalistiques $une des quotidiens, mais aussi des he&domadai he&do madaires res politiques politiques%% et commenta commentaires ires sur les orum 8 partir d0un petit message de moins de 1D6 caractères... @e quoi s0interroger sur les relations des ran7ais avec une politique de plus en plus people. @e quoi également donner des idées 8 votre enseignant pour son cours de logique : il vous est en eet demandé de traduire en logique des propositions les énoncés ci-dessous : a — Parler 'u t;eet 'e $alerie .reiler;eiler n’est pas la seule solution pour ven're un maga7ine#
& — Parler 'e $alerie .rei;eiler et par ler 'e %égolène
c — 0e n)est pas parce que =ran4ois >ollan'e a changé 'e compagne qu)il faut parler 'e cette 'ernière#
%+ercice 12 , istires 'e cnnecteurs (environ &' obectifs 2.2.1 2.1.*) omplétez tez la traduc traductio tionn dan danss la logiqu logiquee des propositio propositions ns de lFénon lFénoncé cé 1 — omplé suivant : La gloire pas plus que la richesse n’apportent le &onheur . loire
+ichesse
*onheur
2 — @onnez la traduction dans la logique des propositions de lFénoncé suivant : "u resto U c)est tou(ours fromage ou 'essert#
%+ercice 17 , La té)é ren' .u (10&' obectifs 2.2.1 2.1.*) 1. Quelle$s% &$s% représente$nt% lFénoncé suivant : Pour gagner 8 heures 'e temps li&re quoti'ien ou encore voir son 9uotient ntellectuel augmenter, il est nécessaire ?mais pas nécessairement suffisant, &ien s3r @A 'e (eter sa télévision
∧ QBIenIhausse ⇒ NeterITelevision ¨ TempsIli&reIenIplus ∨ QBIenIhausse ⇒ NeterITelevision ¨ TempsIli&reIenIplus ∧ QBIenIhausse ⇔ NeterITelevision ¨ NeterITelevision ⇔ TempsIli&reIenIplus ∨ QBIenIhausse ¨ NeterITelevision ⇒ TempsIli&reIenIplus ∧ QBIenIhausse ¨ NeterITelevision ⇒ TempsIli&reIenIplus ∨ QBIenIhausse ¨ TempsIli&reIenIplus
— < —
( -! "ntoine et # $illaneau $illaneau
Logique pour l’informatique
2. @e mGme, quelle$s% &$s% représente$nt% lFénoncé suivant : 6e pas per're ce n’est pas o&ligatoirement o&tenir une victoire, alors qu’o&tenir une victoire c’est tou(ours ne pas per're ¨ ¨ ¨ ¨ ¨ ¨ ¨
Kictoire ⇒ erdre erdre ⇒ Kictoire erdre ⇒ Kictoire Kictoire ⇔ erdre $Kictoire ⇒ erdre% ∧ $erdre ⇒ Kictoire% $ erdre ⇒ Kictoire% ∧ (Kictoire ⇒ erdre% (erdre ⇒ Kictoire% ∧ (Kictoire ⇒ erdre%
TRADUCTION EN LP : POUR ALLER PLUS LOIN %+ercice 18 , L*ique )an*a*e et )ittérature (obectif 2.2.1) @e tous temps, les logiciens ont cherché 8 représenter le langage, maniestation par e!cellence de la pensée humaine, sous orme logique. / premier a&ord, ce proLet peut paraOtre raisonna&le. ar e!emple, représentez dans le ormalisme de la logique des propositions les citations suivantes : a — e pense, 'onc (e suis & — e me révolte, 'onc (e suis c — 0et animal est triste, et la crainte le ronge# d — l n)y a pas ')amour 'e vivre sans 'ésespoir 'e vivre e — 9u)on cè'e * la peur 'u mal, on ressent 'é(* le mal 'e la peur — $entre affamé n)a point ')oreilles g — e meurs si (e vous per's, mais (e meurs si ()atten's
[email protected], @iscours de la méthode% $amus, 40'té% $4a 5ontaine, 5a&les: 4e lièvre et les grenouilles% $/l&ert amus, 40'nvers et l0endroit% $*eaumarchais, 4e &ar&ier de éville% $4a 5ontaine, i&. : 4e milan et le rossignol% $+acine, /ndromaque%
Très vite, on réalise cependant que la tPche est comple!e : les représentations logiques ont du mal 8 rendre compte de certaines su&tilités de compréhension traduites par des ver&es de modalité $ croire que, penser que, savoir que## %, par de petits mots outils $ 'é(*, seulement , tou(ours, mais...% voire par certaines tournures. @es logiques comple!es telles que la logique modale ou encore la logique loue ont été inventées pour atteindre un niveau de inesse plus important. *ien des détails de la langue échappent cependant touLours 8 la représentation logique. Tentez tout de mGme de représenter les citations suivantes en logique des propositions, tout en relevant les insuisances de cette représentation : a — "ller (usqu)au &out, ce n)est pas seulement résister, c)est aussi se laisser aller $amus, arnets% & — Prouver que ()ai raison serait accor'er que (e puis avoir tort $*eaumarchais, 4e mariage de 5igaro% c — e le haBrais 'avantage Koltaire; si (e le méprisais moins $+ousseau, orrespondance% d — $a, ; (e ne te hais point $orneille, 4e id%
— = —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Ha)cu) 'es -r-sitins QUESTIONS DE COURS %+ercice 1: , TaC)es 'e "érité (obectif 2.2.2) @onner la ta&le de vérité des propositions suivantes : a% c%
∧ Q ⇒ $Q ∧ %
$ ∨ Q% $ ∨ Q% ⇔ $ ⇒ Q%
&% d%
%+ercice 1; , Intuitin )*ique (obectif 2.2.* ) @onnez un modèle de la & suivante : $ /∨*∨% ⇒
TABLES DE VERITE : EXERCICES CALCULATOIRES %+ercice 1< , uestin 'e ra-i'ité taC)e 'e "érité u ca)cu) /enta) (obectif 2.2.* ' ) @onnez les interprétations des atomes , Q et + $par e!emple Krai R Q 5au! R + 5au!% qui rendent ausses les ormules suivantes : 1% )%
+ ∧ ⇒ $ Q ∨ $+ ⇒ %% Q ⇒ $+ ⇒ % ; ∨ + ∨
%+ercice 1> , Taut)*ies cntra'ictins (obectif 2.2.2.) 1 — récisez, en utilisant la méthode des ta&les de vérité, si les ormules suivantes sont des tautologies, des contradictions, ou des propositions simplement satisaisa&les. "n cherchera 8 limiter au ma!imum les calculs. a% c% d% e%
$ ∧Q% ∧ $ ∨ Q% ⇒ $ ∧ Q% $ ⇒ Q% ⇒ $Q ⇒ % $ ⇒ Q% ∧ $Q ⇒ +% ⇒ $ ⇒ +%
&%
∨ $ ∧Q%
Rép!se — tautologies : &, e R ormules satisaisa&les : a, c, d ) — Quelle remarque peut on aire au suLet du résultat d% ?
%+ercice
[email protected] , Taut)*ies (obectif 2.2.2)
'?a-rès A= Ah & J= U))/an Concepts fondamentaux de l'informatique Dun'
récisez, en utilisant la méthode des ta&les de vérité, quelles sont les e!pressions, parmi les ormules suivants, qui sont des tautologies. "n cherchera 8 limiter au ma!imum les calculs. 1 — $ ⇒ Q % ⇒ ) — ∧ Q ∧ + ⇒ ∨ Q 2 — $ ⇔ $ Q ∨ + % % ⇒ $ Q ⇒ ∨ + %
Rép!se — tautologie : &
%+ercice 2B , TaC)es 'e "érité et u e+c)usi. (obectif 2.2.2) "n considère la & suivante : $/ ⊕ *% ∧ $ ⇔ *% ∧ $/ ∨ *%. 1% @onnez le nom&re d0interprétations pour lesquelles la ormule est vraie : )% @onnez le nom&re d0interprétations pour lesquelles la ormule est ausse : 2% Que peut-on dire de la ormule : ¨ ¨
Tautologique uniquement atisaisa&le $sans plus%
¨ ¨
Tautologique et satisaisa&le ontradictoire — > —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice 21 , TaC)es 'e "érité et u e+c)usi. (10& ' obectif 2.2.2 ' ) récisez, en utilisant la méthode des ta&les de vérité, la nature $tautologique, satisaisa&le, contradictoire% des e!pressions suivantes. "n cherchera 8 limiter au ma!imum les calculs. a% $ ∨ Q% ∧ $ $+ ∧Q% ⊕ $ ⇔ Q%% &% $ ∧ Q% ∨ $ $+ ∨ Q% ⇔ $ ⊕ Q%%
%+ercice 22 , %qui"a)ence )*ique (obectif 2.2.2 ' ) +etrouvez, 8 lFaide de la méthode des ta&les de vérité, les règles d0équivalence suivantes : a% &% c%
∨ $Q ∧ +% ≡ $ ∧ Q% ≡ ≡ ∧ $ ∨ Q% ≡
$ ∨ Q% ∧ $ ∨ +% ∨ Q ∨ $ ∧ Q%
$distri&utivité de la disLonction sur la conLonction% $1ère loi de @e Morgan% $règle d0a&sorption%
"ODELES D#UN ENSE"BLE DE $OR"ULES : EXERCICES AVEC TRADUCTIONS %+ercice 27 , Ht 'e )a "ie (obectif 2.2.1 et 2.2.2) Monsieur Truisme nous ait les deu! airmations suivantes : $1% %i cet o&(et est rare, alors il est cher $)% De plus, si cet o&(et est cher, alors il n’est pas rare / première vue ces deu! airmations sem&lent contradictoires. Montrez, 8 lFaide de la méthode des ta&les de vérité, que cet ensem&le de propositions est satisaisa&le. Fest 8 dire que Monsieur Truisme nFa pas orcément touLours tort...
%+ercice 28 , Détecti"e /a)*ré )ui (obectifs 2.2.1. et 2.2.*) Sn crime horri&le a été commis au département inormatique : les de la salle dFinormatique qui aisaient l0an dernier encore de l0Sniversité un musée, ont été remplacés par des ordinateurs lam&ants neus 4e détective NacH almer, chargé de cette diicile enquGte, est arrivé 8 isoler trois suspects. Koici le résumé de leur dépositions : $T/% /ndré : Cernar' est coupa&le# 0lau'e n’a rien * voir l* 'e'ans# . $T*% *ernard : %i "n'ré a fait le coup alors 0lau'e est innocent . $T% laude : e suis innocent, mais l’un 'es 'eux autres au moins est coupa&le . 4a logique va aider ce pauvre détective, qui se perd comme 8 l0accoutumée en conLonctures.
— —
( -! "ntoine et # $illaneau
Logique pour l’informatique
1. @onner les ormules correspondant au! trois témoignages T/, T* et T. ). et ensem&le de ormules est-il satisaisa&le ? our répondre 8 cette question, étudiez les diérents cas de culpa&ilité 8 lFaide dFune ta&le de vérité.
Rép!se i!%i&a'i(e — lFanal#se de la ta&le de vérité nous renseigne 8 coup sUr sur la culpa&ilité ou lFinnocence de deu! personnes, mais ne nous permet pas de décider pour la troisième.
%+ercice 2: , Dé'uctin ( )Kai'e 'e )a /éth'e 'es taC)es 'e "érités (obectifs 2.2.1. et 2.2.*) @eu! amis, qui ne se mentent Lamais, sont en conversation : *ertrand : "lors, t’es tu vraiment 'éci'é entre uliette et sa&elle aul : e vais te 'ire 'eux choses# D’a&or', (’aime uliette ou sa&elle, et ensuite, si (’aime uliette alors c’est plus fort que moi, (’aime aussi sa&elle . *ertrand / Peux-tu me (urer que si tu aimes uliette alors tu aimes aussi sa&elle aul /
.out ce que (e peux t’affirmer, c’est que si c’est vrai alors (’aime uliette et que si c’est faux alors (e ne l’aime pas
@e qui aul est-il réellement amoureu! ? our le savoir, on représentera chaque proposition par une ormule logique, et on regardera par la méthode des ta&les de vérité quelle interprétation peut satisaire lFensem&le des ormules.
Rép!se i!%i&a'i(e — "&on'ance 'e &iens ne nuit pas ou encore quan' il y en a pour une il y en a pour 'eux###
— V —
( -! "ntoine et # $illaneau
Logique pour l’informatique
H5 9ise sus .r/e nr/a)e QUESTIONS DE COURS %+ercice 2; , %qui"a)ence )*ique et .r/u)es 'e trans.r/atins (obectif 2.2.) Montrez les équivalences suivantes en appliquant les ormules de transormation de la logique des propositions : a% &%
∨ Q ≡ ∧ Q ≡
$ ∧ Q% ∨ ∧ $ ∨ Q%
%+ercice 2< , Véri.icatin 'e )a "a)i'ité 'es .r/u)es -ar trans.r/atins (obectif 2.2.2) 'n utilisant les règles de simpliication par équivalence logique vues en cours, montrez que : a% &%
$ ∧ $ ⇒ Q%% et ∧ Q sont logiquement équivalentes. $$ ⇒ Q% ⇒ % ∧ est contradictoire.
%+ercice 2> , %qui"a)ence )*ique (obectifs 2.2.2 et 2.2.) @ans chacun des couples de ormules suivantes, les deu! ormules sont-elles logiquement équivalentes? $1% $)% $2%
/∧* ⇒ /∨* ⇒ /
$/ ⇒ % ∨ $* ⇒ % $/ ⇒ % ∨ $* ⇒ % $/ ⇒ *% ⇒ /
Rép!se — équivalence pour les cas 1 et 2 R vous pouvez trouver un contre-e!emple pour le cas )%
$OR"E NOR"ALE : EXERCICES CALCULATOIRES %+ercice
[email protected] , Fr/es nr/a)es cn3ncti"es et 'is3ncti"es (obectif 2.2. ' ) 1 — Mettre sous orme normale conLonctive, puis disLonctive la ormule suivante :
5a ≡ $ ∧ Q% ⇔ $ ⇒ Q%
) — Montrez, en les mettant au choi! sous orme conLonctive ou disLonctive, que la ormule suivante est valide : $$ ⇒ Q% ∧ $ ⇒ +%% ⇒ $$ ∧ Q% ⇒ $ ∧ +%%
%+ercice 7B , Taut)*ies (obectif 2.2.)
'?a-rès A= Ah & J= U))/an Concepts fondamentaux de l'informatique Dun'
'n cherchant 8 mettre les ormules suivants sous orme normale, préciser si ces e!pressions sont des tautologies, des contradictions ou simplement des ormules satisaisa&les. 1 — ∧ Q ∧ + ⇒ ∨ Q ) — $ $ ⇒ Q% ∧ $ Q ⇒ + % % ⇒ $ ⇒ + % 2 — $ ⇒ Q % ⇒ D — $ ⇔ $ Q ∨ + % % ⇒ $ Q ⇒ ∨ + %
Rép!se — Tautologies : 1, ).
%+ercice 71 , Va)i'ité chi+ 'e /éth'es (obectifs 2.2.2 et 2.2.) +épondez, en utilisant la méthode de votre choi! $ta&les de vérité ou ormules dFéquivalence%, au! question suivantes : 1 — Que peut-on dire de la ormule $/ ⇒ % ⇔ $ / ∨ ⇔ * %
Rép!se :
tautologique
satisaisa&le
— 16 —
contradictoire
( -! "ntoine et # $illaneau
Logique pour l’informatique
) — 4es ormules suivantes sont-elles logiquement équivalentes : / ⇒ $ * ⇔ ∨ @%
et / ∧ * ⇔ @ ∧ ∧ / équivalentes
Rép!se :
non équivalentes
$OR"E NOR"ALE : PROBL)"ES %+ercice 72 , S0stè/e c/-)et 'e cnnecteurs (1& ' obectif 2.*.1)
↓ est le connecteur logique représentant le E"EI"S $E"+ en anglais% $ A ↓ + ≡ (A ∨ +). 'n partant du s#stème complet de connecteurs étudié en cours de votre choi!, trouvez et donnez les équivalences qui prouvent que , ↓ constitue également un s#stème complet.
%+ercice 77 , S0stè/e c/-)et 'e cnnecteurs (1 ' obectif 2.*.1
)
4e connecteur &ooléen ou e!clusi est déini par / ⊕ * ≡ $/ ∧ *% ∨ $/ ∧ *%. 'n utilisant la méthode de votre choi!, montrez que : (1) cet opérateur est associati et commutati.
$)% / ⊕ F ≡ Α et / ⊕ / ≡ F (*) Toute onction &ooléenne peut-Gtre représentée dans le s#stème de connecteur s ,1/ ∧, ⊕ .
%+ercice 78 , H/-)étu'e et cnnecteurs )*iques (obectif 2.*.1) 'n logique, le terme WcomplétudeW peut revGtir diverses acceptations. Bl peut ainsi caractériser la capacité d0un s#stème ormel 8 démontrer toutes les conséquences logiques du langage sur lequel il est déini $théorème d0incomplétude de Xdel, par e!emple%. Bl peut également servir 8 caractériser la diiculté algorithmique des pro&lème de décida&ilité. /insi, savoir si une e!pression logique est une tautologie constitue un pro&lème NP*&mple', c0est 8 dire aisant partie des pro&lèmes que l0on ne sait résoudre qu0avec un temps e!ponentiel 8 la dimension du pro&lème. @ans cet e!ercice, nous nous intéresserons 8 la troisième acceptation de ce terme, qui concerne les ensem&les de connecteurs logiques. Sn ensem&le de connecteurs est en eet dit complet si et seulement si toute e!pression logique peut s0e!primer uniquement 8 l0aide de ces opérateurs. /insi, nous avons vu en cours que l0ensem&le Y ∧, ∨, , ⇒, ⇔ Z constituait un s#stème complet de connecteurs pour la logique des propositions. our montrer qu0un ensem&le de connecteurs logiques est complet, il aut et il suit de montrer qu0on peut e!primer les connecteurs d0un autre s#stème complet dans ce nouvel ensem&le. artant de Y ∧, ∨, , ⇒, ⇔ Z, on montre ainsi que Y ∧, ∨, Zconstitue un s#stème complet en vertu des règles d0équivalences suivantes : ⇒ Q
≡
∨ Q
⇔ Q
≡
$ ∨ Q% ∧ $ ∨ Q%
1 — "n considère ici l0opérateur E/
[email protected] $E"E-'T% noté ↑ déini comme la négation de la conLonction : ↑ Q
≡
$ ∧ Q%
Montrez que l0ensem&le Y ↑ Z réduit 8 ce seul opérateur constitue un s#stème complet. et opérateur est de première importance en inormatique et en électronique, puisqu0il permet 8 lui seul de représenter l0ensem&le des onctions logiques nécessaire 8 la mise en [uvre des circuits des ordinateurs.
I!%i&a'i! — Montrer quFun s#stème de connecteur est un s#stème complet revient 8 montrer que tout connecteur quelconque peut se réécrire sous la orme dFune com&inaison de connecteurs du s#stème ... et non lFinverse 2 — "n considère maintenant l0opérateur E"+ $E"E-"S% noté ↓ et déini comme la négation de la disLonction. Montrez que l0ensem&le Y ↓ Z constitue lui aussi un s#stème complet de connecteurs.
— 11 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Dé'uctin en L5 QUESTIONS DE COURS %+ercice 7: , TaC)es 'e "érité (obectif 2.2.!) Montrez, par la méthode des ta&les de vérité, que : 1 — ⇔ Q implique logiquement ) — ⇔ Q n0implique pas logiquement
⇒ Q ⇒ Q
%+ercice 7; , TaC)es 'e "érité et rés)utin (obectif 2.2.!) Kériiez, en utilisant les ta&les de vérité puis la méthode de résolution, la validité des raisonnements suivants : a% &% c%
⇒ Q $ / ∨ % ⇒ * / ⇒ *, ⇒ /
?
\ \ ? \ ?
Q ⇒ / ∨ * * ⇒
%+ercice 7< , Un -eu 'e recu) sur )e curs (obectif 2.1.) 1+ Que peut-on dire de lFénoncé ci-dessous ? $o&Lectis ).).>, ).1.D , ).1.V et indirectement D.1.)% E 5n logique 'es propositions, on peut tou(ours 'émontrer si une f&f est contra'ictoire ou pas F
vrai
au!
cela dépend de la &
2+ "n considère une ormule mise sous orme clausale sur laquelle on applique la méthode de résolution. Que peut-on dire sur la ormule si on arrive : a% 8 en tirer une résolvante tautologique $ V % &% 8 la clause vide ∅#
la ormule est contradictoire la ormule est satisaaisa&le
la ormule est valide on ne peut rien dire
%+ercice 7> , Fausses i'ées sur )a rés)utin (obectif 2.1.) 1 — 4orsqu0on applique la méthode de résolution, que peut-on dire si on arrive 8 tirer d0un ensem&le de clauses la clause touLours vraie ? 2 — "n cherche 8 montrer qu0un raisonnement est valide 8 l0aide de la méthode de résolution. /près avoir mis la ormule de réutation sous orme normale, on applique la résolution sur toutes les clauses o&tenues et on arrive 8 o&tenir la clause vide. Eéanmoins, on remarque qu0une des clauses initiales n0a pas été utilisée pour arriver 8 ce résultat. Que peut-on en conclure : la raisonnement est-il valide ou non ?
%+ercice
[email protected] , Rés)utin (obectif 2.1.) "n veut démontrer la validité du raisonnement :/ ⇔ * , ⇒ * ∨ /, ⇒ * ∧ / ?\ * ∧ 1. @onnez les clauses correspondant 8 la mise sous orme clausale de la ormule de réutation ). 4e raisonnement est-il valide? i non, donnez toutes les résolvantes o&tenues.
— 1) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
DEDUCTION : EXERCICES CALCULATOIRES %+ercice 8B , ue)ques 'é'uctins -)us c/-)e+es (obectifs 2.2.! et 2.2.") Kériiez, en utilisant la métho'e 'e votre choix , la validité des raisonnements suivants : 1% )%
/ ⇒ *, / ⇒ , $* ∨ % ⇒ Q ∨ +
?
\ ? \
@ $ ⇒ Q% ⇒ $ ∨ +%
%+ercice 81 , Raisnne/ents a"ec un *ran' n/Cre 'e -r-sitins at/iques (obectif 2.2.") 1+
'n emplo#ant la méthode de résolution, vériiez la validité des raisonnements suivants : a% &% c% d%
2+
/ ⇒ * ∨ , * ⇒ / ∧ / ⇒ *, ⇒ / ⇒ + ∧ T, T ∨ ⇒ Q $ ⇒ + % ∧ , Q
?
\ ? \ ? \ ? \
⇒ * / ⇒ $ ⇒ * % $ ∧ Q % + ∧ ∧
4e résultat concernant le raisonnement d% était-il prévisi&le ?
Rép!se — raisonnements valides : &, c.
%+ercice 82 , Une 'é'uctin a"ec M u e+c)usi. N (10& ' obectif 2.2.") 'n utilisant la méthode de résolution, discuter de la validité du raisonnement suivant. / ⊕ * , ⇒ * ∨ /
\ * ∧
?
DEDUCTION : PROBLE"ES AVEC TRADUCTION %+ercice 87 , Suici'e a)i/entaire (obectifs 2.2.1 et 2.2.") Koici Nanvier qui arrive, et &onLour les e!amens de in de semestre omme 8 l0accoutumée, ierre a passé ses vacances de Eo]l 8 surer sur les pistes enneigées. Bl avait &ien emmené quelques pol#s histoire de se donner &onne conscience, mais l0appel de l0or &lanc a une ois de plus été le plus ort. 't une ois de plus, il va alloir trouver une solution pour s0en sortir, du genre W le tout pour le tout W. ierre ait alors le raisonnement suivant : $a% $&% $c% $d%
Un élève mala'e ne peut passer son examen# %i (e mange au <#U# ce mi'i, (e risque une intoxication alimentaire et serai très certainement mala'e# e vais aller manger au <#U# ce mi'i# Donc, (e ne passerai pas cet examen, c)est une certitu'e a&solue @
Bmpressionné par son courage, mais tout de mGme inquiet 8 l0idée de se restaurer dans ce temple de la haute gastronomie ran7aise, ierre s0interroge sur la validité de son raisonnement : ce serait tout de mGme stupide de risquer sa vie pour rien... Malheureusement, il a précisément ait une impasse totale sur son cours de logique. auriez-vous conseiller notre inortuné sHieur en utilisant la méthode des ta&les de vérité et la méthode de résolution ?
Rép!se — le raisonnement est valide.
— 12 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice 88 , H//ent -ré-arer ses e+a/ens (20 ' obectifs 2.2.1 et 2.2.") Nean-/ntoine se prépare 8 réviser ses e!amens de septem&re. eul dans sa cham&re, il réléchit sur la stratégie 8 adopter et se tient le raisonnement suivant : $91% %’il fait &eau 'emain, pour travailler il faut que (e me lève tGt . $9)% l va faire &eau 'emain . $92% 0’est 'éci'é H (e vais travailler ou &ien me lever tGt . ?0A
Donc, c’est s3r, si (e me lève tGt, (e vais travailler#
1 — Traduisez les trois h#pothèses et la conclusion sous orme de ormules logiques. ) — 4e raisonnement de Nean-/ntoine est-il valide? Nustiiez la réponse par trois méthodes diérentes. Réponse I le raisonnement est non vali'e#
%+ercice 8: , JacO 5a)/er sur )?P)e 'e Qeauté (obectifs 2.2.1 et 2.2.") ette semaine, notre ami NacH almer est sur une aaire de vol de saucisson de cochon sauvage près de +ossignoli, t#pique village orse. /près avoir auditionné l0ensem&le des témoins, le détective ait le raisonnement suivant : %i =igoli n)a pas rencontré Paoli 'ans le maquis la nuit 'u vol, c)est que Paoli est le voleur ou que =igoli est un menteur# %i Paoli n)est pas le voleur, alors =igoli ne l)a pas rencontré cette nuit l* et le forfait a été commis après minuit# %i le crime a eu lieu après minuit, alors Paoli est le voleur ou =igoli a menti# Donc c)est s3r/ Paoli est le voleur#
onvaincu de la culpa&ilité de aoli, il s0apprGte 8 accuser ce dernier. NacH almer aurait-il enin réussi 8 résoudre une aaire ? Stilisez la méthode de résolution pour vous aire une opinion sur la validité de son raisonnement. @onner un contre-e!emple en cas de raisonnement non valide. Rép!se — le raisonnement est non valide;.
%+ercice 8; , A'ieu "eau+ "aches cchns cu"ées (obectifs 2.2.1 et 2.2.") 4a / $olitique /gricole ommune de l0Snion 'uropéenne% est souvent au centre des discussions concernant la construction européenne. uLet souvent em&arrassant pour des gouvernements soucieu! 8 la ois de ménager un électorat de première importance et de réduire le coUt &udgétaire induit par le soutien artiiciel des pri! agricoles. 5raOchement nommé et déL8 en proie 8 de terri&les migraines 8 la veille du alon de l0agriculture, Marcel ichedru, Leune Ministre en charge du suLet, ait le raisonnement suivant :
— 1D —
( -! "ntoine et # $illaneau
Logique pour l’informatique
1% )% 2% D%
6ous per'rons les voix 'es agriculteurs si nous ne poursuivons pas notre politique 'e soutiens 'es prix# " moins ')entrepren're 'es réformes structurelles , il y aura supro'uction si nous conservons cette politique, 6ous avons &esoin 'es voix 'es agriculteurs pour être réelus# " l)avenir, il faut éviter * tout prix toute surpro'uction#
%
Donc si nous sommes réélus, il nous fau'ra mettre en place 'es réformes structurelles#
e raisonnement est-il valide ? Stilisez le principe de résolution pour répondre 8 cette question.
Rép!se — le raisonnement est valide.
%+ercice 8< , L?hte enc/Crant (obectifs 2.2.1 et 2.2.") 4e che du protocole de la +épu&lique 5ran7aise doit organiser prochainement un &al dans les super&es salons de lF^l#sée en l0honneur de la chancelière allemande. 5raOchement nommé suite 8 l0élection récente du nouveau président de la +épu&lique, il est très ennu#é, car il ne connaOt pas les goUts musicau! de cette dernière, et encore moins ses qualités de danseuses. Bl craint de ternir les relations entre les deu! pa#s $déL8 passa&lement é&réchées par le dé&at sur la limitation des dépenses pu&liques% en proposant un programme qui lui déplaise. Sn rien acétieu!, son homologue allemand lui ournit des indications sous la orme de la devinette suivante : 1% )% 2% D% <%
%i elle 'éteste le (a77, alors elle aime le t ango ou la valse# 5lle a les mêmes préférences pour le tango et la rum&a# %i elle 'éteste la valse alors elle aime le tango# 5lle 'éteste le (a77 ou la valse, ou les 'eux ')ailleurs# %i elle aime la valse et pas le (a77, alors elle aime la rum&a#
/près longue réle!ion, il décide d0inviter tace# _ent 8 donner un récital Lazz#, car, selon lui % 5lle 'éteste la rum&a, la valse et le tango# @onnez une représentation logique de ce raisonnement et cherchez si sa conclusion est une conséquence valide des airmations qui lui ont été énoncées.
PARADOXES LO,IQUES %+ercice 8> , Le -ara'+e 'e )a carte 'e Jur'ain (obectifs 2.2.1 et 2.2.") 4es ouvrages de logique amusante ourmillent de parado!e propres 8 donner la migraine au lecteur ordinaire, alors qu0une &onne connaissance de la logique permet de surmonter ce t#pe de contradictions sans pro&lème. nous allons étudier ici un parado!e proposé pour la première ois par le mathématicien anglais .'.* Nourdain en 1V12. @ans un premier temps, intéressons nous 8 un parado!e équivalent 8 celui de Nourdain, et que l0on doit au mathématicien contemporain +. mull#an $tiré de : 9uel est le titre 'e ce livre , @unod%. "n se trouve sur une Ole peuplée de deu! t#pes d0individus : les purs, qui ne mentent Lamais, et les pires, qui mentent touLours. Kous rencontrez soudain deu! autochtones, /nnie "uininon $que l0on notera /% et +o&in hsepa $noté *%. eu!-ci vous déclarent respectivement : $/%
— 1< —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice
[email protected] , 5anique au+ J$ (obectifs 2.2.1 et 2.2.")
Aat3 e E. +usser 4. 5o6en/ La Recherche/ *02(1!)
'n patinage artistique, les décisions des Lur#s classant les candidats relèvent d0une su&Lectivité qu0il est souvent de &on ton de dénigrer, a ortiori lorsque les sportis d0un pa#s n0o&tiennent pas les résultats escomptés par leurs compatriotes... 4assés de ces critiques perpétuelles, un trio de Luges acétieu! a le don d0e!aspérer les commentateurs et les sportis par des airmations qui sont tant3t vraies, tant3t ausses. 4aetitia, atricia et ur#a voudraient &ien savoir si elles sont qualiiées dans le dernier groupe de la inale des Neu! "l#mpique d09iver. /#ant plus révisé leurs triples a!els que leur logique des propositions, elles ont appel 8 vos compétences pour démGler cet écheveau!. auriez vous les aider en utilisant la méthode de votre choi! ? 1 — 4aetitia recueille les airmations suivantes auprès du Lur# : EiHola` : L)un 'e nous au moins va vous mentir# "mar : $ous êtes qualifiée, toute mes félicitations @ eter : 6i:olaB a 'it la vérité# /près mure réle!ion, 4aetitia saute de Loie en s0écriant WNe suis qualiiée W. Sne cruelle désillusion l0attend-elle ?
Rép!se — oui, le raisonnement de 4aetitia nFest pas valide. ) — 0est au tour de atricia de se présenter maintenant ace au! Luges. EiHola` : Désolé, vous n)êtes pas qualifiée# "mar : 6e l)écoute7 pas, 6i:olaB ne 'it (amais la vérité# eter : e ne sais pas si vous 'eve7 croire mar @ 5n effet, 'eux ')entre nous, au moins, vous mentent @ ro#ant EiHola` sur parole, atricia repart la tGte &asse en marmonnant W Ja triple &oucle piquée m)a per'ue W. Sn petit calcul logique saura-t-elle la réconorter ?
Rép!se — oui, le raisonnement de atricia est valide. 2 — 'nin, ur#a aronte ce trio dia&olique. EiHola` : e n)ai qu)une chose * 'ire / Peter vous 'ira la vérité## "mar : %i vous êtes qualifiée, c)est que 6i:olaB vous a menti @ eter : mar 'it la vérité# 5n tous cas, (e vous félicité, vous êtes qualifiée# e perdant en conLoncture, ur#a reste prostrée ace au Lur#. auriez-vous trouver la conclusion que l0on peut tirer de ces trois airmations ?
PROBL)"ES %+ercice :B , LeEis Har)) et )es -ara'+es 'e )?i/-)icatin (obectifs 2.1.*/ 2.2.1/ 2.2.! et 2.2.") i la déinition des opérateurs logiques tels que la conLonction, la disLonction ou l0équivalence ne pose aucun pro&lème 8 Wl0honnGte hommeW, il n0en va pas de mGme pour l0implication. 40auteur d0/lice au a#s des Merveilles, qui se piquait de logique, s0est penché sur ce pro&lème dans un traité de logique qu0il avait rédigé $ %ym&olic Logic, 1V=%. @e mGme, dans ses Principes 'es Jathématiques $1V6, ed. *lanchard%, 4ouis outurat note ce qu0il appelle Wles parado!es de l0implication matérielleW : .outes les propositions vraies sont équivalentes# .outes les propositions fausses sont équivalentes# 0haque proposition fausse implique toutes les propositions ?vraies ou faussesAH chaque proposition vraie est impliquée par toutes les propositions ?fausses ou vraiesA# 0es para'oxes inévita&les ?car ce sont 'es conséquences nécessaires au calcul, et cela 'ans n)importe quel système 'e LogiqueA s)expliquent par le fait que l)implication ici consi'érée est l 'implication matérielle , et non pas l) implication formelle 1###2 * laquelle tout le mon'e pense quan' on parle ')implication 1'ans la vie courante2# L)implication matérielle ?P ⇒ 9A ne signifie rien 'e plus que ceci / Ku P est fausse, ou 9 est vraieK# Peu importe que les propositions P et 9 aient entre elles un rapport logique ou empirique quelconque/ l)implication est vérifiée 'ès que P est fausse ?quelle que soit 9A ou 'ès que 9 est vraie ?quelle que soit PA# $oil* pourquoi on arrive * ce résultat para'oxal, que le faux implique le vrai#
— 1= —
( -! "ntoine et # $illaneau
Logique pour l’informatique
0es vérités para'oxales servent ')ailleurs * résou're correctement certains paralogismes ou certains para'oxes o le &on sens vulgaire risquerait 'e s)em&arasser# .el est par exemple le pro&lème 'e Le;is 0aroll / supposons que; K9 implique < H mais aussi que; P implique que 9 implique non-
1 — 'n utilisant la méthode de votre choi! $résolution ou ta&les de vérités%, montrez que la conclusion, et donc le raisonnement, de 4eJis aroll sont erronés. 2 — Quel est le WmaillonW de la démonstration de aroll qui pose pro&lème. ourquoi ? - — 5inalement, quelle conclusion peut-on tirer des deu! h#pothèses initiales ? Montrer que cette conclusion est &ien une conséquence logique de ces prémisses.
— 1> —
( -! "ntoine et # $illaneau
Logique pour l’informatique
L*ique 'es -ré'icats 'u -re/ier r're 4L516 QUESTIONS DE COURS %+ercice :1 , Un -eu 'e s0nta+e (obectif *.1.*) @ans la logique des prédicats du premier ordre, on considère la ormule &ien ormée suivante : ∀! $∀# $ $∃z +$ $!%, g$#,z%%% ⇒ $$!,#% ∨ T$z%%%% +econnaOtre, dans cette ormule les s#m&oles onctionnels et les s#m&oles de prédicat. réciser leur arité.
%+ercice :2 , Un -eu 'e s0nta+e suite et .in (obectifs *.1.2 et *.1.7) "n se place dans la logique des prédicats du premier ordre et on considère : + prédicat d0arité 1 et g onctions d0arité 1
et T h
prédicats d0arité ) onction d0arité )
"n rappelle que WW est un raccourci d0écriture pour le prédicat d0arité ) 'gal. "n considère les ormules suivantes : a% & % c%
∃! $ $ ∀# $ ∃z $ +$!% % % % ∨ $ ∃# $ $ ∀z $ $ h $!,z%, !%%%%%% $ ∀! $ T $ $!%, # %%% ⇒ $ $ ∃! $ $!,#% % % % $ ∀z $ T $ !, # %%% ⇒ $ ∃# $$ ∀! $ $ $!% # %%% ∨ T$#,z% %%
1 — Quelles sont, parmi ces ormules, celles qui sont &ien ormées ? ) — impliiez-les ormules &ien ormées en enlevant les parenthèses inutiles au regard des règles de priorités. 2 — @éterminez les occurrences liées et les occurrences li&res dans les ormules &ien ormées. D — tandardiser lFécriture de ces ormules si nécessaire $mise sous orme propre%.
%+ercice :7 , Un tra'uctin -ri/aire (obectif *.1.1 et *.2.1) Traduire en logique des prédicats du 1er ordre lFensem&le des assertions de ce raisonnement. .out homme est un singe supérieur .out singe supérieur est un primate Les 'auphins ne sont pas 'es primates l y a 'es 'auphins qui sont intelligents Donc on peut ne pas être un homme et être intelligent
%+ercice :8 , Sa"e"us chisir "s cnnecteurs (obectifs *.1.2 et *.2.1)
Bndiquez quels est $sont% la $ou les% traduction$s% correcte$s% des énoncés suivants. 1.
.ous les enfants ne sont pas 'es anges
∀! $ enant$!% ⇒ anges$!% % ∃! $ enant$!% ∧ anges$!% % ∃! $ enant$!% ⇒ anges$!% % ∀! $ anges$!% ⇒ enant$!% % ∀! $ enant$!% ⇒ anges$!% % ∀! $ anges$!% ⇔ enant$!% % enant ⇒ anges ( enant ⇔ anges%
— 1 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
2. 0e n)est pas parce qu)on n) est pas une femme qu)on ne 'oit pas participer au ménage 'ans l e couple# ∀! $ menage$!%
⇒ emme$!% % ∀! $ menage$!% ⇔ emme$!% % ∃! $ emme$!% ∧ menage$!% % ∃! $ emme$!% ∧ menage$!% % ∀! $ menage$!% ⇒ emme$!% % ∀! $ emme$!% ⇒ menage$!% % ∃! $ emme$!% ∧ menage$!% % -. Les carrés sont 'es parallépipè'es rectangles
∀! $ carré$!% ∧ parallépidède$!% ∧ rectangle$!% % ∃! $ carré$!% ∧ parallépidède$!% ∧ rectangle$!% % ∀! $ carré$!% ⇒ parallépidède$!% ∧ rectangle$!% % ∃! $ carré$!% ⇒ parallépidède$!% ∧ rectangle$!% % ∀! $ $ parallépidède$!% ∧ rectangle$!% % ⇒ carré$!) ) ∀! $ $ parallépidède$!% ∨ rectangle$!% % ⇒ carré$!) ) ∀! $ carré$!% ⇔ parallépidède$!% ∧ rectangle$!% %
. 0haque entreprise a un PDM ¨ ∀!
∃# $ entreprise$!% ∧ personne$#% ∧ @$!,#% % ¨ ∃ ! 8∀# $ entreprise$!% ∧ personne$#% ∧ @$!,#% % ¨ ∀! ∀9 $ entreprise$!% ∧ personne$#% ∧ @$!,#% % ¨ ∃ ! 8∃ # $ entreprise$!% ∧ personne$#% ∧ @$!,#% % ∃ # ( personne$#% ∧ @$!,#% %) ¨ ∀! ( entreprise$!% ⇒ ¨ ∃ ! 8 ( entreprise$!% ⇒ ∀# $personne$#% ∧ @$!,#% % ) ¨ ∀!( entreprise$!% ⇒ ∀# $personne$#% ∧ @$!,#% % ) ¨ ∃ ! 8 ( entreprise$!% ⇒ ∃ # ( personne$#% ∧ @$!,#% % )
TRADUCTIONS EN LP1 : EXERCICES %+ercice :: , 9urir 'e .ai/ u 'e )a "ache .))e (10& ' obectif *.2.1) Kache olle, trem&lante du mouton, ièvre aphteuse, le consommateur ran7ais perd dFannée en année sa légendaire attirance pour les plaisirs de la ta&le. Totalement désorienté par les annonces alarmistes de médias plus avides de sensationnel que de réle!ion, certains parents sFempressent ainsi de retirer leurs chéru&ins dFune cantine scolaire proposant de la nourriture a priori douteuse, ain de pouvoir les gaver de gallettes de tou &io directement importées des hauts plateau! du Eépal. Sne seule réponse 8 ces comportements passionnels : un recours 8 la raison, donc 8 la logique. Mais pour cela, assurons nous au préala&le que nous disposons du &agage nécessaire en logique des prédicats du 1er ordre pour mener 8 &ien ce programme salutaire. ommen7ons donc par quelques travau! pratiques. "n demande de donner la traduction dans la logique des prédicats du 1er ordre des énoncés ci-dessous. "n utilisera pour cela les prédicats suivants : reutzeldb1, Mangerb), *oeub1, 5arinesb1, 5rancaisb1. 1%
"ucun &oeuf n’est nourrit qu’avec 'es farines animales#
)%
%i un &oeuf a consommé 'es farines animales c’est qu’il n’est pas fran4ais#
2%
Personne ne peut contracter la mala'ie 'e 0reut7fel'-aco& sans avoir consommé 'e &oeuf#
— 1V —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice :; , Jeu 'e cnstructin )*ique (obectif *.2.1) :onsieur %atate/ :aa;e %atate et Junior %atate sont bien e;b
ue la ;orale r3rouve certaine;ent/ ils ont ;3lang3 tous les 3l3;ents e leur anato;ie/ et ont >uel>ue ;al ? bien re;ettre tout en lace. @a logi>ue va tenter e les aier. %our cela/ il vous est e;an3 e rer3senter les 3nonc3s ci-essous en utilisant les r3icats suivants e la logi>ue es r3icats u 1 er orre $
-
Lunette(X) Oreille(X) Chapeau(X) Moustache(X) Sur(X,Y) Patate(X)
9omme$%
est vrai si est une aire e lunette. est vrai si est une aire &oreilles. est vrai si est un c6aeau. est vrai si est un c6aeau est vrai si est sur Y (ou eut aller sur Y) est vrai si est un ;e;bre e la fa;ille atate est vrai si est un 6o;;e (enfin/ une atate u genre ;asculin B)
ConneD les trauctions es 3nonc3s ans les cares r3vus ? cet effet. A6/ au fait/ :r %atate s&aelle obertF $
1= 2= 7= 8= :=
Tous les membres de la famille Patate ont un chapeau sur eux . Toutes les paires d’oreille peuvent aller sur tous les membres de la famille Patate Il n’existe pas de paire de lunettes qui peut aller sur tous les membres de la famille Patate Si un élément est sur Robert il ne sera pas sur une femme de la famille Seuls les hommes de la famille Patate ont une moustache
EGercice ! H La té)é ren' .u (obectif *.2.1)
/ chaque révélation d0u n crime perpétré par un adolescent, la télévision est accusée d0ampliier les tendances ps#chopathes des Leunes du par la diusion de séries policières trop sanglantes. e qui est clair, c0est que les téléspectateurs # trouvent ce qu0ils cherchent comme va nous le montrer un petit raisonnement. @onnez la traduction, en logique des prédicats du 1 er ordre, du raisonnement ci-dessous. "n utilisera pour cela les prédicats personne/, tele/, re!ar"e/#, ps$cho/, criminel/, ne%rose/, montre/# . .out téléspectateur qui regar'e la télévision 'evient psychotique * la longue 0ertains psychotiques ne regar'ent (amais télévision %i un criminel n’est pas psychotique, alors il est névrosé .=N ne montre * longueur ')antenne 'e 'es criminels Donc les gens que l’on voit * la télé sont O 'es téléspectateurs
— )6 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice :> , Le -an'a est un )u- -ur )e Ca/Cu (1 environ ' obectif *.2.1) #m&ole de la hine éternelle, le panda est un animal dont le régime alimentaire est un des plus spécialisés, ce qui nFest pas ait pour reiner sa dramatique e!tinction. Bl se nourrit en eet quasiment e!clusivement de euilles du &am&ou. /utant dire que pour le &am&ou, le panda nFapparaOt pas comme un &on gros nounours tout mignon, mais un terri&le criminel contre lFhumanité, sanguinaire et sans pitié. Mais qui se soucie des angoisses du pauvre &am&ou... Traduire en 41 les énoncés ci-après en utilisant les < prédicats suivants : est vrai ssi ! mange #. 'eri%ore(&) est vrai ssi ! est un animal her&ivore. Ve!etal(&) est vrai ssi ! est un végétal. amou(&) est vrai ssi ! est un &am&ou. Pan"a(&) est vrai ssi ! est un panda. Man!e(&,$)
1. Les her&ivores ne mangent que 'es végétaux . ). "ucun her&ivore ne mange tout type 'e végétal . 2. l y a 'es végétaux que ne mange aucun her&ivore . # Les pan'as sont 'es her&ivores qui ne consomment que 'es &am&ous
%+ercice :@ , Hassette au Dé-arte/ent In.r/atique e/-)is 'u te/-s (10&' obectif *.2.1' ) haque année 8 la rentrée, la consommation dFaspirine augmente dangereusement dans les rangs des directeurs de ilières du département inormatique. Tous sont en eet taraudés par la mGme question : comment arriver 8 caser un emploi du temps sachant que le nom&re de salles disponi&les est inérieur au nom&re de groupes dFétudiants 4es diicultés vont dFannée en année croissants. 'n eet, &ien des enseignants ne se contentent plus dFune salle avec craie et ta&leau noir : &ien souvent, il aut également tenir compte des &esoins en ta&leau &lanc interacti $T*B% ou en vidéoproLecteurs. uisque chaque année vos serviteurs sFarrachent les cheveu! 8 vous concocter un emploi du temps au! petits oignons, 8 vous maintenant dFattraper la migraine sur les traductions suivantes Traduire les énoncés suivants dans la logique des prédicats du 1 er ordre. "n utilisera pour cela les prédicats
ti/ ,
%i"*opro+/, panne/, amphi/, salle_t"/, est_"ans/# .
a% & % c% d% e%
n trouve tou(ours un .C 'ans une salle 'e .D . l n’y a pas 'e vi'éopro(ecteur en salle E CQRN F . .ous les vi'éopro(ecteurs sont 'ans 'es amphis . %’il y a un vi'éopro(ecteur quelque part, c’est qu’il s’agit '’un amphi . l n’y a que 'es .C 'ans les salles 'e .D .
%+ercice ;B , Un -eu 'e ran*e/ent (obectif *.2.1) @eu! heures du matin. ous perusion de caéine depuis le dé&ut de l0après-midi, *ertrand Némoitou vient enin de inir la révision de son cours de logique. /près 16 heures de com&ats homériques contre la multitude de pol#copiés que le pro distri&ue chaque semaine, sa cham&re est un vrai capharnam. @ire qu0il va alloir tout ranger avant d0aller se coucher rocédant avec méthode, *ertrand Némoitou énonce : $1% .ous les tiroirs contiennent 'es feuilles# $)% "ucun 'es classeurs ne contient 'e polycopiés# $2% Dans l)un 'es classeurs, il n)y a que 'es polycopiés# $D% %i les polys ne sont pas 'ans les classeurs, elles sont 'ans 'es tiroirs# $<% %)il y a 'es feuilles 'ans un tiroir, on est certain 'e ne pas y trouver 'e polys# Traduire les énoncés suivants en langage des prédicats du premier ordre. "n utilisera D prédicats unaires destinés 8 l0identiication des o&Lets décrits dans ces énoncés $par e!emple, euille(&) a pour signiication : ! est une euille%, et le prédicat -ans(&,$) vrai si et seulement si ! est dans #.
— )1 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice ;1 , arr0 5tter et )a .r/u)e )*ique (obectif *.2.1) 'n
utilisant
Male.iue/,
les
prédicats
Ensorcele/,
Sorcier/, Parent/#, 0ncetre/#, 1ri.on"or/
donnez la traduction en 41 des énoncés suivants :
1 — Les parents 'es sorciers ne sont pas tous 'es sorciers 2 — .out sorcier a au moins un Jol'u parmi ses ancêtres - — Les sorciers ne sont pas tous maléfiques — Un ancien 'e Mrifon'or est soit non maléfique, soit ensorcelé#
/ — l n’y a aucun ancien étu'iant 'e Mrifon'or qui soit 'evenu maléfique
0 I l faut nécessairement être sorcier pour pouvoir 'es pouvoirs maléfiques#
%+ercice ;2 , La réussite au Cut 'u cha*rin (obectif *.2.1) f %i l’école m’appren' pas 4a alors (e 'is halte * tout , chantait +enaud, qui avait apparemment du mal 8 envo#er sa ille chaque matin f au chagrin . Bl est vrai que le s#stème éducati apparaOt souvent $8 tort ou 8 raison ?% 8 ses usagers comme une course dFo&stacle dont la inalité est avant tout dFo&tenir des dipl3mes. 'n témoigne malheureusement lFinspiration de lFauteur de cet e!ercice... Stiliser le prédicat &inaire +$!,#% dont lFinterprétation est ! réussit # ainsi que des varia&les et des constantes laissées 8 votre choi! pour traduire en 41 les énoncés suivants : 1. ). 2. D.
ean ne réussira pas son licence sans que !ves le réussisse . 6ul ne peut o&tenir sa licence s’il a échoué * son &ac . l y a qui réussissent leur &ac tout en échouant * leur permis 'e con'uire . %i on a un master ou un 'octorat, c’est qu’on a 'é(* o&tenu son licence .
APPLICATION AUX "ATE"ATIQUES %+ercice ;7 , %ncre 'es /athé/atiques=== (obectif *.*.1) our traduire leurs propositions dans leurs démonstrations, les mathématiciens utilisent un langage ormel qui ressem&le 8 de la logique des 41 mais n0en est pas vraiment. /in de ne pas aire de conusion entre s#nta!e de la 41 et s#nta!e mathématique, nous allons traduire en logique des prédicats un certain nom&re de propositions mathématiques. 1. Traduire dans la logique des prédicats les airmations suivantes en les s#m&oles mathématiques , et , le prédicat unaire 5?nA pour e!primer que la varia&le n est un entier ainsi que le prédicat &inaire ≥. 1 — .out entier est le carré ')un entier# ) — .out entier a pour carré la somme 'es carrés 'e 'eux entiers# 2 — 0ertains entiers ont pour carré la somme 'es carrés 'e 'eux autres entiers# D — "ucun entier n)est plus gran' que tous les autres#
— )) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
2. Traduisez ensuite la négation des ces ormules, puis simpliiez les & o&tenues pour enin en donner une traduction la plus simple possi&le en ran7ais.
TRADUCTIONS EN LP1 : POUR ALLER PLUS LOIN %+ercice ;8 , Instructin ci"ique=== (obectif *.2.1) @onnez u!e représentation des énoncés suivant en logique des prédicats du premier ordre : a — 6ul n’est sensé ignorer la loi & — Les hommes naissent et 'emeurent li&res et égaux en 'roits [email protected]éclaration des @roits de lF9omme et du ito#en du )= /oUt 1>V, article premier%.
c—
.out homme étant présumé innocent (usqu)* ce qu)il ait été 'éclaré coupa&le [email protected]éclaration des @roits de lF9omme et du ito#en du )= /oUt 1>V, article B%.
d — 6ul ne 'oit être inquiété pour ses opinions, mGme religieuses; pourvu que leur manifestation ne trou&le pas l)or're pu&lic éta&li par la loi [email protected]éclaration des @roits de lF9omme et du ito#en du )= /oUt 1>V, article %.
— )2 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Ha)cu) 'es -ré'icats 'u -re/ier r're QUESTIONS DE COURS %+ercice ;: , Tut était si si/-)e en L5 (obectif *.1.! et 2.1.7)
'!pliquez pourquoi la méthode des ta&les de vérité n0est pas applica&le en logique des prédicats du 1er ordre %+ercice ;; , Transiti"ité et antis0/étrie 'e )a re)atin in.érieure u é*a)e sur # (obectif *.2.2) "n considère les deu! & closes suivantes :
φ1 ∀!∀# $∃z $ $!,z% ∧ $z,#%% ⇒ $!,#% % φ) ∀!∀# $ $!,#% ∧ $#,!% ⇔ $! #% % @éterminez la valeur de validité de ces ormules pour l0interprétation B Y D R Bp : $!% vrai ssi ! ≤ # R : égalité Z n
%+ercice ;< , Inter-rétatin en L51 (obectif *.2.2) "n considère les deu! ormules suivantes de la logique des prédicats du premier ordre : $51% $5)%
∃! ∀# ∃z $$$!% ⇒ $!,#%% ∧ $#% ∧ $#,z% % ∃! ∃z $$$z,!% ⇒ $!,z%% ⇒ ∀# $!,#%%
"n donne les deu! interprétations / et * suivantes : $Ba% le domaine est E R est la relation d0ordre usuelle et $n% si et seulement si n est pair. $B&% le domaine est + R $!,#% si et seulement si #! ) et $!% si et seulement si ! est un nom&re rationnel. @e quelles ormules 51 ou 5) les interprétations / et * sont-elles des modèles ? $ Rép!se — 5)%.
%+ercice ;> , uestin 'e quanti.icateur (obectif *.1.* et *.1.!) 4orsque vous Gtes amenés 8 aire des traductions en 41, le choi! des &onnes com&inaisons entre quantiicateurs et connecteurs logiques vous pose souvent pro&lème. onsidérons par e!emple les deu! énoncés suivants : $1% $)% ∀! $ $!% ⇒ Q$!% % ∀! $ $!% ∧ Q$!% % /in de saisir la distinction entre ces propositions, trouver un modèle de $1% qui rend au! le second.
INTERPRETATIONS : EXERCICES %+ercice ;@ , Va)i'ité et '/aine '?inter-rétatin (obectif *.2.2) "n se place dans la logique des prédicats du premier ordre. "n considère les prédicats d0arité ) 5gal et Diff dont les raccourcis d0écriture sont respectivement et ≠, c0est 8 dire que ! # est vrai ssi B v$!% et Bv$#% sont égau! et ! ≠ # est vrai ssi Bv$!% et Bv$#% sont diérents. oient les ormules suivantes : a — ∀!∀#∀z∀t $ ! ≠ # ∧ # ≠ z ∧ z ≠ ! ∧ $ t ! ∨ t # ∨ t z%% & — ∃t∀!∀#∀z $ ! ≠ # ∧ # ≠ z ∧ z ≠ ! ∧ $ t ! ∨ t # ∨ t z%% c — ∃! ∃# ∃tz∃t $ ! ≠ # ∧ # ≠ z ∧ z ≠ ! ∧ $ t ! ∨ t # ∨ t z%% d — ∃! ∃# ∃tz∀t $ ! ≠ # ∧ # ≠ z ∧ z ≠ ! ∧ $ t ! ∨ t # ∨ t z%% @éterminez la validité de ces ormules $validité, satisaisa&ilité, inconsistance% dans les cinq interprétations suivantes, variant par leur domaine d0interprétation respectis : @1 Y 6 Z
@) Y 6, 1Z
@2 Y6, 1, )Z
@2 Y6, 1, ), 2Z @D Ν
— )D —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice
$51% $5)%
) du langage des prédicats du 1er ordre. "n considère les deu! ormules suivantes :
∃! ∀# $ +$!,#% ⇒ $!,#% % ∀! ∃# $ +$!,#% ⇒ $!,#% %
4e domaine dFinterprétation est lFensem&le des entiers naturels supérieurs ou égau! 8 ). 4Finterprétation de + est la relation dFinégalité ≤, celle de est la relation divise au sens de la division euclidienne déinie sur les entiers. 1. @onner, dans cette interprétation, les valeurs de vérité respectives des ormules 51 et 5).
Rép!se — B$51% F R B$5)% V . ). 'n gardant les mGmes interprétations pour + et , modiier le domaine dFinterprétation pour que les deu! ormules soient vraies.
RECERCE DE "ODELES : EXERCICES %+ercice <1 , $n est tu3urs )e /'è)e 'e que)quKun (10& ' obectifs *.1.2 et *.2.2) "n considère les deu! ormules &ien ormées de la 41 suivantes : $1% $)%
∀! ∃# $ $!% ∧ Q$!,#% ∃! ∀# $ $!% ∧ Q$!,#%
a% @onnez un modèle de la ormule $1% pour lequel la ormule $)% est ausse. &% Bnversement, donnez un modèle de la ormule $)% pour lequel la ormule $1% est ausse.
%+ercice <2 , Gare au quanti.ieur (10& ' obectifs *.1.2 et *.2.2) "n considère lFensem&le de ormules de la logique des prédicats du 1 er ordre suivant : 1% ∀! $!% ⇒ ∃# Q$!,#% ; )% ∃! $!% ⇒ ∀# Q$!,#% ; @onnez un modèle de la ormule $)% pour lequel la ormule $1% est ausse.
%+ercice <7 , 9'è)e en L51 (obectif *.2.2) "n se place dans la logique des prédicats du premier ordre. "n considère, outre le s#m&ole de la relation &inaire égalité, deu! s#m&oles de onctions unaires et g pouvant recevoir diverses interprétations. "n déinit les ormules suivantes : 51 : ∀! $$!% g$!%% 5) : ∀! ∀# $$!% g$#%% 52 : ∀! ∃# $$!% g$#%% @onner un modèle pour chacune des ormules : 51 ∧ 5), 5), 51 ∧ 52.
%+ercice <8 , 9'è)e '?un s0stè/e )*ique (obectif *.2.2) oit A les trois & suivantes : $/1% $/)% $/2%
∀!∀#∀z $$$!,#%∧$#,z% ⇒ $!,z%% ∀! $$/,!%∧$!,*%% ∀! $!,$!%%
@onnez un modèle de A .
— )< —
( -! "ntoine et # $illaneau
Logique pour l’informatique
L51 , 9ise sus .r/e c)ausa)e %+ercice <: , Fr/e -rene+e (obectif *.1.) Mettre sous orme prene!e les ormules suivantes a — $ ∃! $!% ∨ ∀! Q$!% % ∧ $ + ⇒ ∀! $!% % & — $ $ ∃! $!% ∨ ∀! Q$!% % ∧ $ + ⇒ ∀! $!% % % c — ∀! $!% ⇔ ∃! Q$!%
%+ercice <; , Fr/u)es c)ses et .r/e c)ausa)e (obectif *.2.*) Mettre sous orme clausale les & suivantes : a — & — c — d — e —
∀! ∃# ∀z +$!,#,z% ⇒ ∀t ∃z $t,z% ; ∀# ∃! +$!,#% ⇔ ∀z ∀! +$z,!% ∀! ∀# $ $!,#% ⇒ ∃z $ $!,z% ∧ $#,z% % % ∀! $!% ∧ ∀# ∃t $ Q$t,#% ⇒ ∀z +$/,t,#% % ; ∀! $ ∃# +$#,!% ⇒ ∃u +$u,!% ∧ $ ∃t $ +$t,!% ∧ +$t,#% % % ; %
— )= —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Uni.icatin QUESTIONS DE COURS %+ercice << , Uni.icatin cas 'Kéc)e (obectif *.1.#) Trouvez, quand il e!iste, un uniicateur de chacun des ensem&les de clauses ci-dessous. @onnez en outre la & résultante de l0uniication opérée sur ces clauses : a $!, $/, #% % & $u, g$ $a, &% %, u % c $!,#%
$!, *% $ $!, g$z%%, !, $#, g$&% % % $ $!%, / %
$!, $/, g$z% % %
UNI$ICATION : EXERCICES %+ercice <> , ue)ques uni.icatins tr- tranqui))es=== (obectif *.1.#) our chaque cas, dire si les deu! ormules atomiques sont uniia&les et en donner le cas échéant un uniicateur : & /$!, g$!,#% % /$g$#, z%, g $ g$ h$u%, #% , h$u% % % & *$!, $g$#%%, $!%% *$h$t,z%,$z%,$h$#,z%%% c — $ !, $!%, g$ $!%,! % % $z, $$/%%, g$ $g$/,z%%, v % % d — $u, g$ $/,&%%, u % $ $!, g$z%%, !, $#, g$*%% % e — $ !, $!%, $$!%% % $ $$#%%, #, $#% %
Rép!se — ormules uniia&les : & et d.
— )> —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Rés)utin L51 QUESTIONS DE COURS %+ercice <@ , Rés)utin cas 'Kéc)e (obectif *.1.#) réciser, en appliquant la méthode de résolution, si les ensem&les de clauses suivantes sont contradictoires ou non. 1% )% 2% D%
$z% Q$/% /$/% $!% ∨ Q$$!%%
$/% ∨ $t% $!,$!%% E$*% Q$#% ∨ $$#%%
$/% ∨ $#% $z,t% ∨ Q$z% /$!% ∨ E$!%
%+ercice >B , Un -etite rés)utin c/-)ète en L51 (obectif *.2.7) Montrez, 8 l0aide du principe de résolution, la validité du raisonnement suivant $transitivité de l0implication% : \ ∀! $$!% ⇒ Q$!%% , ∀! $ Q$!% ⇒ +$!% % ∀! $ $!% ⇒ +$!% %
%+ercice >1 , Ini.icatin et rés)utin= (obectifs *.1.# *.2.7) 4orsque cela est possi&le, donnez la résolvante correspondant 8 lFapplication de lFuniication sur les clauses ci-dessous. "n précisera 8 chaque ois lFuniicateur utilisé. et 1 — 0(&,2ean)∨ (2ean,$) et 2 — 0($,2ean)∨ (2ean,$) 7 — 0(Paul,2ean)∨ (2ean,$) et 8 — 0(&,2ean)∨ (2ean,.(&)) et et : — 0(&,2ean)∨ (2ean,$)
0(3,Paul)∨ (Pierre,t) 0(Paul,3)∨ (t,Pierre) 0(Paul,2ean)∨ (2ean,t) 0(&,$)∨ (2ean,!(t)) 0(&,2ean)∨ (2ean,.($))
RESOLUTION : EXERCICES %+ercice >2 , ue)ques rés)utins un -eu -)us c/-)e+es (obectif *.2.7) réciser, en appliquant la méthode de résolution, si les ensem&les de clauses suivantes sont contradictoires ou non. 1% )% 2%
$!% ∨ Q$s$!%% $/,#% ∨ $#,/% 9$!% ∨ $!%
Q$!% ∨ $s$!%% Q$z% ∨ $z% @$#% ∨ $#%
$/% +$u% ∨ Q$u% 9$z% ∨ B$z%
$s$s$s$s$/%%%%% $!% @$5%
B$5%
%+ercice >7 , Th encre un e+ercice sur )a rés)utin (obectifs *.2.1 et *.2.7) @émontrez la validité des raisonnements suivants 8 l0aide du principe de résolution. Eous avons déL8 réalisé la traduction en 41 du premier raisonnement. a .out homme est un singe supérieur .out singe supérieur est un primate Les 'auphins ne sont pas 'es primates l y a 'es 'auphines qui sont intelligents Donc on peut ne pas être un homme et être intelligent
& Lisa %impson est intelligente Cart %impson a une intelligence très très limitée >omer %impson est moins intelligent qu)un 'onuts# Lisa %impson et Cart %impson sont les enfants 'e >omer %impson# Donc l)intelligence n)est pas héré'itaire#
— ) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice >8 , Rés)utin et "a)i'ité 'e .r/u)e (obectif *.2.7) 1. @émontrer la validité ou la contradiction de la ormule suivante 8 l0aide de la méthode de résolution :
∃! ∀#
$ $ $!% ⇔ $#% % ∧ ∀! $!%%
2. i la ormule n0est pas valide, donnez un e!emple d0interprétation qui la rend ausse.
%+ercice >: , ue)ques raisnne/ents (obectif *.2.7) Montrer en utilisant le principe de résolution que les raisonnements suivants sont valides. a — ∀! ∃# ∀z∀t
∀u & — ∀! ∀!
∀! c — ∀! ∀!
$!,#% $ $z,t% ⇒ Q$z% % Q$u% $ $!% ⇒ $ $$!%% % % $ $!% ⇒ +$ $!% % % $ +$!% ⇒ $ $!% % % $ $!% ⇒ Q$s$!%% % $ Q$!% ⇒ $s$!%% % $/%
$s$s$s$s$/%%%%%
%+ercice >; , Un e+e/-)e '?in'éci'aCi)ité en )*ique 'es -ré'icats (obectifs *.2.7 et 7.1.1) Eous avons vu en cours que la logique des prédicats du premier ordre était indécida&le. Eous allons précisément étudier dans cet e!ercice un e!emple lagrant d0indécida&ilité. /ppliquez le principe de résolution sur le raisonnement suivant :
∀! $ $!% ⇒ Q$$!%% % , ∀! $ Q$!% ⇒ $$!%% % , $/% \
∀! $!%
eut-on conclure que le raisonnement est valide ? i non, essa#ez de montrer que la conclusion nFest pas une conséquence logique des h#pothèses en e!hi&ant un contre-e!emple.
%+ercice >< , Art et )*ique (obectifs *.2.1 et *.2.7) "n considère les deu! raisonnements suivants : a—
0ertains peintres ont peint leur propre portrait# l existe 'es peintres qui ont réalisé 'es natures mortes l existe 'es autoportraits 'e peintres 'e natures mortes#
& —
0é7anne a fait son autoportrait# 0é7anne a peint 'e nom&reuses natures mortes# l existe 'es autoportraits 'e peintres 'e natures mortes#
1 — es raisonnements vous paraissent-ils valides ? ) — @onnez une représentation de ces raisonnements en logique des prédicats du premier ordre. "n utilisera pour cela les prédicats Peintre/, Peinture_"e/# et represente/# . 2 — 'n utilisant la méthode de résolution, Lustiiez vos réponses 8 la première question.
— )V —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice >> , De )?art 'e )a cntra'ictin (obectifs *.2.2 et *.2.7) "n considère l0ensem&le des ormules suivantes : $1% ∀! ∀# ∀z $5$!,#% ∧ 5$#,z%% ⇒ $!,#% ; $)% ∀! ∃# 5$#,!% $2% ∀! ∃# $#,!% ;
1 — 'n utilisant le principe de résolution, montrez que cet ensem&le de clauses est contradictoire. 2 — 4a résolution montre que les 2 ormules sonte toutes nécessaires 8 l0inconsistance de l0ensem&le. Montrer que l0ensem&le des clauses réduites 8 $1,)% est satisaisa&le en en donnant un modèle. 5aire de mGme avec $1,2%.
%+ercice >@ , L*ique et re)i*in (obectifs *.2.1 et *.2.7) uite 8 la découverte de lF/mérique et de ses ha&itants, une des questions qui agita lFéglise catholique ut de savoir si les amérindiens avaient une Pme. ette question, qui ut tranchée avora&lement $controverse de Kalladolid%, nFétait pas sans arrière pensée : elle Lustiiait ou non le recours 8 lFesclavage. 4a logique aurait-elle pu Gtre mise 8 contri&ution dans ce dé&at religieu! ? onsidérons le raisonnement suivant : Les amérin'iens sont tous 'es êtres humains Les êtres humains ont une +me l y a 'es amérin'iens qui ont une +me
a — @onnez une représentation logique de ce raisonnement. — @onnez la liste des clauses correspondant 8 la ormule de réutation associée au raisonnement. & — e raisonnement est-il valide ? % — e résultat était-il prévisi&le ? Nustiiez votre réponse dans le cadre ci-dessous
%+ercice @B , Les char*és 'e )a rute (obectifs *.2.1 et *.2.7) 4a traduction sous orme logique des raisonnements humains est une science pleine de risque. Tout d0a&ord, nous avons souvent eu l0occasion de constater que la mise sous orme logique d0un énoncé en langue naturelle n0était le plus souvent ni triviale, ni directe. Mais en outre, le raisonnement humain recèle de considérations implicites qui, si elles ne sont pas e!plicitées, rendent le raisonnement logique totalement incohérent. 40e!emple suivant, tiré des phénomènes de dopage dans le monde c#cliste, va éclairer ce dernier point. *ien que ses coéquipiers aient dans leur grande maLorité avoué Gtre aussi chargés que — di!it un enquGteur de la police Ludiciaire — Wun &itecH de veau au! hormonesW, l0ancien c#cliste 4ance /rmstrong a longtemps airmé nFavoir eu recours 8 aucun produit prohi&é 4e c#cliste se révèle peut-Gtre ici sur un terrain sur lequel on ne l0attendait pas, celui de la logique. 0il en connaOt &ien les principes, celui-ci peut en eet airmer sans crainte que la conclusion du raisonnement suivant, 8 première vue correct, n0est pas une conséquence logique des h#pothèses: ?NA ?8A ?QA
%i tu te 'opes, tu peux soit gagner, soit être pris# %i tu es un super coureur, tu peux gagner que tu sois 'opé ou non# Lance "rmstrong, qui n)est pas un super coureur, gagne 'es épreuves
?A
Lance "rmstrong se 'ope
1 — Traduire ce raisonnement en utilisant la logique des prédicats du 1er ordre. 2 — 'n appliquant la méthode de résolution, montrez que ce raisonnement n0est pas valide. - — Quelle airmation, non ormulée dans le raisonnement ci-dessus, nous permettrait de conclure ? Quelle h#pothèse complète-t-il implicitement ? Traduisez sous orme logique cette h#pothèse implicite et montrez que le raisonnement est eectivement valide.
— 26 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice @1 , Les a)iens snt -ar/i nus (obectifs *.2.1 et *.2.7) Sne étrange rumeur court au sein de la amille atate et de ses sem&la&les : des e!tra-légumes se seraient glissés au sein de la communauté # /in de les démasquer, Monsieur atate échaaude quelques raisonnements su&tils. ourriez-vous représenter ces derniers dans la logique des prédicats du 1 er ordre, puis vériier 8 lFaide de la méthode de résolution que Monsieur atate ne raisonne pas comme une courge, c0est-8-dire que ses raisonnements sont valides "n utilisera pour cela les prédicats suivants : -
/4$% $% /M$%
est vrai si a un sa&re laser. est vrai si est une $vraie% patate $i.e. pas un e!tra-légume% est vrai si a un masque.
/insi que la onction v$% qui désigne le voisin de tout individu . Mr atate sFappelle touLours +o&ert, et on supposera que tout non patate est un e!tra-légume $et inversement%. A''e!'i! : les réponses sont 8 remettre sur la copie Lointe
Rais!!eme!' 2
Les extra-légumes ont un masque
Rais!!eme!' 2
Les extra-légumes ont un masque
Rais!!eme!' -
Les extra-légumes ont un masque Les patates n’ont pas 'e masque .oute personne qui a un masque n’est pas une patate
— 21 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
RESOLUTION : PROBLE"ES %+ercice @2 , 9a)"ita (obectifs *.2.1 et *.2.7 ' 70) +éugié 8 hollong-sur-/rve, petite &ourgade de Eormandie, iovanni Manzoni, che maieu! désormais repenti et recherché par toutes les amilles de la maia EeJ-jorHaise pour les avoir trahi, réléchit sur sa vie, son passé. EFétant Lamais allé 8 lFuniversité, il peine 8 anal#ser de manière logique les idées qui lui viennent 8 la tGte. ourriez-vous lFaider en donnant la traduction, en logique des prédicats du 1 er ordre, des énoncés ci-dessous ? "n utilisera pour cela les prédicats Koleurb1, /ssassinb1, riminelb1, et 5amilleb) et on se placera dans le domaine dFinterprétation de lFensem&le des Gtres humains 1 — 0ertaines personnes sont 'es assassins ) — .out assassin a 'é(* volé 2 — Les voleurs ne sont pas tous 'es assassins D — Un criminel ne peut être quFun assassin ou un voleur ?ou les 'euxA < — l y a un criminel 'ans ma famille $cFest-8-dire la amille de iovanni Manzoni% = — .ous les mem&res 'e ma famille $cFest-8-dire la amille de iovanni Manzoni% sont 'es voleurs iovanni en arrive alors 8 la conclusion suivante : l nF y a pas 'e voleurs 'ans ma famille. Eous allons utiliser la méthode de résolution pour montrer validité $ou non% de son raisonnement.
3 — @onnez lFensem&le des clauses correspondant 8 la mise sous orme clausale de la ormule de réutation correspondant 8 ce raisonnement.. 4 — @onnez lFar&re de résolution 41 qui vous permet de montrer que le raisonnement est ou nFest pas valide 5 — armi les clauses que vous avez données en question >, donnez celles qui ne sont pas des clauses de 9orn.
%+ercice @7 , uestin4s6 '?inter-rétatin (obectifs *.2.2/ *.2.*. et *.2.7 ' 1) @ans le cours sur la mise sous orme préne!e, nous avons montré un certain nom&re de ormules dFéquivalence qui nous permettaient de passer en dé&ut de ormules les quantiicateurs présents en leur sein, tout en mettant en garde sur le ait que lFon ne pouvait pas touLours aire nFimporte quoi. /insi, il nF# a pas équivalence entre la ormule ∃& 0 ∨ ∃$ et la ormule ∃& (0 ∧ ) oC 0 et sont des ormules quelconques de la logique des prédicats du 1 er ordre. Eous allons montrer cette a&sence dFéquivalence de deu! manières diérentes. 1 — onstruisez un e!emple avec des ormules 0 et de votre choi!, puis donnez en une interprétation pour montrer quFil nF# a pas équivalence. 2 — 'n reprenant votre e!emple pour 0 et , utilisez la méthode de résolution pour montrer que les deu! ormules ∃& 0 ∨ ∃$ et ∃& (0 ∧ ) ne sont pas équivalentes.
%+ercice @8 , Rés)utin (obectif *.2.* et *.2.7) "n considère les trois h#pothèses suivantes : $91% ∀! ∀z $∃# +$!,#,z% $z,!%% $9)% ∀!∀# $ $!,#% k $$!%,$#%%% $92% ∀! ∀# $ +$!,#,!%% "n considère maintenant les trois conclusions suivantes :
— 2) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
$1% ∃! $$!%,$!%% $)% ∀! ∃# $$!%,#% $2% ∃# ∀! $$!%,#% @éterminer quelles sont les conséquences logiques de lFensem&le des trois h#pothèses. our chacune des conclusions qui nFest pas conséquence logique des h#pothèses, trouver un modèle des h#pothèses oC la conclusion est ausse
%+ercice @: , ue)ques rè*)es 'Kéqui"a)ence e+ercice un -eu -)us thérique (obectif *.1.2 et *.2.2) @émontrez la validité des ormules suivantes en partant de la déinition des interprétations des quantiicateurs e!istentiels et universels. \ ∀! /$!% ⇒ /$!% & — \ ∀! /$!% ∧ *$!%; ⇔ ∀! /$!% ∧ ∀! *$!% c — \ ∃! / ∧ *$!%; ⇔ / ∧ ∃! *$!%
axiome 'e spécialisation
d — \ ∃! ∀# +$!,#% ⇒ ∀# ∃! +$!,#% e — \ ∃# +$!,#% ⇒ +$!,!% ;
commutativité partielle 'e ∃ et ∀
a—
'istri&utivité 'e ∀ sur ∧ 'istri&utivité 'e ∃ sur ∧ et " formule close pour x
— 22 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
H)auses 'e rn et Lan*a*e 5R$L$G QUESTIONS DE COURS %+ercice @; , Le retur 'KAristte (obectifs 7.1.*/ 7.1.7/ 7.2.* et 7.2.7) @ans cet e!ercice, nous allons étudier le s#llogisme aristotélicien suivant : Les caniches sont 'es chiens Les chiens sont 'es cani'és Donc il existe 'es caniches qui sont 'es cani'és
"n veut cette ois-ci vériier e!périmentalement la validité de ce raisonnement en utilisant un interpréteur rolog.
1 6 / quoi correspondront les h#pothèses du raisonnement en rolog ? 2 — / quoi correspondra la conclusion et comment vériierons nous la validité du raisonnement ? - — Mettre sous orme de clauses rolog, puis donnez les clauses de 9orn correspondantes. — Kériiez alors la validité de ce raisonnement en appliquant la méthode de résolution. / — omparez cette résolution avec la résolution rolog équivalente.
%+ercice @< , Ha- ( )?$uest (obectif 7.1.7) "n considère le programme ci-dessous, constitué de D clauses. $1% $)% $2% $D% $<%
.inistere(rest)4 morihan(Vannes) , morihan(Lorient)4 reta!ne(X) 56 .inistere(X)4 reta!ne(X) 56 morihan(X)4 .rance(reta!ne(X))7
1 — e programme présente plusieurs autes de s#nta!e. ouvez vous les détecter et les corriger ? ) — Quels sont les clauses qui correspondent 8 des aits dans ce programme ? 8 des règles ? 2 — Que représentent rest, %annes et lorient ? ont-ils des varia&les ou des atomes $constantes% rolog 7
%+ercice @> , Qu*s ( tus )es éta*es (& 'obectif 7.1.7) /li @entic a placé sur le serveur de lFuniversité un squelette de programme correspondant 8 son T sur les cursus d0inormatique réalisa&les au sein de lFuniversité. "r, ce programme ne respecte pas touLours la s#nta!e du langage rolog ouvez-vous lFaider 8 détecter ses erreurs de s#nta!e $et non pas de sémantique % ? Bl est demandé de donner 8 chaque ois la ligne incriminée, lFerreur correspondante et comment vous la corrigeriez. /888888888888888888888888888888888888888888888888888888888888/ /8 9C'9E: 5 "i7pl 8/ /8 0;TE;: 5 -entic 0li 8/ /888888888888888888888888888888888888888888888888888888888888/ /866 suite(0%t,0pr) %rai si on peut sui%re le cursus 0pr +uste apres 0%t 666668/ suite(ac,l_in.o), suite(l_in.o,l#_in.o), suite(l#_in.o,l<_in.o)7 suite (ac,iut_in.o)7 suite(iut_in.o,"ut_in.o)7 /866 cursus(-e,in) %rai s=il e&iste un cursus entre -e et in 6666666666668/ cursus(-e,in) 56 suite(-e,in) cursus(-e,in) 56 suite(-e,Entre), suite(Entre,in)7 cursus(-e,in) 56 cursus(-e,Entre,in)7
— 2D —
( -! "ntoine et # $illaneau
Logique pour l’informatique
EXERCICES : PROLO, ET LP1 %+ercice @@ , Instructin ci"ique eur-éenne (10& ' obectifs 7.2.2 et *.2.7) /lors que des pa#s comme lFBrlande, le +o#aume-Sni et, plus récemment, les pa#s scandinaves ont accordé le droit de vote au! élections locales 8 leurs résidents étrangers sans quFaucune catastrophe ne sFensuive, la classe politique ran7aise rechigne touLours a a&order cette question. Eéanmoins, suite au! accords de Maastricht, tout ressortissant de lFunion européenne dispose dFun tel droit de vote en 5rance. "n considère un petit programme rolog illustrant cette situation : .rancais( "upon" )7 europeen( !ert )7 haite( !ert, rance)7 %ote(X) 56 .rancais(X)7 %ote(X) 56 europeen(X), haite(X,.rance)7
a%
@onnez la traduction en logique des prédicats du 1 er ordre de la question rolog : >6 %ote(X)7
%
@onnez lFensem&le des clauses de 9orn correspondant 8 la traduction en logique des prédicats du 1 er ordre du programme et de la question.
&%
@onnez 'u'es les réponses o&tenues par application de la méthode de résolution sur cet ensem&le de clauses de 9orn. our chaque solution, on donnera le nom&re de démonstrations o&tenues.
%+ercice 1BB , D 0u s-eaO c)auses 'e rn (obectifs 7.1.* et 7.2.*) 4es clauses de 9orn utilisées par rolog imposent des contraintes non négligea&les sur la traduction logique des raisonnements. 'n règle générale, ces contraintes restent cependant acilement satisaisa&les. 'n particulier, l0opération de renommage que nous allons étudier dans cet e!ercice permettant une reormulation adéquates des clauses posant pro&lème. "n considère ici l0ensem&le des clauses suivantes, oC , Q, + et désignent des ormules atomiques : $1% $)% $2%
∨ Q ∨ +
∨ Q ∨ T
1 6 @ire, parmi ces trois clauses, lesquelles ne sont pas des clauses de 9orn. 2 — "n appelle renommage 'e P l0opération, notée → 1;, qui consiste 8 remplacer dans toute clause par 1. @onner un ensem&le de clauses de 9orn équivalent 8 l0ensem&le précédent en utilisant le renommage d0un nom&re minimal de ormules atomiques. "n précisera l0ensem&le des renommages eectués. - — 'crire alors les airmations suivantes sous orme de clauses rolog $1% $)% $2%
5n cas 'e grève, (e pren'rai ma voiture %i (e fais ce voyage, (e pren'rai l e train ou la voiture 9uelle calamité / il y aura grève ou &ien ce sera encore la 0oupe 'u Jon'e 'e foot&all @
— 2< —
( -! "ntoine et # $illaneau
Logique pour l’informatique
EXERCICES : PRO,RA""ATION PROLO, %+ercice 1B1 , H)ue' )*ique (obectifs 7.2.* et 7.2.7) oit colonelJoutar'e et mademoiselle+ose des suspects, chan'elier un o&(et conton'ant, et le &ureau et la &i&liothèque une salle. 4es empreintes de doigts appartenant au colonelJoutar'e ont été trouvés dans le &ureau, et celles de ma'emoiselle
D @onner une règle rolog qui correspond 8 l0assertion f si un ca'avre a été trouvé 'ans une salle et si un o&(et ?conton'antA se trouve 'ans cette salle, il s)agit in'u&ita&lement 'e l)o&(et qui a permis 'e commettre cet acte 'élictueux
< @onnez les ar&res de dérivation qui correspondent au! question f Mademoiselle +ose est-elle coupa&le ? et f4e olonel Moutarde est-il coupa&le et quel o&Let a-t-il utilisé pour réaliser son orait ?.
%+ercice 1B2 , 5r*a//atin )*ique et )ittérature 'e )?aCsur'e (obectifs 7.2.* et 7.1.7) Sne &i&liothèque possède un certain nom&re d0ouvrages, tous écrits par des auteurs de l0a&surde et classés en diérentes catégories : romans /
La Peste
0amus
essais /
Le mythe 'e %isyphe
0amus
thé+tre /
onesco Cec:ett 0amus
1 — +eprésenter les inormations suivantes $par e!emple : odot est une pièce de théPtre dont l0auteur est *ecHett% sous la orme de aits rolog. ) — 'crire un prédicat partout(0uteur) qui réussit si la &i&liothèque dispose d0[uvres de l0auteur tous les t#pes d0ouvrages.
0uteur dans
2 — 'crire un prédicat plusieurs(0uteur,T$pe) qui réussit si la &i&liothèque possède plusieurs [uvres de l0auteur 0uteur dans la mGme catégorie T$pe. "n suppose qu0on dispose d0un prédicat "i..(X,Y) prédéini qui réussit si X et Y sont diérents.
%+ercice 1B7 , Gastrn/ie 5r)*ienne (obectifs 7.2.* et 7.1.7) "n désire écrire un petit programme rolog qui aide une personne donnée 8 choisir un menu au restaurant. ur la carte de l0éta&lissement, sont précisées les inormations suivantes : vin /
ci're cGte 'u
plats /
galettes 'e &lé noir * l)an'ouille 'e Muéméné ravioles 'u
'esserts /
far aux pruneaux pogne 'e
— 2= —
( -! "ntoine et # $illaneau
Logique pour l’informatique
1 6 Rep8ése!'a'i! %es &!!aissa!&es — +eprésenter les inormations ci-dessus $par e!emple : le far est un 'essert % sous la orme de aits rolog. 2 — our chaque t#pe de met, l0un est t#pique de *retagne, l0autre de +h3ne /lpes. +eprésenter les inormations correspondantes en utilisant un prédicat d0arité ) lieu(Elt,:e!ion) qui réussit si Elt provient de :e!ion. - — 'crire un prédicat d0arité D menu_re!(Vin,Plat,-essert,:e!ion) qui réussit si le vin, le plat et le dessert considérés composent un menu t#pique de la :e!ion. — 5anch est &reton et ierre rh3nalpin. Traduire cette inormation 8 l0aide du prédicat lieu. 'crire un prédicat d0arité D menu_haituel(Vin,Plat,-essert,Personne) qui réussit si le vin, le plat et le dessert composent un menu correspondant 8 la région d0oC est originaire Personne. / — ar quel &ut o&tiendrez vous le menu ha&ituel qui sied 8 5anch ?
%+ercice 1B8 , Tus ( Harru. (1& ' obectifs 7.2.* et 7.1.7) "n désire réaliser un programme rolog qui modélise une &ase de données permettant de gérer le stocH dFun supermarché. @ans cette &ase de données, chaque produit réérencé est décrit par son nom, le ra#on oC il se trouve, son pri! unitaire et la quantité $en nom&re dFunités% présente en stocH. 4e ta&leau ci-dessous présente un e!trait de cette *@. "n suppose que lFon dispose du prédicat prédéini et?een/# déini comme suit : et?een(Min,Val,Ma&) réussit si Val est un entier ou un réel compris au sens large entre les valeurs Min et Ma&. on seul mode dFutilisation est $,,%, c0est-8-dire que ses arguments doivent Gtre instanciés par des valeurs lors de l0appel.
Nm Marronsuisse @anone *E 5raises 9uile olive uget
Ra9! roduits laitiers *iscuits ondiments
P8i ;Eu8s+ 1,= 6,= 2,<
S'&< 6 D< )6
a+ Rep8ése!'a'i! %es &!!aissa!&es = omment représenterez-vous ces connaissances dans votre programme rolog ? 4a représentation choisie devra vous permettre de répondre aisément au! pro&lèmes ci-dessous. + ,es'i!
%e
s'&<
= @onnez lFécriture rolog du prédicat rupture/# déini comme suit : rupture(Pro",:a$on) réussit si Pro" est un produit présent normalement dans le ra#on :a$on qui est actuellement en rupture de stocH. e prédicat devra onctionner dans tous les modes dFutilisation possi&les.
&+ @onnez des e!emples de questions que vous poseriez pour tester la validité du prédicat rupture/# en mode $,%. %+ Ai%e au &lie!' = @onnez lFécriture rolog du prédicat choi&/< déini comme suit : choi&(:a$on,P&_Ma&, Pro") réussit si Pro" est un produit présent dans le ra#on :a$on et dont le pri! est inérieur 8 P&_Ma& . e prédicat devra onctionner dans les modes $,,-% et $,,%, cFest-8-dire que le client donne 8 chaque ois le ra#on et le pri! ma!imal recherché.
%+ercice 1B: , Hn3nctins et 'is3nctins en 5r)* QD trans-rt aérien onséquence de lFe!plosion dFBnternet mais aussi de la mondialisation des échanges, les &ases de données — et plus généralement les s#stèmes dFinormations — occupent une place de plus en plus importante dans lFéconomie et constituent un domaine maLeur de lFinormatique. 0est pour cela que nous avons orienté notre Master Bnormatique vers les métiers liés au développement ou 8 la gestion des &ases de données et leur intera7age sur le AAA. Eous allons voir qu0il est également possi&le de déinir des &ases de données logiques en rolog. 9istoriquement, le transport aérien a été un des premiers secteurs économiques aisant un usage intensi de grandes &ases de données. @ans cet e!ercice, on considère une petite &ase de données donnant un ensem&le dFinormations sur les vols de diérentes compagnies. 4a première ta&le comprend les champs $attri&uts% décrits ci-dessous avec un e!emple de contenu $enregistrements% : -
vol compagnie avion Lour horaire depart arrivee
numéro du vol nom de la compagnie t#pe dFavion utilisé Lour de la semaine correspondant 8 ce vol horaire de départ du vol code de lFaéroport de départ code de lFaéroport dFarrivée
— 2> —
( -! "ntoine et # $illaneau
Logique pour l’informatique
(l /5D6<= /5>>2D /4V>1)
&mpa>!ie /ir 5rance /ir 5rance /ir 4ittoral
a(i! /ir&us 5oHHer /T+
?u8 Me Ne 4u
@8ai8e V.D< 1D.<6 16.26
%epa8' ET' *+ @
a88i(ée 4j T4' EB
ar ailleurs, la ta&le ci-dessous donne la liste des aéroports et de la ville principale quFils desservent : - code - aéroport - ville &%e @ *+ T4' EB ET' 4j
code de lFaéroport nom de lFaéroport ville desservie par lFaéroport
aé8p8' +oiss# - harles de aulle *rest uipavas Toulouse *lagnac Eice Eantes /tlantique 4#on aint aint-'!upér#
(ille aris *rest Toulouse Eice Eantes /tlantique 4#on aint aint-'!upér#
/u cours de cet e!ercice, nous allons réaliser un petit programme qui nous donnera une idée de la réalisation en rolog de &ases de données simples ainsi que de leur interrogation.
1 6 Rep8ése!'a'i! %es &!!aissa!&es — omment représenterez-vous en rolog les inormations de cette &ase de données ? @onnez 8 titre dFillustration la représentation des vols igurant en e!emple dans le ta&leau. 2 — "n désire o&tenir la liste des compagnies assurant une liaison entre deu! villes. @éinir le prédicat liaison/< tel que liaison(-ep,0rr,Comp) réussit si Comp est une compagnie assurant un vol entre -ep et 0rr. - — "n désire maintenir o&tenir la liste des compagnies assurant une liaison entre deu! villes avec un 'épart matinal . @éinir un prédicat liaison/@ tel que liaison(-ep,0rr,Comp,Matin) réussit si Comp est une compagnie assurant un vol entre -ep et 0rr soit en matinée $ Matin 1% soit en après-midi $ Matin 6%. @ans ce cas, il aut que le vol parte le matin ET quFil assure la liaison demandée. "n suppose que lFon dispose dFun prédicat a%ant(X,Y) qui réussit si lFheure est inérieure 8 lFheure j. /in de réduire leurs rais dFe!ploitations sur certaines liaisons intérieures peu renta&les, les grandes compagnies aériennes ont de plus en plus recours 8 de petits opérateurs locau! assurant pour leur compte ces dessertes. Fest ainsi, par e!emple, que la maLeure partie des vols dF/ir 5rance au départ de la *retagne sont assurées par *rit/ir. ette inormation peut-Gtre importante pour les clients, ces opérateurs régionau! proposant réquemment un accueil 8 &ord &ien plus apprécié que celui des grandes compagnies. "n se propose donc de compléter notre &ase de données par une ta&le complémentaire décrivant lFensem&le de ces vols réalisés par un opérateur autre que la compagnie commercialisant le vol : - vol - compagnie - opérateur
numéro du vol nom de la compagnie commercialisant le vol nom de lFopérateur réalisant eectivement le vol
4e ta&leau ci-dessous donne un aper7u du contenu de cette &ase de données :
(l /5D6<= /5>>2D
&mpa>!ie /ir 5rance /ir 5rance
pé8a'eu8 *rit/ir *rit/ir
6 Rep8ése!'a'i! %es &!!aissa!&es — omment représenterez-vous en rolog ces nouvelles inormations ? @onnez 8 titre dFe!emple la représentation des accords commerciau! igurant ci-dessus. / — Modiier le prédicat liaison/< ain de considérer 8 la ois les compagnies commercialisant un vol 'T celles lFassurant en tant quFopérateur.
— 2 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
EXERCICES : SE"ANTIQUE OPERATIONNELLE DE PROLO, %+ercice 1B; , 5ara'is *)acés (obectifs 7.1. et 7.2.7) i les Oles sont le plus souvent s#non#mes de soleil, cocotiers et vahinés dans lFesprit des vacanciers occidentau!, il en est qui, &ala#ées par les Quarantièmes +ugissants ou situées au! conins de lF/rctique, nFont pour elles que leur solitude et leur caractère grandiose. "n considère le programme rolog suivant, correspondant 8 une mini &ase de données issue dFun B $s#stème dFinormation géographique% consacré au! Oles des régions arctiques : $1% $)% $2% $D% $<% $=% $>% $%
ile(cro3et,.rance,in"ien)7 ile(!eor!ie_su",ro$aume_uni,atlantiue_su")7 ile(.rancois_+oseph,russie,arctiue)7 ile(ellesemere,cana"a,artiue)7 hemisphere(in"ien,su")7 hemisphere(atalantiue_su",su")7 hemisphere(arctiue,nor")7 possession(Pa$s,'emisph)56 ile(_,Pa$s,Ocean), hemisphere(Ocean,'emisph)7
1 — @onnez lFar&re de résolution correspondant 8 la question :
>6 possession(.rance,su")7
2 — @onnez lFar&re de résolution correspondant 8 la question :
>6 possession(russie,su")7
- — @onnez lFar&re de résolution correspondant 8 la question :
>6 possession(X,nor")7
%+ercice 1B< , Un -etit tur ( R)an' Garrs (obectifs 7.1. et 7.2.7) "n considère le programme rolog suivant : () (#) (<) (@) (A) (B) () (D) () (F)
soleil7 loes(i%ano%ic)7 petit(sa.ina)7 meilleur(henin)7 !a!nant(X,Y) 56 meilleur(X)7 !a!nant(X,Y) 56 plus_malin(X,Y)7 !a!nant(X,Y) 56 plus_chanceu&(X,Y)7 plus_malin(X,_Y) 56 soleil, loes(X)7 plus_malin(X,Y) 56 petit(Y), loes(X)7 plus_chanceu&(_X,sa.ina)7
onstruire l0ar&re de résolution rolog correspond 8 la question ?-
!a!nant(X,_Y). Quelle$s% réponse$s% o&tient-on ?
Rép!se i!%i&a'i(e — "n o&tient D solutions possi&les avec le mGme gagnant dans deu! cas de igure.
%+ercice 1B> , Dès que )e "ent su..)era (obectifs 7.1. et 7.2.7) "n considère le programme rolog suivant : () (#) (<) (@)
na%i!ue(parlier,mar"i)7 na%i!ue("es+o$eu&,mercre"i)7 na%i!ue("es+o$eu&,+eu"i)7 na%i!ue(le"am,2)7
(A) (B) ()
temps(mar"i,calme)7 temps(mercre"i,calme)7 temps(+eu"i,!rostemps)7
(D) ()
aime(le"am,!rostemps)7 aime(X,calme)7
(F) chance("es+o$eu&,mercre"i)7 () !a!ne(X,2) 56 na%i!ue(X,2), temps(2,T), aime(X,T)7 (#) !a!ne(X,2) 56 na%i!ue(X,2), chance(X,2)7
Ques'i! — Quelles sont les réponses données par rolog au &ut : @onnez l0ar&re de résolution correspondant.
>6 !a!ne(X,mercre"i)
Rép!se i!%i&a'i(e — "n o&tient ) gagants possi&les le mercredi ... mais trois démonstrations au total. — 2V —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice [email protected] , Récursi"ité -ar )Ke+e/-)e )es a/is 'e /es a/is === (obectifs 7.1. et 7.2.7) /u chapitre suivant, nous allons découvrir les plaisirs de la programmation récursive, voir sa puissance mais aussi ses dangers. +ien ne nous empGche de découvrir par lFe!emple ce t#pe de programmation f se mordant la queue . "n considère le programme suivant : () (#) (<)
ami(paul, pierre)7 ami(pierre,+acues)7 ami(X,Y) 56 ami(X,G), ami(G,Y)7
1 — omment peut sFinterpréter en ran7ais la règle $2% ? 'n quoi cette règle est-elle particulière ? 2 — @onnez lFar&re de résolution correspondant 8 la question :
>6 ami(paul,+acues)7
- — @onnez lFar&re de résolution correspondant 8 la question :
>6 ami(paul,Les0utres)7
ommentaire ?
PROBLE"ES %+ercice 11B , )*ie 5r)*ienne (obectifs 7.1.*/ 7.2.2./ 7.2.* et 7.2.7) "n considère la &ase de connaissances suivante, concernant des espèces alpines en voie de disparition : Le tétras lyre est un oiseau $appelé aussi coq 'e &ruyère % Le gypaète &ar&u est un oiseau carnivore $appelé aussi vautour 'es agneaux Le lynx est un animal carnivore . Un oiseau est un animal# Les carnivores mangent 'e la vian'e# Dans tout animal, il y a 'e la vian'e# .ous les animaux &oivent 'e l)eau# Un animal consomme ce qu)il &oit ou mange#
car raolant de ces tendres petites &Gtes...%
1 — +eprésenter cette &ase de connaissances en logique de prédicats du 1er ordre, puis en un programme rolog. ) — 4es clauses rolog du programme correspondent-elles &ien 8 des clauses de 9orn de la 41 ? 2 — omment interprétez-vous la question suivante : ?- carnivore(X), conso(X,Y). D — @onnez l0ar&re de résolution complet 8 cette question.
%+ercice 111 , %rreurs 'e s0nta+e et /essa*es SI5r)* (1&' obectifs 7.1.7 et 7.2.) 4Fo&servation de la méthodologie de programmation des étudiants en séance de T est une épreuve souvent éprouvante pour les enseignants qui sFattendent touLours 8 plus de réle!ion de la part de leurs élèves. Bl est ainsi rageant de vous voir modiier nFimporte quoi au hasard dans votre programme suite 8 lFaichage dFune erreur de compilation, ou pire encore vous voir utiliser votre programme alors que des erreurs de compilation vous ont été signiiées e petit e!ercice a précisément pour o&Lecti de vous aire réléchir 8 vos méthodes de programmation.
1 — ourquoi est-il touLours possi&le dFutiliser un programme rolog en dépit de lFaichage dFerreurs 8 la compilation ? ourquoi est-on assuré que le comportement du s#stème sera erroné ? Nustiiez votre réponse. 2 — our compiler un programme sous AB-rolog, on appelle un prédicat prédéini $ consult/%. Fil # a des erreurs dans le programme compilé, lFappel 8 consult réussira-t-il $i .e. réponde jes au inal% ou non ? "n considère le message dFerreur suivant o&tenu sur le compilateur AB-+"4" : A/+EBE: [email protected]:btoto.pl:)% #nta! error: "perator e!pected;
- — Que signiie la partie f [email protected]:btoto.pl:)% du message dFerreur ? "n considère le programme rolog suivant $les numéros de lignes indiqués 8 gauche ne sont l8 que pour vous aider 8 vous repérer dans le ichier : ils nFapparaissent &ien entendu pas dans le programme proprement dit% : () (#) (<) (@) (A) (B)
/8888888888888888888888888888888888888888888888888888888888888888/ /8 9C'9E: 5 s$racuse7pl 8/ /8 O2ET 5 mise en oeu%re "e lHal!o "e S$racuse 8/ /8 0;TE;: 5 27Y7 0ntoine 8/ /8 -0TE 5 F/#/#FF 8/ /8888888888888888888888888888888888888888888888888888888888888888/
— D6 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
() /8 impair(I) reussit si I est un nomre entier impair 88888888888/ (D) /8 pair (I) 5 i"em a%ec parite 8/ () impair(I) 56 is I mo" #7 (F) pair(I) 56 F is I mo" #7 () /8 "i%#(II,I) reussit si I est e!al a la moitie "e II 8888888888 (#) "i%#(II,I) 56 I is II / #7 8/ (<) /8 sui%ant(Crt,Sui%t) reussit si Sui%t otenu a%ec Crt par lHal!o "e S$racuse 8/ (@) sui%ant(Crt,Sui%t) 56 pair (Crt), "i%#(Crt,Sui%t)7 (A) sui%ant(Crt,Sui%t) 56 impair(Crt), Sui%ant is Crt 8 < J 7 (B) /8 s$ra(I) e&ecute lHal!o "e S$racuse a partir "u n I 8888888888/ () s$ra() (D) s$ra(I) 56 ?rite(I), ta(), sui%ant(I,Sui%t), s$ra(Sui%t)7
— e programme présente quatre erreurs. Bl vous est demandé de les détecter en donnant 8 chaque ois la nature de lFerreur $i.e. quelle serait la &onne écriture%, le message quFaichera le compilateur rolog en détectant cette erreur.
— D1 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
5R$L$G ter/inaisn récursi"ité QUESTIONS DE COURS %+ercice 112 , Retur au -rt c/-r/is (obectifs 7.2.7 et .2.2) "n désire réaliser un programme rolog qui recherche, 8 partir de la donnée de relations maritimes directes $i.e. sans escales%, lFensem&le des vo#ages possi&les que lFon peut eectuer en &ateau entre deu! ports. e programme nFutilise quFun seul prédicat dFarité ) : liaison("ep,arr) qui réussit sFil e!iste une liaison maritime entre le port de départ "ep et le port dFarrivée arr. @ans lFécriture proposée du programme, les relations directes sont alors représentées par un ensem&le de aits, alors que les liaisons avec escale sont o&tenues 8 lFaide dFune règle récursive : $1% liaison(rest,le_conuet)7 $)% liaison(le_conuet,molene)7 $2% liaison(molene,ouessant)7 $D% liaison(santan"er,rest)7 $<% liaison(rest,pl$mouth)7 $=% liaison(-ep,0rr) 56 liaision(-ep,Esc), liaison(Esc,0rr)7
1 — @onnez l0ar&re de résolution rolog correspondant 8 la question
>6liaison(rest,ouessant).
2 — @onnez l0ar&re de résolution rolog correspondant 8 la question pro&lème rencontre-t-on ?
>6liaison(rest,santan"er).
Quel
- — Modiiez le programme pour résoudre le pro&lème rencontré.
%+ercice 117 , L?ar*ent ne .ait -as )e Cnheur récursi"ité 4/a)6 cachée (obectifs 7.2.7/ .1.2. et .2.2) "n considère le programme rolog suivant : amoureu&(+ean)7 heureu&(X) 56 heureu&(X) 56 riche(X) actions(X) 56 ar!ent(X) 56
riche(X)7 amoureu&(X)7 56 actions(X)7 ar!ent(X)7 riche(X)7
1 — @onnez l0ar&re de résolution rolog correspondant 8 la question
>6 heureu&(+ean). Que se passe-t-il ?
) — omment résoudre le pro&lème rencontré ?
%+ercice 118 , Un -eu 'e recu) -ar ra--rt au curs (obectif .1.2) "n considère un prédicat quelconque lam"a/#. achant que ce prédicat nFest pas récursi et quFil ne met pas en Leu de prédicats e!tralogiques, pouvez-vous dire quels sont ses modes dFutilisation ? Nustiiez votre réponse.
%+ercice 11: , Au sui"ant (10& ' obectifs 7.2.7 et .2.2) "n considère le programme rolog suivant, déinissant une relation dFordre $supérieur% entre nom&res entiers : () (#) (<) (@) (A)
sui%ant(,F)7 sui%ant(#,)7 sui%ant(<,#)7 sup(Sup,9n.) 56 sui%ant(Sup,9n.)7 sup(Sup,9n.) 56 sup(Sup,Entre), sup(Entre,9n.)7
a% @onnez lFar&re de résolution correspondant 8 la question >6 sup(F,<)7 % QuFaichera rolog en réponse 8 cette question >6 sup(F,<)7 &% Quels commentaires pouvez-vous aire sur le programme ?
— D) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice 11; , Re-résentatin 'es )istes (obectif .1.*) 'crire la orme générale des listes suivantes : 1% )% 2% D% <%
liste quelconque 8 deu! éléments liste 8 un élément, telle que cet élément est une liste 8 deu! éléments. liste 8 deu! éléments, telles que le deu!ième élément est la liste vide. liste a#ant au moins deu! éléments. liste 8 au moins trois éléments, telles que le deu!ième élément est une liste 8 trois éléments.
%+ercice 11< , Listes s0nta+e (& ' obectif .1.*) Koici une ois encore a réalisé un programme présentant de nom&reuses autes de s#nta!e ouvez-vous les corriger ? /88888888888888888888888888888888888888888888888888888888888888888888888888888/ /8 9C'9E: 5 team7pl 8/ /8 0;TE;: 5 0ntoine 2ean6Y%es 8/ /88888888888888888888888888888888888888888888888888888888888888888888888888888/ /8 .aits 8/ euipe(Knicolas, +ean_pierre, +acues)7 euipe(Klionel, "ominiue laurent )7 euipe(Kroert Kanne_marie , +oseph)7 euipe(Karlette alain , oli%ier)7 euipe(Knoel, K "ominiue, alain)7 /8 oter(E,LE,L) reussit si L est la liste LE a lauelle on a ote E8/ oter(E,KEN,N)7 oter(E,KXNE,KXN) 56 oter(E,KNE,KN)7
a+
"n vous demande tout dFa&ord de donner lFensem&le des erreurs de s#nta!e du programme, cFest-8-dire celles qui donneront lieu 8 des messages dFerreurs de la part de lFinterpréteur rolog lors de lFétape de consultation du programme $appel au prédicat consult/%. Bl est demandé de donner 8 chaque ois la clause incriminée, lFerreur correspondante et comment vous la corrigeriez.
+
"n vous demande tout dFa&ord de donner lFensem&le des erreurs de programmation qui correspondront 8 une sémantique non attendue du programme. Fest 8 dire au! erreurs qui ne seront pas détectées par lFinterpréteur, mais qui conduisent visi&lement 8 un comportement erroné du programme. Bl est demandé de donner 8 chaque ois la clause incriminée, lFerreur correspondante et comment vous la corrigeriez.
%+ercice 11> , ArCre 'e rés)utin a"ec )iste (obectif .1.* et 7.2.7) "n considère le prédicat dFarité ) elem(E,L), étudié en cours, qui réussit si ' est un élément de la liste 4 : () elem(E,KE_)7 (#) elem(E,K_N)56 elem(E,N)7
@onnez les ar&res de résolution complets qui correspondent au! questions suivantes : 1% )%
>6 elem(,K#,<)7 >6 elem(X,K,#)7
EXERCICES : RECURSIVITE ET "ODES DUTILISATION %+ercice [email protected] , Les "isins 'e /es "isins snt /es "isins (& ' obectifs .1.2 et .2.2) 4e programme rolog suivant cherche 8 donner tous les couples de pa#s rontaliers au! a&ords de la péninsule i&érique. Bl présente des pro&lèmes de gestion de récursivité :
— D2 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
() .rontalier(espa!ne,.rance)7 (#) .rontalier(espa!ne,portu!al)7 (<) .rontalier(X,Y) 56 .rontalier(Y,X)7
+éécrire le programme ain de rendre celui-ci utilisa&le dans tous les modes dFutilisation.
%+ercice 12B , Vi"e )a R0a)e (1& ' obectifs 7.2.7/ .1.2 et .2.2) "n considère le programme rolog suivant, qui décrit les relations de commandement au sein des oiciers générau! et supérieurs de la marine nationale : /8 sup(Sup,9n.) reussit si Sup est le !ra"e "irectement superieur 9n. 8/ () (#) (<) (@) (A)
sup(amiral,%ice_amiral)7 sup(%ice_amiral,ctre_amiral)7 sup(ctre_amiral,capt_%aisseau)7 sup(capt_%aisseau,capt_.re!ate)7 sup(capt_.re!ate,capt_cor%ette)7
/8 oeit(9n.,Sup) reussit si Sup a un !ra"e superieur 9n. /8 mo"es "=utilisation recherches 5 (J,J) et (J,6)
8/ 8/
(B) oeit(9n.,Sup) 56 oeit(Sup,Entre), oeit(Entre,9n.)7 () oeit(9n.,Sup) 56 sup(Sup,9n.)7
a = = & = % =
QuFaichera lFinterpréteur rolog en réponse 8 la question >6 oeit(ctre_amiral,X)7 onclusion ? QuFaichera-t-il en réponse 8 la question >6 oeit(amiral,capt_cor%ette)7 onclusion ? Modiiez le programme ci-dessus pour permettre un onctionnement correct en modes $,% et $,-%. 'n désire que le programme onctionne en modes $,% et $-,%. Modiiez le programme en conséquence.
%+ercice 121 , Factrie))e (& ' obectif .1.2) "n considère un programme rolog ci-dessous réalisant le calcul de la actorielle 5E dFun nom&re E donné : .act(F,)7 .act(I,I) 56 sup(I,F), plus(I,6,I), .act(I,I), .ois(I,I,I)7
"n suppose que : sup(S,9) est vrai si entier est strictement supérieur 8 B. sup/# a pour mode dFutilisation $,%. plus(0,,0) est vrai si /* / *. plus/< a pour modes : $,,%, $,,-%, $-,,%, $,-,%. .ois(0,,0) est vrai si /* / *. .ois/< a pour modes : $,,%, $,,-%, $-,,%, $,-,%.
@onnez les modes dFutilisation du prédicat .act/# ainsi déini.
%+ercice 122 , Le -r*ra//e incnnu (*0& ' obectifs 7.2.7 et .1.2) 'tudiant en licence inormatique, Nosé péré-4edis se voit proposer le programme inconnu suivant : $6% $1% $)%
ae3(0,) 56 +e"(,,0)7 +e" (,0,0)7 +e" (,N,0) 56 NS is NJ, F is mo" NS, - is "i% NS, +e"(-,NS,0)7
"n rappelle que les prédicats arithmétiques de la division entière.
mo" et "i% correspondent
respectivement au calcul du reste et du quotient
1 — @onnez les ar&res de résolution complets correspondant au! questions : a% &% c%
>6 ae3(0,#)7 >6 ae3(0,B)7 >6 ae3(<,@)7
2 — Quels sont les modes d0utilisation de ce prédicat ? Nustiiez votre réponse. - — Que réalise selon vous le prédicat ae3/# ? — auriez-vous donner une autre écriture de ce prédicat qui onctionne en mode $,-% ou $,% ? / — @ans la règle ), que vériie le sous-&ut F is mo" NS ? "n désire écrire un prédicat dFarité ) %eri.(,NS) qui réalise cette vériication. @onnez une écriture du prédicat qui réalise cette vériication en nFutilisant pas de prédicats e!tralogiques. — DD —
( -! "ntoine et # $illaneau
Logique pour l’informatique
PRO,RA""ATION RECURSIVE : EXERCICES SI"PLES %+ercice 127 , HKest -as /i cKest )Kautre (2& ' obectifs .2.1 et .2.2) ouvenez-vous... 4a 5rance a connu au cours de lFété )66)-)662 un épisode de canicule dont se serait &ien passé Neanierre +aarin, le premier ministre de l0époque. elui-ci ut en eet accusé par lFopposition, mais également par les o&servateurs politiques, de vacance de pouvoir alors mGme que des milliers de personnes mourraient dFh#perthermie dans des h3pitau! surchargés. 4Fe!plication quFa donné le premier ministre 8 cette aillite de lF'tat se résume 8 la ma!ime f cFest pas moi, cFest lFautre : il nFa pas été inormé par le ministre de la anté de l0époque $N-5. Mattei% qui lui mGme nFa pas été alerté par son @irecteur énéral de la anté $4. /&enha`m% qui lui mGme nFa pas re7u suisamment dFinormations du directeur $. *rcHer% de lFBEK $Bnstitut Eational de Keille anitaire% qui lui-mGme ans chercher 8 trancher ici sur les responsa&ilités de chacun, cet éprouvant épisode estival est lFoccasion dFun e!ercice de rentrée portant sur la chaOne dFinormation qui doit remonter du terrain LusquFau! ca&inets gouvernementau!. @eu! prédicats sont utilisés pour déinir la liste des protagonistes de lFaaire et leur liens de su&ordination : est vrai si la personne a pour onction $premier ministre, par e!emple% 5. superieur(,Sup) est vrai si la personne de onction 5 est le su&ordonné direct de la personne de onction 5sup $onction hiérarchique directement supérieure%. .onction(P,)
1+
+eprésentez les connaissances données dans lFénoncé ci-dessus 8 lFaide de ces prédicats. our résoudre notre pro&lème, on désire maintenant réaliser un prédicat in.orme_par(P,P#), qui réussit si la personne 1 doit Gtre inormée, directement ou indirectement $i.e. par voie hiérarchique% par la personne ). e prédicat doit onctionner en mode $,% et $,-%.
2+
@onnez lFanal#se du pro&lème correspondant 8 la déinition du prédicat.
-+
@onner lFécriture du prédicat en rolog.
+
@onnez un ensem&le de tests permettant de vériier s9s'éma'iueme!' que le prédicat onctionne &ien dans les modes attendus.
%+ercice 128 , Le /n'e 'es C)cs (obectifs .2.1 et .2.2) e cherchant de grands déis intellectuels 8 solutionner, l0Bntelligence /rtiicielle, 8 ses dé&uts dans les années =6, s0est passionnée pour ce qu0on appelait le mon'e 'es &locs . Bl s0agissait en ait de résoudre un pro&lème enantin 8 la portée de tout nourrisson : déplacer, 8 l0aide des ro&ots, des cu&es empilés dans une coniguration donnée pour les replacer dans une autre coniguration, ceci en ne prenant 8 chaque ois qu0un seul cu&e. ar e!emple : A
Q
H A Q
H
4a solution apparut rapidement, et ce grand classique trouva sa place dans tous les enseignements de &ase en Bntelligence /rtiicielle. 4e pro&lème est d0ailleurs assez simple et peut Gtre résolu en rolog par un étudiant de 1 er c#cle. Eous allons étudier ici une toute petite partie du pro&lème. "n représente tout empilement 8 l0aide d0un ensem&le de aits pose_sur(X,Y), prédicat qui réussit si est posé directement j. /insi, la pile 8 gauche de la igure ci-dessus se décrit comme suit : pose_sur(c,sol)7 pose_sur(,c)7 pose_sur(a,)7
our estimer si une position est correcte ou non, il peut Gtre utile au ro&ot de savoir d0une manière générale si un &loc donné est au 'essus d0un autre, sans que ceu!-ci soient posés l0un sur l0autre. ar e!emple, sur la igure de gauche, / est au dessus de *, mais aussi de et du sol.
Ques'i! — "n demande précisément d0écrire le prédicat
sur(X,Y) qui réussit sur est
— D< —
au dessus de j.
( -! "ntoine et # $illaneau
Logique pour l’informatique
%+ercice 12: , istire 'e )KArt (1& ' obectifs .2.1 et .2.2) i certains critiques dFart ont remis en cause une certaine vision déterministe de la modernité dans lFart, il nFen reste pas moins que lFévolution des courants artistiques sFest souvent aite de proche en proche : une école st#listique, une ois éta&lie, inluence de nouveau! artistes qui sF# intègrent puis vont plus encore de lFavant dans lFinnovation pour créer inalement une nouvelle école artistique. 'n rolog, on décide de représenter ces relations dFinluences successives par une liste de aits utilisant le prédicat pre.i!ure(X,Y) , qui réussit si lFécole a préiguré lFapparition de lFécole j et est donc son prédécesseur direct dans lFhistoire de lFart. "n suppose $postulat très réducteur% au passage que tout courant artistique nFa été inluencé que par un prédécesseur unique. ar e!emple : pre.i!ure(ari3on,impressionnisme)7 pre.i!ure(pont_a%en,nais)7 pre.i!ure(impressionnisme,.au%isme)7 pre.i!ure(cuisme,.uturisme)7
"n veut écrire un prédicat dFarité ) apres(0pr,0%t)qui réussit si 0%t est une école st#listique apparue après 0pr.
a% @onnez votre anal#se du pro&lème spéciié de la manière suivante : apres(0pr,0%t) réussit si lFécole 0pr est apparue après lFécole artistique 0%t % @onnez la programmation en rolog du prédicat apresb) conormément 8 cette anal#se.
%+ercice 12; , uèCe str0 u )e /0the '?Ariane re"isité (obectifs 7.2.7/ .2.1 et .2.2) /lec Tronic, lFingénieur s#stème du @épartement Bnormatique, est chargé de connecter lFensem&le des ordinateurs en li&re service. our cela, il relie les ordinateurs deu! 8 deu!. our ne pas se tromper, il note 8 chaque ois le nom de chaque ordinateur relié, en tenant &ien compte du sens de la conne!ion. /u &out dFun moment, il ne sait plus très &ien oC il en est. ur son papier, il a noté les relations directes entre chaque ordinateur : L’or'inateur a est relié * l’or'inateur f L’or'inateur & est relié * l’or'inateur ' L’or'inateur ' est relié * l’or'inateur c L’or'inateur a est relié * l’or'inateur c L’or'inateur c est relié * l’or'inateur e L’or'inateur g est relié * l’or'inateur h
our lFaider, on va représenter chaque conne!ion directe entre des ordinateurs et j par le prédicat lie(X,Y)7 "n suppose que ces conne!ions sont unidirectionnelles, cFest 8 dire que le ait que est lié 8 j nFimplique pas que j soit lié 8 . a — @éinissez sous orme de clauses rolog le prédicat connecte(X,Y) qui est vrai sFil e!iste une conne!ion, directe ou non, entre les ordinateurs et j. 48 encore, il nF# a pas a priori de &idirectionnalité des conne!ions. & — 'tes-vous sUrs que votre programme ne &oucle pas. our vous en persuader, écrivez lFar&re de preuve rolog en réponse au! questions suivantes : >6 connecte(,c)7 >6 connecte(c,)7 >6 connecte(3,u)7
%+ercice 12< , Recherche 'e 'i"iseur === sans 'i"isin (obectifs .2.1 et .2.2) our lFordinateur $et lFGtre humain %, la division est une opération plus diicile 8 réaliser quFune simple addition ou soustraction. Fest ainsi quFil nFest pas déini en rolog de prédicat logique réalisant la division $c. chapitre consacré 8 lFartithmétique rolog et ses prédicat e!tra-logiques%. our le programmeur désireu! de nFutiliser quFun langage rolog pur, cFest 8 dire nFutilisant que des prédicats rigoureusement logiques, comment répondre alors au pro&lème suivant : réaliser un prédicat dFarité "i%iseur(I,-i%) qui réussit si lFentier -i% est un diviseur de lFentier I. 4a solution a ce pro&lème est heureusement trouvée depuis lFantiquité : il suiser de constater que si * est un diviseur de /, alors * est aussi un diviseur de *-/. artant de cette propriété, sauez-vous réaliser ce prédicat ?
I!%i&a'i! — "n pourra pour utliser le prédicat logique de et j entiers relatis.
lus* déini comme suit : lus(/Y/K)
— D= —
( -! "ntoine et # $illaneau
réussit si est la somme
Logique pour l’informatique
%+ercice 12> , QaC0 C/ (7& ' obectifs .1.2.) 4e programme rolog suivant cherche 8 donner lFensem&le des couples de Lumeau! dFune maternité. 4e prédicat +umeau&/# est sensé onctionner en mode $,% et $,-% : /8 .aits 5 "eclarations "es +umeau& 8/ () +umeau&(riri,.i.i)7 (#) +umeau&(i!or,!richa)7 /8 re!les 5 +umeau&(X,Y) est %rai si X et Y sont +umeau& et reciprouement 8/ (<) +umeau&(X,Y) 56 +umeau&(Y,X)7
1+ 2+ -+ + /+
@onnez lFar&re de résolution correspondant 8 la question : >6 +umeau&(.i.i,riri)7 @onnez lFar&re de résolution correspondant 8 la question : >6 +umeau&(riri,X)7 @onnez lFar&re de résolution correspondant 8 la question : >6 +umeau&(cecilia,carla)7 / la lumière des questions précédentes, pouvez-vous e!pliquez quel$s% pro&lème$s% présente ce programme ? +éécrire le programme ain de rendre celui-ci utilisa&le dans tous les modes dFutilisation prévus.
"n désire maintenant étendre la portée de ce programme 8 lFensem&le des triplés, quadruplés etc
Rep8ése!'a'i! %es &!!aissa!&es — @ans ce cas, les &é&és pris deu! 8 deu! sont considérés comme des Lumeau!. "n représentera donc les enants multiples deu! 8 deu!, 8 lFaide du prédicat Lumeau!b). ar e!emple, si +iri, 5ii et 4oulou sont des triplés, on se contentera de déinir les aits suivants : +umeau&(riri,.i.i)7 +umeau&(.i.i,loulou)7
Spé&ii&a'i! %u p8lme — Bl vous est demandé de réaliser un prédicat $qui peut-Gtre +umeau&/#% dFarité ) qui réussit pour tout couple de Lumeau!, que ceu!-ci assent partie dFune f portée de ), 2, D, < etc enants multiples. 0+
@onnez lFanal#se du pro&lème correspondant 8 cette nouvelle déinition du prédicat.
3+
@onner lFécriture du prédicat correspondant 8 cette nouvelle déinition
%+ercice [email protected] , Ha)cu) 'Kune .nctin -ar /éth'e 'icht/ique (obectifs .2.1 et .2.2) 4a recherche e!acte des zéros dFune onction est un pro&lème mathématique parois très comple!e. 4Fordinateur ournit alors une aide précieuse en trouvant une solution par appro!imation. 4a méthode la plus simple est de procéder par dichotomie : on considère la onction sur un intervalle a,&; sur lequel on sait que change de signe $cFest 8 dire que $a%$&% ≤ 6%. "n cherche alors 8 réduire cet intervalle en le coupant en deu! et en retravaillant ensuite sur le sousintervalle vériiant encore la propriété de changement de signe. "n procède par itération LusquF8 ce que lFon tom&e pile sur le zéro de la onction, ou quFon arrive 8 un intervalle dont on Luge quFil encadre de manière suisamment précise le zéro. 4a valeur inérieure de lFintervalle est alors choisie comme appro!imation du zéro de la onction.
Ques'i! — "n considère une onction dFarité 1déinie en rolog 8 lFaide du prédicat dFarité ) .(X,Y) qui réussit si j $%. "n demande de réaliser un prédicat dFarité ) 3ero(Gero,Min, Ma&, Seuil) qui donne le zéro de cette onction su lFintervalle Min,Ma!; de manière e!acte, ou appro!ime cette valeur avec un écart inérieur 8 Seuil. 4e résultat étant représenté par le premier argument du prédicat. Rema8ue — "n suppose que lFon dispose pour cet e!ercice des prédicats prédéinis suivants : plus(0,,C) .ois(0,,C) "i%(0,,C) in.(0,)
qui réussit si est égal 8 la somme de / et de * qui réussit si est égal au produit de / et * qui réussit si est égal 8 la division de / par * qui réussit si / est inérieur 8 *
%+ercice 17B , 9écan .inancier (obectifs .2.1 et .2.2) 9olding inancières, participations croisées, "../. amicales ou ennemies, intervention de onds de pensions,... : les capital des grandes entreprises est de plus en plus comple!e et ragmenté, 8 tel point que le petit actionnaire # perd le plus souvent ses petits. @ans cet e!ercice, nous allons nous intéresser au monde de la grande distri&ution, qui a connu ces dernières années plusieurs usions b acquisitions spectaculaires.
— D> —
( -! "ntoine et # $illaneau
Logique pour l’informatique
Promod!s
"uichard
1> W
Carrefour
28 W
Char#eurs
:1 W
1BBW
Casino :1W
Prisunic
[email protected]
Char#eurs$distribution
Eous allons réaliser un petit programme qui permettra de répondre automatiquement a la question essentielle suivante : qui a le contr3le dFune société donnée. our cela, on étudie le cas — aussement artiiciel — résumé par la igure cidessus. e schéma se lit comme suit : la société Promo'ès détient 1 du capital de la société 0asino. 4es héritiers de eoro# Muichar' détiennent 2D de la société 0asino, et ainsi de suite.
Rema8ue : dans cet e!ercice, on pourra utiliser les prédicats prédéinis suivants : plus(0,,C) .ois(0,,C) et?een(0,,C)
qui réussit si est égal 8 la somme de / et de * qui réussit si est égal au produit de / et * qui réussit si est compris entre les valeurs de / et *
1 — +eprésentez en rolog lFensem&le des aits illustrés sur la igure précédente. "n utilisera pour cela le prédicat dFarité 2 action(E,E#,Part) qui réussit si la société 5N est un actionnaire de la société 58 qui détient Part pour-cents du capital de cette dernière. "n normalisera les pourcentages considérés, cFest 8 dire que 1 se représentera par e!emple par le réel 6,1. ) — 'crire un prédicat dFarité ) .iliale(E,E#) qui réussit si la société 5N est une iliale de la société 58, cFest 8 dire que cette dernière détient une partie du capital de la première. "n remarquera que cette détention de capital peut-Gtre indirecte. ar e!emple, votre programme doit répondre par lFairmative 8 la question : >6 .iliale(prisu,promo"es)7
2 — 'tre actionnaire dFune société, cFest &ien. 'n Gtre lFactionnaire maLoritaire, cFest mieu!. 'crire un prédicat dFarité ) controle(E,E#) qui réussit si la société 5N est un actionnaire maLoritaire de la société 58 $nous dirons quFelle la contr3le%, ou &ien quFelle est actionnaire maLoritaire dFune société qui contr3le la société 58. /insi, votre programme doit répondre par lFairmative 8 la question : >6 controle(carrou.,prisu)7 Sn des intérGts de ces prises de participation en cascade est quFelles permettent de contr3ler indirectement une société alors quFon ne possède réellement quFune minorité de son capital. Fest ce t#pe de mécano inancier qui permet, par e!emple, 8 la amille *ou#gues de contr3ler 8 f peu de rais un immense empire. Eous allons créer de nouveau! prédicats pour détecter ce genre de situation. D — 'crire un prédicat part_action(E,E#,P) qui réussit si la société 5N possède en réalité P pour-cents du capital de la société 58. ar e!emple, 8 la question ?- part_action(carrou.,prisu,P)7 votre programme devra répondre par lFairmative et donner P
Q F7#BF .
'n eet, <1 <1 )=,61 "n supposera déini un prédicat dFarit é 2 .ois(0,,C) qui réussit si est égal 8 la multiplication de / par *. < — 'nin, écrire un prédicat dFarité ) in!o(E,E#)qui réussit si la société 5N contr3le la société 58 tout en ne possédant pas la maLeure partie de son capital.
— D —
( -! "ntoine et # $illaneau
Logique pour l’informatique
LISTES ET TER"INAISON %+ercice 171 , Listes et ter/inaisn (obectif 7.2.7/ .1.* et .2.*) "n donne le programme rolog suivant : e..ace(X,KXL,L)7 e..ace(X,K'L,K'Le..) 56 e..ace(X,L,Le..)7
@onner la réponse trouvée par rolog 8 chacune des questions suivantes :
a — ?- e..ace(#,K,#,<,#,@,K,<,#,@) — ?- e..ace(#,K,#,<,#,@,K,#,<,@) & — ?- e..ace(#,K#,<,<) % — ?- e..ace(X,K,#,<,#,@,K,#,<,@) e — ?- e..ace(#,K,#,<,#,@,L) Rép!se i!%i&a'i(e — "n a une réponse positive pour toutes les questions sau dans le cas c%.
%+ercice 172 , 5rC)è/es 'Kuti)isatin (obectif .1.2. et .1.*) Eous avons vu quFil nFe!istait pas de méthode inailli&le pour déterminer lFordre des sous-&uts dFune clause récursive. et e!ercice va précisément nous donner une illustration lagrante de cette impuissance : souvent, il nFe!iste dFordre prééra&le de sous-&uts. implement, 8 chaque ordre correspondra une utilisation diérente du prédicat concerné. a — "n considère tout dFa&ord le prédicat () (#)
concat, déini comme suit en cours :
concat(K,L,L)7 concat(KTN,L,KTNC) 56 concat(N,L,NC)7
@éterminez les modes dFutilisation de ce prédicat.
— "n considère maintenant le prédicat inverse $c e!ercice )-<%. 'n ait, on peut déinir ce prédicat de deu! manières diérant uniquement par lFordre des sous-&uts de la clause récursive : () (#)
in%erse(K,K)7 in%erse(KTN,L) 56 in%erse (N,N:), concat(N:,KT,L)7
(=) in%erse(K,K)7 (#=) in%erse(KTN,L) 56 concat(N:,KT,L), in%erse (N,N:)7
@éterminez les modes dFutilisation du prédicat, pour les deu! déinitions. onclusions ?
Rép!se i!%i&a'i(e — 4es deu! écritures se diérencient par les modes dFutilisation $-,% et $,-%.
%+ercice 177 , Les uns et )es tres (20 ' obectifs .2.* et .2.7.) ur une planète éloignée règne Neanmari Ber, le roi-despote des uns. e peuple &elliqueu! voue une haine séculaire au! otres, des étrangers nFa#ant pas comme eu! trois #eu!, si! antennes et la peau verte. Sne loi a#ant imposé au! otres de porter un nom comportant au moins un f z , le roi Neanmari Ber a demandé 8 ses plus grands scientiiques de lui produire un programme rolog permettant de détecter automatiquement tout nom otre, chaque nom étant représenté par une liste de lettres. /près des années de recherche, le 9aut-omité cientiique un propose le programme suivant : le prédicat dFarité ) t$pe(Iom,T$pe) doit Gtre vrai si et seulement si le nom $rédigé uniquement en caractères minuscules% correspond 8 un patron#me réservé au t#pe $un ou otre% adéquat. () t$pe( K 3 _ , 3otre)7 (#) t$pe( K_N , T$pe ) 56 t$pe(N,T$pe)7 (<) t$pe( K , 3un )7
1 — @onnez les modes dFutilisation de ce programme, cFest-8-dire ici les modes pour lesquels le programme ne &oucle pas, quFil donne une réponse correcte ou erronée. Nustiiez votre réponse. 2 — Bl sem&le que le programme proposé ne soit pas correct. /in de vous en persuader, donnez les ar&res de résolution correspondant au! questions ci-dessous. onclusions ?
— DV —
( -! "ntoine et # $illaneau
Logique pour l’informatique
a% &% c%
>6 t$pe(K + ,=O=, T$pe)7 >6 t$pe(K 3 , u , t , T$pe)7 >6 t$pe(K 3 , u , n , 3un )7
raignant le courrou! de leur roi, les scientiiques proposent alors en désespoir de cause trois programmes alternatis $"i../# est un prédicat dFarité ), supposé prédéini, qui réussit si ses deu! arguments ne sont pas uniia&les% :
P8>8amme 1
() (#) (<) () (#) (<) () (#) (<)
P8>8amme 2 P8>8amme -
t$pe( t$pe( t$pe( t$pe( t$pe( t$pe( t$pe( t$pe( t$pe(
K KTN K 3 _ K 3 _ KTN K K KTN K 3 _
, , , , , , , , ,
3un ) 7 T$pe ) 56 t$pe(N,T$pe)7 3otre)7 3otre) 7 T$pe ) 56 "i..(T,3), t$pe(N,T$pe)7 3un ) 7 3un ) 7 T$pe ) 56 "i..(T,3), t$pe(N,T$pe)7 3otre)7
- — Bdentiiez, parmi ces quatre propositions, les programmes incorrects. Nustiiez vos réponses.
%+ercice 178 , Le -r*ra//e incnnu /'es 'Kuti)isatin et ter/inaisn (contrôle 1-2000 ' 2 ' obectif .1.2./ .2.2. et .2.7.)
"n considère le programme inconnu suivant : () "i?e3h(KT, T, K)7 (#) "i?e3h(KTN, S, KT:) 56 "i?e3h(N, S, :)7
1 — @onnez les ar&res de résolution complets correspondant au! questions suivantes : 1% >6 )% >6
"i?e3h(K, X, Y)7 "i?e3h(K,#,<, X, Y)7
2 — @éduisez de la question précédente le r3le du prédicat
"i?e3h. @onnez ses modes dFutilisation.
I!%i&a'i! — 'n &reton : 'i;e7h fin en ran7ais. - — "n désire maintenant utiliser "i?e3h pour programmer un second prédicat qui réalise lFinversion tGte-queue des éléments dFune liste. TouLours acétieu!, lFenseignant propose trois écritures de ce prédicat : P8>8amme A P8>8amme B P8>8amme C
(a) (#a) () (#) (c) (#c)
ren%erse(K, K)7 ren%erse(L, KTN:) 56 ren%erse(NL,N:), "i?e3h(L,T,NL)7 ren%erse(K, K)7 ren%erse(L, KTN:) 56 "i?e3h(L,T,NL), ren%erse(NL,N:)7 ren%erse(L, KTN:) 56 "i?e3h(L,T,NL), ren%erse(NL,N:)7 ren%erse(K, K)7
@onnez, en Lustiiant vos réponses, les modes dFutilisation de chacun de ses programmes.
— 'n règle générale $liste de longueur quelconque% quel est le programme le plus eicace entre * et ? Nustiiez votre réponse.
%+ercice 17: , Un autre -r*ra//e incnnu /'es 'Kuti)isatin et ter/inaisn (70 ' obectif .1.2./ .2.2. et .2.7.)
P8emie8 p8é%i&a' $contr3le continu% — @ans tout ce pro&lème, on considèrera le programme $inconnu% suivant : () "re_holl(K,X,K)7 (#) "re_holl(KTN,X,KT,XN-) 56 "re_holl(N,X,N-)7 (<) "re_holl(KTN,X,KT N-) 56 "re_holl(N,X,N-)7
1 — @onnez les ar&res de résolution correspondant au! questions suivantes : 1% >6 "re_holl(K,#,<,#,K,#,#)7 )% >6 "re_holl(K,#,<,X)7
2 — Quel est le r3le du prédicat
"re_holl/< :
I!%i&a'i! — 'n &reton : 're-holl partout en ran7ais. - — Quel sont les modes dFutilisation du prédicat "re_holl/< $cochez les modes dFutilisation corrects% :
— <6 —
( -! "ntoine et # $illaneau
Logique pour l’informatique ¨ $,,%
¨ $,,-%
¨ $-,,%
¨ $-,,-%
¨ $,-,%
¨ $,-,-%
¨ $-,-,%
¨ $-,-,-%
— @onnez la réponse 8 la question suivante : >6 "re_holl(KK,#,K<,@,<, X)7 / — "n redéinit le prédicat en pla7ant en dernier les clauses non récursives du programme. () "re_holl(KTN,X,KT,XN-) 56 "re_holl(N,X,N-)7 (#) "re_holl(KTN,X,KT N-) 56 "re_holl(N,X,N-)7 (<) "re_holl(K,X,K)7
Quels sont alors les modes dFutilisation du prédicat ainsi redéini .
Se&!% p8é%i&a' $contr3le de septem&re% — @ans tout ce pro&lème, on considèrera le programme $inconnu% suivant : () (#) (<) (@)
"i3ur3h(K,K)7 "i3ur3h(KX,Y,G N,KX,G,YN1) "i3ur3h(KX,Y,G N,KY,X,GN1) "i3ur3h(KX,Y,G N,KY,G,XN1)
56 "i3ur3h(N,N1)7 56 "i3ur3h(N,N1)7 56 "i3ur3h(N,N1)7
1 — @onnez les ar&res de résolution complets correspondant au! questions suivantes : 1% >6 "i3ur3h(K,<,#,@,A,B,K,#,<,@,A,B)7 )% >6 "i3ur3h(K,,,X)7
2 — Quel est le r3le du prédicat "i3ur3h/< ? I!%i&a'i! — 'n &reton : 'i7ur7hl 'ésor're en ran7ais. - — Quel sont les modes dFutilisation du prédicat "i3ur3h/< ? — @onnez la réponse du programme précédent au! questions suivantes. ommentaires ? 1% >6 "i3ur3h(K,#,<,@,X)7 )% >6 "i3ur3h(K,#,<,@,A,X)7
/ — Modiiez les cas dFarrGts du programme pour éviter les pro&lèmes o&servés 8 la question précédente. 0 — @onnez alors la réponse du programme précédent 8 la question suivante : >6 "i3ur3h(KK,#,<,X)7
PRO,RA""ATION AVEC LISTES %+ercice 17; , ue)ques -ré'icats é)é/entaires (obectif .2.7.) 1 — ans utiliser le prédicat concat, écrire le prédicat a+out_en_.in(X,Ls,LsX) vrai si et seulement si LsX est la liste o&tenue en aLoutant l0élément X en queue de la liste Ls# 2 — 'crire un prédicat lon!ueur(Ls,Lon!) vrai si et seulement si Lon! est le nom&re d0éléments de la liste $utiliser plus(X,Y,G))7 5aire l0ar&re de résolution du &ut : >6 lon!ueur(K,#,<,I)7
Ls
- — 'crire le prédicat "oule(L,LL) vrai si et seulement si LL 8 la liste L dont on aurait dou&lé tous les éléments. — 'crire le prédicat in%erse(L,:), vrai si et seulement si < correspond 8 la liste L renversée. 'n déduire le prédicat palin"rome(L) qui est vrai pour tout p alindrome $mot ou phrase% représenté sous par la liste L des lettres qui le compose. / — 'crire le prédicat a"+acent(X,Y,L) vrai si et seulement si X et Y sont deu! éléments qui se suivent dans
%+ercice 17< , 9ani-u)atin 'e )istes et arith/étique (obectif .2.7.) @ans cet e!ercice, on suppose que lFon dispose des prédicats prédéinis suivants : plus$/,*,% qui réussit si est égal 8 la somme de / et de * ois$/,*,% qui réussit si est égal au produit de / et * in$/,*% qui réussit si / est inérieur 8 *
— <1 —
( -! "ntoine et # $illaneau
L7
Logique pour l’informatique
1 — +éaliser un prédicat dFarité ) liste L.
somme(L,Somme)
qui réussit si Somme correspond 8 la somme des éléments de la
2 — +éaliser un prédicat dFarité 2 somsi!n(L,SPlus,SMoins) qui calcule les sommes respectivement des éléments positis et négatis de la liste L.
SPlus
et
SMoins
- — +éaliser un prédicat dFarité 2 somspon"(LVal,LPoi"s,Somme) qui réussit si Somme est la somme des éléments de la liste L%al pondérés par les valeurs correspondantes de la liste Lpoi"s. 4es ) listes sont donc de mGme longueur.
%+ercice 17> , 5ré.i+es et su..i+es (obectif .2.7.) 1 — "n demande d0écrire de deu! manières diérentes $directement et en utilisant le prédicat de listes% les prédicats suivants: pre.i&e(Pre.s,Liste) vrai si et su..i&e(Su..s,Liste) vrai si et
concat de concaténation
seulement si la liste Pre.s est un préi!e de la liste Liste seulement si la liste Su..s est un sui!e de la liste Liste
2 — onstruire l0ar&re de résolution des &uts pre.i&e(P,K,#,<) et su..i&e(L,K,#) pour chaque écriture. - — 'crire 2 versions du prédicat sous_liste(Sls,Ls) vrai si et seulement si Sls est une sous liste de la liste
Ls:
a+ en utilisant prédicats pre.i&e et su..i&e de la première question. + en utilisant uniquement le prédicat
pre.i&e#
&+ en utilisant le prédicat concat7 Quelle est l0écriture la plus eicace ? our vous aider 8 répondre, vous pouvez si nécessaire comparer les ar&res de résolution de sous_liste(Sls,K,#) avec ces diérentes écritures.
— MGmes questions avec le prédicat "ernier(X,Ls) qui réussit ssi X est le dernier élément de la liste Ls#
%+ercice [email protected] , %ntre -arenthèses 4*0& ' obectif .2.7.) "n se propose d0étudier des e!pressions arithmétiques composées e!clusivement d0entiers et des deu! opérateurs et , dans lesquelles les parenthésages sont complètement e!plicités. ar e!emple, on veut écrire $2$D<%%= et non pas lFécriture simpliiée $2 D<% = utilisant la connaissance des priorités entre opérateurs et . "n modélise ce t#pe dFe!pression par une liste oC p représente une parenthèse ouvrante et q une parenthèse ermante. 40e!pression donnée en e!emple est donc modélisée par la liste p,2,,q,D,,<,q,q,,=; #
Ques'i! 1 — 'crire un prédicat dFarité ) n_ou%rantes(L,IO) oC IF est le nom&re de parenthèses ouvrantes de l0e!pression. 'crire un prédicat équivalent n_.ermantes(L,I) pour les parenthèses ermantes. Ques'i! 2 — 'n déduire l0écriture du prédicat n_parentheses(E&p) qui réussit si et seulement si l0e!pression E&p a le mGme nom&re de parenthèses ouvrantes et ermantes. Ques'i! - — 'crire le prédicat sous_liste(S,L) vrai si et seulement si la liste est une sous-liste de la liste 4 au sens des sous-e!pressions de la liste représentant lFe!pression arithmétique complète. Ques'i! — 'crire le prédicat %aleur(E&pr,I) oC I est l0entier qui correspond 8 l0évaluation de l0e!pression arithmétique que représente la liste E&pr# I!%i&a'i! — Sne méthode possi&le est de remplacer récursivement des sous-listes de l0e!pression par leur valeur.
%+ercice 18B , Un été 'e canicu)e (7& ' obectif .2.7.) ar del8 la question de la responsa&ilité du gouvernement dans la gestion de la canicule quFa connu la 5rance lors de lFété )662, un autre dé&at anime aussi &ien la communauté scientiique que le monde politique : cet épisode de grandes chaleurs a-t-il pour origine le réchauement de la planète ? 4es climatologues rappellent 8 Luste titre que les accidents météorologiques e!ceptionnels ne sont pas nécessairement représentatis du climat. 1V)1 reste ainsi lFannée la plus sèche du siècle, de mGme que les pics de chaleurs de lFété 1VD> ont touLours réérence. Bl nFempGche que, depuis une dizaine dFannées, la plupart des indicateurs météorologiques se mettent au rouge et montrent que nos activités polluantes ont &ien un eet sans précédent sur le climat planétaire. @ans cet e!ercice, nous allons réaliser un ensem&le de prédicats logiques permettant le calcul de ces indicateurs. / chaque ois, on eectuera lFanal#se du pro&lème étudié avant de donner la traduction en rolog du prédicat. "n suppose
— <) —
( -! "ntoine et # $illaneau
Logique pour l’informatique
que lFon dispose des prédicats suivants : sup(Sup,9n.) plus(0,,0P) "i%(0,,N)
est vrai si up est un nom&re supérieur 8 Bn. Mode dFutilisation : $,% est vrai si /* / *. Modes dFutilisation : $,,% et $,,-% est vrai si Q, nom&re réel, est égal 8 / divisé par *. Modes dFutilisation : $,,% et $,,-%
Rep8ése!'a'i! %es &!!aissa!&es — et e!ercice porte sur les relevés de températures Lournalières mo#ennes $e!primées en degrés elsius% de la planète, o&servées tout au long dFune année. es connaissances sont déinies 8 lFaide du prédicat rele%e/# : rele%e(0n,Temp)
est vrai si Temp est la liste des températures relevées chaque Lour au cours de lFannée /n.
4e recours 8 une liste pour .emp est nécessaire du ait du nom&re varia&le de Lours dans une année $années &isse!tiles%,.
1+
Sne température est qualiiée de caniculaire si elle dépasse les 2< . ertains climatologues prévoient que le nom&re de Lours de canicule dans lFhe!agone sera multiplié par < dFici la in du B siècle du ait de lFeet de serre. "n demande de créer un prédicat I_canicule(0n,I_2ours) qui réussit si 6&Sours est le nom&re de Lours caniculaires durant lFannée "n. e prédicat devra onctionner en mode $,% et $,-%.
2+
4es modiications du climat pourraient avoir dFautres eets inattendus. ar e!emple, on redoute que la onte des calottes polaires ne modiie lFéquili&re des courants océaniques. 4a 5rance ne &énéicierait ainsi plus du climat tempéré dU au ul tream, mais pourrait connaOtre au contraire des hivers aussi rigoureu! que ceu! du Qué&ec, qui est situé 8 notre latitude. our o&server ce phénomène, on aimerait contr3ler le nom&re de Lours de gels au cours dFune année. "n demande donc de créer un prédicat I_!el(0n,I_2ours) qui réussit si 6&Sours est le nom&re de Lours de lFannée "n oC la température a été inérieure 8 6 . e prédicat devra onctionner en mode $,% et $,-%.
-+
i 1VD> reste en mo#enne lFannée qui a connu les pics de chaleurs les plus élevés, certaines villes ont néanmoins &attu ce record cette année. "n demande donc de créer un prédicat Ma&(0n,TempMa&) qui réussit si .empJax correspond au ma!imum de température mo#enne o&servé durant lFannée "n. e prédicat onctionnera en mode $, % et $,-%.
+
4Findicateur le plus ia&le de lFaugmentation des températures reste la température mo#enne au cours de lFannée. "n demande de créer un prédicat Mo$(0n,Temp) qui réussit si .empJax est la température mo#enne o&servée durant toute lFannée "n. e prédicat onctionnera en mode $,% et $,-%.
%+ercice 181 , Hassette cnstitutin 'es *ru-es 'e T5 (obectif .2.7.) haque année, la constitution des groupes dFinormatique est un vrai casse-tGte 8 l0université. 4e secrétariat de lFS5+ ciences a ainsi éta&li plusieurs listes correspondant 8 chacun des groupes constitués, ainsi quFune liste regroupant lFensem&le des étudiants inscrits. ersonne nFest cependant sUr que ces listes sont complètes et cohérentes entre elles. Eous allons écrire diérents prédicats ain de répondre 8 ces questions. 1 — P8é%i&a' non_disjoint : ei&a&i'é @ans un premier temps, on désire savoir si les groupes sont cohérents, cFest 8 dire quFils ne possèdent pas dFélèves en commun. "n déinit alors le prédicat non_"is+oint(L,L#) qui réussit si au moins un élève a été placé dans les deu! groupes. @onnez une écriture de ce prédicat.
2 — P8é%i&a's intersect e' reunion : m%e %#u'ilisa'i! "n désire maintenant savoir quelle est la listes des étudiants qui sont eectivement dans plusieurs groupes, et si lFensem&le des étudiants de deu!ième année est &ien réunis dans ces groupes. our cela :
a — 'crivez deu! prédicats inter(L,L#,L) et reunion(L,L#,L) qui réussissent si la liste 4 est respectivement lFintersection et la réunion des ensem&les dFélèves correspondants au! listes de groupe 41 et 4). — récisez, en Lustiiant votre réponse, quels sont les modes dFutilisation de ces prédicats.
%+ercice 182 , DKa/ur Ce))e /arquise "s Ceau+ 0eu+ /e .nt /urir=== (obectif .2.7.) "n désire réaliser un prédicat qui, 8 lFinstar de Molière, donne toutes les permutations possi&les au sein dFune liste 4 de mots $ou de tout autre chose%. our cela, nous allons tout dFa&ord écrire quelques prédicats intermédiaires. 1 — onstruire le prédicat
inserer(X,L,LX) qui réussit si la liste 4 correspond 8 la liste 4, dans laquelle on a inséré
— <2 —
( -! "ntoine et # $illaneau
Logique pour l’informatique
lFélément 8 un endroit quelconque.
2 — onstruire le prédicat supprimer(X,LX,L) qui réussit si la liste 4 correspond 8 la liste 4 8 laquelle on aurait enlevé un élément quelconque . - — onstruire de plusieurs manières diérentes le prédicat permutation quelconque de la liste j. ar e!emple :
permut(X,Y) qui
réussit si la liste correspond 8 une
>6 permut(K=" amour=,=elle maruise=,=%os eau& $eu&=,=me .ont mourir=, X)7 X QK=elle maruise=,=%os eau& $eu&=,=me .ont mourir=,=" amour=)7 Yes
— Kotre programme ne &oucle-t-il pas dans certains cas ? onstruisez lFar&re de résolution rolog de quelques questions &ien choisies pour le vériier.
%+ercice 187 , Qien"enue ( )KP)e 'es 5airs (5ontrôle 2002-200*/ 20&) ' obectif .2.7.) /u cours de nos [email protected] de logique, nous nous sommes souvent aventurés sur les Oles des urs et des ires. Bci, nous nous trouvons sur le ro#aume de @[email protected]&&le, le roi siamois de lFOle des airs oC tout marche par deu!. Ee supportant pas la vue de nom&re impairs, ce terri&le despote vous demande de réaliser un programme qui ne conserve dans toute liste de nom&res que la liste des nom&res pairs la composant. ar e!emple 1,<,=,V,D,; donnera en réponse =,D,;. aurezvous relever ce déi, ou serez-vous condamné 8 su&ir le supplice du dédou&lement de personnalité ? a = @onnez lFanal#se de ce pro&lème. "n précisera en particulier le découpage prédicati envisagé pour réaliser le programme. = @onnez le programme rolog correspondant. "n pourra utiliser si nécessaire les prédicats de AB-rolog, en prenant garde 8 leur modes dFutilisations.
plus/< et et?een/<
PROBLE"ES %+ercice 188 , 90the u réa)ité (7& environ ' obectifs .2.1/ .2.2) @ans les temps reculés oC eus, f assem&leur des nuées chanté par 9omère, règnait sur lF"l#mpe, deu! héros querelleurs, /tlas et 9ercule, nFavaient de cesse de comparer leur orce. /in de les départager une ois pour toutes, le ils de ronos leur proposa alors un déi : supporter la plus grande tour dFGtres humains montés les uns sur les autres. rande était la orce de nos deu! héros. i grande que douze aurores nFauraient suit 8 compter le nom&re dFhommes supportés par chacun. /ssise auprès de eus, 9éra f au tr3ne dFor lui conseilla alors de réaliser un programme rolog pour lFaider dans ce décompte. Malheureusement, les @ieu! de lF"l#mpe ont eu! aussi leurs ai&lesses, et Lamais eus ne ut en mesure de satisaire 9éra. 2666 ans plus tard, saurez-vous surpasser le terri&le f assem&leur des nuées et enin réaliser ce programme ?
Rep8ése!'a'i! %es &!!aissa!&es — 4es tours humaines seront décrites homme par homme, 8 lFaide du prédicat dFarité ) sur(X,Y) qui est vrai si supporte %i8e&'eme!' j sur ses épaules. ar ailleurs, on déinira des prédicat dFarité1 ase(X) et sommet(X) qui sont vrais si et seulement si est 8 la &ase $resp. au sommet% de la tour humaine. 4Fhomme 8 la &ase supportant donc entièrement la tour. "n suppose la p#ramide déL8 complétement décrite, 8 lFaide dFune succession de aits. ar e!emple : ase(atlas)7 ase(hercule)7 sur(atlas,menelas)7 sur(menelas,achille)7 sur(achille,hector)7 777777 sommet(prias)7 sommet(patrocle)7
"n demande dFécrire un prédicat dFarité 2 !a!nant('eros,'eros#,1a!nant) qui étant donné deu! >éros supportant une tour humaine, donne le plus ort des deu!, au sens de celui qui supporte le plus grand nom&re dFhommes. e prédicat devra Gtre utilisa&le en mode $,,-%. 4a mise en oeuvre de ce prédicat peut &ien entendu supposer la déinition dFautres sous-prédicats.
Ques'i! 1 : %é&upa>e p8é%i&a'i — "n demande de donner le découpage prédicati du programme attendu, cFest-8dire de donner lFensem&le des prédicats nécessaires 8 sa réalisation, en précisant pour chacun :
—
( -! "ntoine et # $illaneau