• Aucun résultat trouvé

Algorithmique et complexité

N/A
N/A
Protected

Academic year: 2021

Partager "Algorithmique et complexité"

Copied!
3
0
0

Texte intégral

(1)

HAL Id: hal-03212394

https://hal-univ-rennes1.archives-ouvertes.fr/hal-03212394

Submitted on 29 Apr 2021

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Algorithmique et complexité

Olivier Ridoux

To cite this version:

(2)

Pou

rqu

oi n

log 2 7

et n

× ×

log

n ?

Oninv ent era rem ent des algor ithm ese x-n ihi lo ;on appl ique plut ôtd ess traté gie

s bon stun ene ner rrég pou iser Div . ires enta élém ents tem trai es binerd com pour

exem ple quand 3con diti onsso ntr éuni es: 1.On peut div ise r toute inst anc e I (0) du probl èm een plus ieur sin stan ces I (1) tel

les . (1)I des les cel de artir àp ite tru ons rec e êtr peut (0)I de (0) S n utio sol quela

2.La somme des coû tsd ec ons truc tion etd etr aite men td es I (1) etd es coû tsd

e . (0)I e ctd dire ent tem trai de coût quele e ndr moi est (0) S de tion truc ons rec

3.On peut itér er lep roc édé enc ons truis antd es inst anc es I (j+1 ) dér ivé es

des . plus ise div nne l'o esque anc nst esi rd eni obt qu'à jus (j) I es anc inst

Ex. Stra sse n am ontr éen 1969que toute inst anc e I (0) du probl èm ed epr odui tma

- de (1)I es anc inst 7 en isée div tre aitê ouv )p ier plif sim pour k n=2 c (ave n×n iel tric

taille 2 k-1 ×2 k-1 .En ité ran t,on obt ient 7 k inst anc es I (k) ,et 7 k =7 log 2 n =n log 2 7 =n 2,81 ... . Demê me,to ute inst anc e I (0) du probl èm ed utr id' unelis te de n élé men ts (ave

c la de é oiti em ièr prem la ier àtr on faç de sée mpo déco tre utê u)pe uvea àno k n=2

liste ,pui sla sec ond e ,pui s fus ion ner les deu x.Le coût de lafu sion est prop ortion

- de (j) I es anc inst j 2 a non atio itér chaque r.À ionne fus sà liste des ueur long àla nel

trid elis tes de long ueur s 2 k-j ,so it àc haquef ois 2 k élé men ts àf usio nner. Ily

a ×log =n ×k k 2 e oncd std le tota coût etle ns, atio itér k

2 n .

Comme

ntp

eut

-on

être

dan

sNP

?

Rappe lons que P P⊆⊆ N NPP .Il n'e st don cp ase xtrao rdin aire d'ê tre dan s N NPP

;le ! N NPP ans cd don P P ans ntd iso letr let icie atr tm produi Lepl usfa meux probl èm ed e N NPP est lepr obl èm e SAT du cal cul des propo siti ons

.e .Un non ou ble aisa satisf st se iable var n à F ule rm unefo rsi ine rm éte ed gitd Ils'a sol utio nn aïve con sist eà con stru ire la tabl ed ed écis ion de F ( 2 n ligne s),

puis (2 O O s dan onc std Te .SA Vrai est ultat rés oùle ne unelig ient cont elle rsi teste

n

)

.e )d ial nom poly ile( stfac ile F e sd iable var les pour urs vale des ées onn sd foi Une

vérif ier siel les satisf ont F .SA Te std onc dan s N NPP .Et cette foi s-ci onne sait pas

si rso deu ran eg ed rdr l'o ont ed hm orit d'alg pas onnaît nec ;on P P s dan est SAT

it . pas te exis 'en iln equ' euv lapr pas n'a ison ,ma n 2 urque lle mei

SAT aune autr ep rop rié té ;il est N NPP -com ple t ( Coo k ,1971 ).Ce la sig nifi eque

tout antun tilis enu udre réso àle on faç de SAT en aduit etr êtr peut N NPP e ed èm probl

sol veurd e SAT . SAT rep rés ente don cla N NPP -ité par exc elle nce . 6

Quelques notions de calculabilité

L'effort de formalisation de la logique de la fin du XIXesiècle et du début du XXea

fait se demander ce qu'est un calcul afin de concevoir des méthodes de démonstra-tion automatique ou de vérificadémonstra-tion de preuve qui soient incontestables. En 1936, Alan Turing (1912-1954) propose un mécanisme de calcul appelé aujourd'hui Machine de Turing. Ce mécanisme comporte un ruban pour stocker des données, et des règles d'enchaînement de lectures/écritures du ruban pour calculer. On dit

qu’un jeu de règlesR réalise une fonction f(notéMM[R] = f), si à chaque fois qu'on

représente une entréexsur le ruban,Rréalise un calcul qui s'arrête avec la

repré-sentation def(x)sur le ruban. Pour certaines entrées, le calculne s'arrête pas et ne

rend donc aucun résultat; ce sont des entrées oùf n'est pas définie.

Turing démontre les trois résultats suivants (en notation moderne et simplifiée) :

1. Il existe un jeu de règlesMTUtel que pour tout jeu de règlesR, il est vrai que

M

M[MTU](R, x) =MM[R](x). Autrement dit, la machine MTU peut simuler tout jeu de

règles à condition qu’il soit représenté comme une donnée sur le ruban. On appelle

cela uneMachine de Turing Universelle, et c'est le modèle théorique de tous les

or-dinateurs. Pour ceux-ci la mémoire est le ruban, le processeur est les règles MTU, et

leurs programmes stockés en mémoire sont autant de jeux de règles de calculR.

2. Il n'existe pas de jeu de règlesHtel que pour tout jeu de règlesRet valeurv

représentés initialement sur le ruban,MM[H](R, v) = Vrai siMM[R](v) s'arrête, Faux

sinon. Le problème qui serait résolu parHs'appelle leProblème de l'arrêt(Halting

Problem). C'est le premier problème dont on ait montré formellement qu'il n'avait

pas de solution par une machine de Turing. On dit qu'il estindécidable.

3. Il n'existe pas de jeu de règlesPtel que pour toute formule𝝓𝝓ducalcul des

prédicatsreprésentée initialement sur le ruban,MM[P](𝝓𝝓) = Vrai si 𝝓𝝓 est

démontra-ble, Faux sinon. Turing démontre cela en montrant que si une telle machine existait on pourrait s'en servir pour résoudre le Problème de l'arrêt en le modélisant dans la

logique du calcul des prédicats.Le calcul des prédicats est donc lui aussi

indécida-ble. Cette méthode de preuve, dite parréduction, est typique de l'algorithmique.

On pourrait objecter à ces résultats négatifs qu'ils viennent peut-être de ce que les machines de Turing ne constituent pas un mécanisme de calcul assez puissant. Il n'y a jamais eu de preuve du contraire, mais un faisceau de présomptions extrêmement fort. En effet, à partir de 1936 un très grand nombre de mécanismes alternatifs ont été proposés, d'une variété extraordinaire, mais ils se sont tous montrés

équiva-lents aux machines de Turing. On en conjecture ce qu'on appelle laThèse de

Church-Turingqui dit essentiellement que tout ce qui peut être calculé peut l'être

par une machine de Turing, et donc par tout autre mécanisme équivalent. 3

Algorithme, recette, etc.

Le nomd'algorithmevient d’un hommage très ancien au mathématicien persan

Al Khwarizmi(~780 − ~850). Celui-ci a, entre autres, étudié et développé la

repré-sentation positionnelle des nombresqui avait été découverte en Inde. Ses écrits

traduits en latin ont fait connaître cette méthode en Europe à partir du XIIesiècle.

L'usage de la notation positionnelle et des opérations associées était tellement

révolutionnaire par rapport à l'utilisationd'abaquesque cette méthode a reçu

globalement le nomd'algorithmie, en hommage à celui qui l'a fait connaître, mais

cela n'a pas beaucoup à voir avecl'algorithmique moderne. Le mot a ensuite été

utilisé pour toute méthode de calcul systématique jusqu'à ce que la notion

mo-derned'algorithmeapparaisse au premier tiers du XXesiècle avec les travaux de

Hilbert,Ackermann,Gödel,Turing,Church,Post, etc.

On entend souvent qu'un algorithme est une sorte derecette de cuisine, mais la

plupart des recettes de cuisine font appel au jugement de l'opérateur et ne sont

donc pas des algorithmes : ex.blanchir des œufsoufaire suer des oignons. La

cuisine industrielle est peut-être algorithmique, mais qui voudrait s’y comparer ?

Historique

Les premières présentations connues d'algorithmes, découvertes sur des

tablet-tes d'argilesumériennes, ne distinguent absolument pasproblème,instanceet

algorithme. Un algorithme y est présenté par l'exemple de la résolution d'une instance d'un problème. Cela paraît archaïque, mais à l'école nous n'avons pas appris autrement les quatre opérations : nous avons répété sans relâche des exer-cices de résolution d'instances des problèmes de calculer une somme, une diffé-rence, un produit, ou un quotient. Nous avons ainsi appris à calculer, mais nous n'avons pas appris à exprimer des algorithmes, et encore moins à réfléchir sur leurs propriétés. C'est pourtant ce second savoir qui est important pour un

infor-maticien car, comme le ditDavid Harel, c'est leSpirit of Computing(voir

biblio-graphie). Et on peut aussi penser que dans un monde fortement informatisé, ce second savoir serait profitable plus largement qu'aux seuls informaticiens.

Cet état de fait archaïque a duré jusque vers le XVIesiècle à partir duquel sont

ap-parus progressivement les éléments des notations mathématiques modernes :

variables,opérateurs,expressions, etc. Mais ce n'est qu'au XXesiècle que les

concepts modernesd'itération, deconditionnelle, derécursion, etc., sont

appa-rus en tant que tels.

2

Introduction à la théorie de la complexité

La théorie de la complexité a pour objet de déterminer lecoût d'exécution des

algorithmes et le coût de résolution des problèmes. Le coût s'évalue le plus

souvent entemps de calcul, parfois enmémoire utilisée, mais pourrait décrire une

autre dimension, commel'énergie. Le coût dépend évidemment del'instancedu

problème considéré. Ex. il est plus facile de calculerla somme de 12 et 13que celle

de16578 et 87659. Donc ce n'est pas tant le coût qui est évalué que la façon dont il

dépend des instances. Cela se représente par une fonction d'une caractéristiquen

des instances (ex.nest le nombre de chiffres) vers le coût :caractéristique → coût.

Il reste une difficulté. Le but de tous ces efforts est de comparer des algorithmes entre eux (lequel est le plus efficace ?) ou bien des problèmes entre eux (lequel est le plus difficile ?). Pour que cette comparaison soit équitable elle ne doit pas dépendre des détails d'une mise en œuvre. Du coup, ce n'est pas la fonction

caractéristique → coûtqui nous intéresse mais laforme de son graphe, capturée

dans la notiond'ordre de grandeur. Un ordre de grandeur est une caractéristique

de fonction de coût, et donc un ensemble de fonctions qui ont la même

caractéristique. Un des ordres de grandeur les plus utilisés se noteOO(f) pour

désignerl'ensemble des fonctions qui ne croissent pas plus vite que f. Ex.OO(n2)

désigne l'ensemble des fonctions qui ne croissent pas plus vite quen2.

Formelle-ment cela s'écritg = OO(f) (à lireimpérativement g ∈ OO(f), ou f domine g), ssi

∃N.∃C.∀n>N.[ g(n) ≤ C×f(n) ]. On y lit quefest

On peut montrer queOO(f) =OO(c×f)sicest une constante ou queOO(f) =OO(f++g)si

g=OO(f). Un ordre de grandeur ne dépend donc pas des facteurs constants ni des

ajouts d'ordres de grandeur plus faibles. En particulier,OO(logax) =OO(logb x) =

O

O(log xa) =OO(log xb), pour toutaetb; on peut donc oublier la base du logarithme.

Très souvent, les ordres de grandeur s'expriment à l'aide de fonctions simples :

élé-vation à une puissance (nc), logarithme (log n), exponentielle (bn), ou des produits

de fonctions simples (ex.n×log n), oùnest la taille de l'instance.

4

Même

pas

peu

rd

eNP

!

Appa rte nir à N NPP n'e st pas unem auvais en ouv elle enso it. Cequi est inqui éta

nt obl espr sd leca 'est .C P P irà ten par 'ap ird spo d'e peu avec N NPP irà ten par 'ap std c'e è- N NPP é ontr dém été avoir eà èm probl ier rem lep est SAT . ets mpl -co N NPP mes

- ès etr xd ieu arm etp été, ussi ta 'on esl lèm rob ep ainesd cent des ite sasu .À t ple com

nom breux pro blè mes de gran de impo rtan ce prat ique .En voi ciune sél ectio n: •T SP ( Tra veling Sal esm anP rob lem –P robl èm ed uvo yag eur de comme rce ):

soit ek anc dist (ex. ent épar ss quile es anc dist es ed donné ),la illes nv x. s(e point n

ilo

- int npo d'u art quip min che rt cou lus lep er ouv ),tr ge oya uv td coû ou ue riq mét choi sià l'av ance ,p asse par tous les point set rev ien tau point de dép art . •C OL ( colo ria ge de gra phe ): soit un gra phe à n somme ts, trou ver lep lus pet

it on faç telle de he grap du mmets sso rle orie col de ette erm quip s eur coul de bre nom

qued eux somme ts vois ins aient tou jou rs des coul eur sd iffér entes .C 'est lep roto

- es. ourc ress de ion cat 'allo oud ion ificat plan de mes blè pro de type

•KP ( Knaps ack Pro blem –P robl èm ed usa c-à -do s): soit un cont ena nt (ex. un

sac- etune e um vol arun sp risé cté cara ets obj es etd tre), enli (ex. aci cap ),sa s à-do

vale ur ,tr ouv er unc harge ment du sac quir espec te sac apacité etso it de vale

ur n. ectio sél de mes blè pro de type roto lep 'est .C e mal maxi

Ces pro blè mes for malis ent des quest ions auxq uelle sil sera it extr êmem ent

utile rosse èsg etr urd épo alit enré lus réso tre àê ent and em ilsd eset ons rép des voir d’a

s ? ets mpl -co N NPP nt ilsso qu' lefait érer sid con oit-on ntd Comme es. anc inst •T enter sac hanc e :e ssaye ren espér ant queça passe .C 'est cequ' on fai t,a

vec ée. frén nef titio mpé uneco td’ obje tl’ fon ers solv SAT .Les SAT pour té, tili sub

•A ccep ter des qua si-s olut ions :ne plus rec her cher les rép ons es opt im ale s ,ma

isè- probl les pour es iqu rist heu s bonne très de te exis .il .Ex bles epta acc es ons rép des

mes listé s.L 'une d'e lle sc onsi ste àc ons tru ire pro gre ssive men tle sé lém ent sd'

une jam ans es rabl avo usf lepl ment rem appa oix lech rs jou tou sant fai een ons rép

ais TSP pour Ex. ). rie utonne glo la ique ist heur cette pelle nap s(o dessu enir rev

, sub- 'est re.C rend s'y ant,et cour point du oche uspr lepl int lepo isir cho rs jou tou

opt imal car par fois ilva ut mieu xf aire maint enant unch oix moin sf avo rabl e(u

n ce). crifi usa ed éfic bén (le tard plus ble ora fav plus oix unch met per )qui ifice sacr

•U tili ser un qua si-a lgorit hm e :u tilis er des mét hod esd 'op tim isat ion

comme tellig l'in e esd hod mét des ,ou ulé sim uit rec le ,ou tique géné ique hm orit l'alg

ence ). ning lear deep ( ond rof ep sag ntis pre l’ap comme lle ificie art

Dans tous les cas, ile stso uven tn éce ssaire de réso udre des inst anc esd ep rob lèm

es s. yen smo ntle ena enpr ,en ire lefa erà ésit ash utp nefa etil ets mpl -co N NPP 7

Conc

lusi

ons

etp

ersp

ectiv

es

La pen sée alg orit hm ique est au ur de l'in for mat ique .To uttr aite men tau tom

atisé géné age 'us ed langag de pas xiste n'e ,il ndant Cepe es. hm orit esalg ed œuvr meten

- nota àune aislié tjam 'es en hm orit unalg it, Enfa es. hm orit esalg rd note pour isé ral

- ces car es mm gra pro des nt ère diff es hm orit salg ,le cela .En ept conc un 'est ,c tion

der nie rs sont liés aux langag es de pro gram mat ion dan sle squ els ilsso nté crits

.Les . mes am rogr esp nsd ctio tra abs des ien ntb esso ithm algor

Lap ens ée algor ithm ique cont ient entr ea utr esd esél émen tsd estr até gie (ex. div ise

r ure post de ents élém des même ,et es) hm orit tsalg len cel 'ex nned quido ner rrég pou

quasi polit ique (ex. rép éter une act ion loca lep our un effe tg lob al ,ou lab onn

e ). e hm orit alg bon itle nfa tio enta rés rep

Enf in, lapr atique algor ithm ique doi tê tre empr eint ed ep rag mat ism e.Un algor ithm

e surle eur eill itm sera equi hm orit unalg éà fér pré tre utê repe ioc méd xité ple com de

pap ier. Ex.1 ,l' algor ithm ed u SIM PLE X pour réso udre les sys tèm esd '(in )éq uat ion slin éaire

s re- casra pire stun c'e mais cas, des pire ansle lled ntie one exp xité ple com de est :il

ment réa lisé ;il est sou ventp réf éré àd es algor ithm es poly nom iaux plus mod

ernes e. œuvr een mettr ileà fac plus est caril

Ex.2 ,l' algor ithm e quicks ort pour le tri :il n'e stp aso ptim alen théo rie ,ma is ile

st . ique prat nten elle exc

Bib

lio

gra

phi

e

•« On Com putable Num ber sw ith an App licat ionto the Ent sch eid ung spr obl em

», ). y,2008 ile (W old etz »,P uring dT ate Annot The s« dan lire ),à (1936 ing Tur

•« The Feel ing ofP ow er »,A sim ov (1958

). iso (Add aase »,B s ithm lgor rA pute Com •«

n-W esle y,1983

). Alg « »et do 't can lly rea they what LTD, rs pute Com •«

orithm ics, The Spirit

of ). y,1987 esle n-W iso Add 2003,et (OUP, rel »,Ha g putin Com

•« The new Tur ingOm nibus »,D ewd ney (Ow lB ooks,

2001). lgor ofA lysis Ana and ign Des the nto ctio rodu Int •«

ithm s », Leviti n( Add iso n 2003). ey, Wesl •« Pet ite intro duct ion àl' alg orit hm ique »,D am phous se (El lip ses ,2005

). d,2008 (Duno tes Lesven xet Ridou », é bilit lcula s,ca cul cal urs, ate cul Cal •«

). « aussi voir 2011), ger, prin .(S etal ing öck »,V ged nplug sU orithm Alg •«

Alg orith

- . us) hm orit /~alg .de hen th-aac ik.rw mat for .in -i1 »(www oche esW musd

•« Alg orithm sU nlocke d »,Co rme n(M IT Pre ss, 2013). 8 N f g C´´f

dominé pargssi au delà d'un seuilN, on peut

trouver un facteurC, tel quegest toujours

sous C×f. Remarquer que en aucun cas

g =OO(f) ne signifie que g est inférieure à f ou que g tend vers f !Ex.cos(n) =OO(n). D'autres

expressions d'ordre de grandeur sont 𝛀𝛀(f)

pour les fonctions qui dominent f, et𝚯𝚯(f)

pour lesfonctions qui dominent f et sont

dominées par f, et d'autres encore.

Ordres de grandeur et algorithmes

Considérons l'algorithme deproduit matricielqui effectue les produits scalaires

des lignes d'une matrice par les colonnes de l'autre. Pour des matrices de taille

n×n, il calculen2coefficients qui chacun demande de fairenproduits

élémen-taires. Il fait doncn3produits élémentaires. Le problèmeproduit matricielest

donc dansOO(n3), mais on peut aussi affirmer qu'il est dans𝛀𝛀(n2) car il y a

n2coefficients à calculer. Le𝚯𝚯du coût intrinsèque du problème est donc entren2

etn3. On connaît des algorithmes qui font moins den3produits, et plus quen2,

mais on ne connaît pas le𝚯𝚯de ce problème, pourtant assez banal.

Voici des ordres de grandeur et des problèmes et algorithmes qui les illustrent :

log n: la recherchedichotomique(ex. comme dans un dictionnaire).

n(=linéaire) : la recherche séquentielle (ex. comme dans un livre sans index).

n×log n: unOOet un𝛀𝛀du coût du problème du tri par comparaison-échange,

donc le coût intrinsèque de ce problème, son𝚯𝚯.

n2(=quadratique) : le pire des cas de l'algorithme dutri rapide(quicksort),

donc son𝚯𝚯. Ce n'est donc pas un algorithme optimal pour le problème du tri.

nlog27= n2,81…:l’algorithme de Strassenpour le produit matriciel.

n3: l’algorithme usuel pour le produit matriciel.

nc (=polynomial) : ordre de grandeur des coûts qualifiés de supportables,

même si un coût den100est certainementexorbitant.

bn (=exponentiel) : ordre de grandeur de coûts qualifiésd'insupportables.

Noter que des coûts bien plus élevés sont possibles et fréquents en pratique.

On appellepolynomiaux(on notePP) les problèmes dontmmmmmmmmiiiiiiiii

l'ordre de grandeur du coût est dominé par un polynôme.

Pour certains problèmes on ne connaît pas de solutionmmmmmmmmmmmii

polynomiale, mais on saitvérifieren temps polynomialmmmmmmmmmmmii

qu'une proposition de réponse est correcte. On dit qu'ilsmmmmmmmmmmiiii

sont dansNNPP. Ex. on ne connaît pas d'algorithme polyno-mmmmmmmmmiiiii

mial pour calculer les facteurs premiers d'un nombre, mais ilmmmmmmmmmiii

est facile de vérifier que des nombres sont les facteurs d'unmmmmmmmmi

autre ; il suffit de les multiplier, ce qui a un coût polynomial.

P

P ⊆⊆ NNPP, carcalculer la réponsepermet devérifier une réponse proposée, mais

on ne sait pas siPPNNPP. C'est une des grandes questions ouvertes des

mathé-matiques du XXIesiècle, même si le consensus est plutôt quePPNNPP.

5 problèmes décidables P P N NPP

Alg

orit

hm

iqu

e

xité

mple

etco

Oliv

ier R

idou

x -2020

Int

rod

uct

ion

Les alg orit hm es sont l'ab str actio nd esp roc édu res quem ette nten œuvr eles

sys- d'u es tanc ins des udre réso de yen lemo est e hm orit alg s.Un ique mat for esin tèm

n un par ent em jug ans d.s -à- ,c atique om aut l calcu de ode éth unem par me blè pro opé rat eur .Ex .ca lcu ler le pro dui td ed eux entier sen nota tio nd écim ale est

un e,et hm orit unalg est le éco àl' pprise na atio lic tip mul de ode éth lam me, blè pro

123× 45 est unein stan ce. Pro blèm e n'e std oncp assyn onym ed e diff icu lté .N ote

r e. èm probl du tion ica écif lasp de tie par fait ées onn esd nd tio enta rés rep quela

Plu sie urs algor ithm espe uvent réso udre lemê mepr obl èm e.Se pose alors laque

s- ure mes d.une -à- ,c xité ple com r leu est ble possi ère crit .Un parer com les de tion

du coût de les exéc uter pour réso udre unein stan ce ( com ple xité n'e st pas

non usab npl stio uneque ent em iat méd im re enti ).On ! lté icu diff e ed onym syn plus

s- nt lve éso uir esq hm orit alg urs lle mei des dre atten xité ple com lle Que est tequi trai

un pro blè me don ? Ons' int ére ssealo rsà unep rop rié té int rins èque des probl

è- ion mat ram rog ep ed gag e,lan œuvr sen mise ies log hno tec des nte penda indé mes,

oum achine d'e xéc utio n,y com pris des tec hno log ies quires ten tà déc ouv rir. L'appr oche de l'alg orit hm ique cho isie ici est don cc elle d'une scie nce des rel

a- de ie éor lath ussi ca don ra rde abo .On es hm lgorit eta mes blè pro tre sen tion

la nt n'o s, osé np bie tant pour es, lèm rob ainsp ert quec er ontr urm ,po é labilit calcu

pas de sol utio na lgorit hm ique .En cese ns, cette scie nce joue lerô le des thé orie

s as ,p uel pét per ment uve emo asd :p ierie gén l'in sà limite des ent fix squi physique

de tem pér atu re end esso us du zéro abso lu,p asd ev ite ssepl usg ran de quec

elle out rt pou atique utom na tio tra ons dém de pas aussi is .,ma etc re, miè lalu de le rla pou cas sles tou ans ced ffica ete ale im opt ion lut eso nid , ts dica pré des cul cal pla nifi cat ion aut om atique ,e tc. 1

(3)

Mode d'emploi :

Lire cette page de prérequis, calcul et logique, comprendre, apprendre le cas échéant.

Préparer les plis (voir traits

gris

rentrants et traits

rouges

saillants au verso de cette page).

Découper selon le trait rouge entre les deux du verso de cette page, puis achever le pliage.

1 2 3 4 5 6 7 8

N'oubliez jamais !

Un modèleest toujours imparfait, parfois utile, et

c'est tout ce qu'on peut lui demander (d'après George Box 1978, voir aussi les cartes à l'échelle 1/1 de Jorge Luis Borges 1946 et Lewis Carroll 1893 qui sont parfai-tes et inutiles, parfaitement inutiles).

L'informatique ne travaille que sur lareprésentation

des choses ; il lui faut des capteurs et des actionneurs pour toucher les choses. Par contre, travailler sur des représentations de représentations de … est courant.

Par exemple,440est une représentation d'un entier

qui peut être la représentation de la mesure d'une

fréquence, tout comme1B8, etLa3pourrait être une

autre représentation de la même fréquence. Il faut toujours se demander ce qui a du sens par rapport à ce qui est modélisé.

3

3⃣⃣

Idiomes logiques

En pratique, on n'utilise pas n'importe quelle formule de la logique des prédicats. On a tendance à utiliser des imbrications de quantificateurs et de connecteurs qui sont idiomatiques et qu'il convient de reconnaître et interpréter correctement au premier coup d'œil.

Quantifications dans un domaine : Très souvent, on écrit des formules comme ∀∀x ∈∈ E . ff(x) ou ∀∀x tq yy(x) . ff(x). Les x ∈∈ E et tq yy(x) sont une façon de dire dans quel domaine doit être évaluée la quantification.

Ces formules doivent être lues ∀∀x . [x ∈∈ E ⟹⟹ ff(x)] et ∀∀x . [yy(x)⟹⟹ ff(x)]. Une conséquence directe est qu'une quantification universelle sur un domaine vide est trivialement vraie. Cela paraît une situation

étrange, mais c'est banal en algorithmique, spécialement quand on considère les cas d'initialisation : ex. Tous les utilisateurs sont … lorsqu'il n'y a pas d'utilisateurs. De la même façon, on écrit des formules

comme ∃∃x ∈∈ E . ff(x) ou ∃∃x tqyy(x) . ff(x). Ces formules doivent être lues ∃∃x . [x ∈∈ E∧∧ ff(x)] et ∃∃x . [yy(x)∧∧ ff(x)]. On voit alors qu'une quantification existentielle sur un domaine vide est trivialement fausse.

Cascades de quantifications : On imbrique souvent les quantifications. Certaines imbrications doivent faire réfléchir, et d'autres moins.

•∃∃x . ∃∃y . ff (x, y) est équivalent à ∃∃y . ∃∃x . ff (x, y) qu'on note souvent ∃∃x, y . ff (x, y) ; l'ordre des quantificateurs ne compte pas.

•∀∀x . ∀∀y . ff (x, y) est équivalent à ∀∀y . ∀∀x . ff (x, y) qu'on note souvent ∀∀x, y . ff (x, y) ; l'ordre des quantificateurs ne compte pas non plus.

•∀∀x . ∃∃y . ff (x, y) exprime que pour chaque x il y a un y, qui peut dépendre de x, qui a la propriété désirée. Ex. dans ∀∀x .∃∃y . [x××y== 0], le même y convient pour tous lesx, mais dans ∀∀x . ∃∃y . [x ×× y == 1], à

tout x correspond un y différent. Un y existentiel est donc implicitement une fonction de tous les x universels qui le précèdent.

•∃∃x . ∀∀y . ff (x, y) exprime qu'un x unique a la propriété désirée pour tous les y. Ex. ∃∃x . ∀∀y . [x ×× y == 0] est vrai, mais pas ∃∃x .∀∀y . [x××y == 1]. On voit donc que lorsqu'il y a une alternance de quantificateurs

l'ordre compte ! Ces alternances sont l'essence de nombreuses définitions importantes en mathématiques (ex. continuité, convergence) et en informatique (ex. ordres de grandeurs au verso de cette page).

2

2⃣⃣

Calcul des prédicats

Dans sa définition la plus naïve le calcul des prédicats est la formalisation de la logique employée tous les jours dans les activités un peu scientifiques. Elle permet d'exprimer des jugements sous forme de formules, et de décider formellement si ils sont vrais ou faux. Les formules de la logique des prédicats sont formées des

connecteurs du calcul des propositions (ex. ∧∧, ∨∨, ¬¬, et ⇒⇒) et des quantificateurs ∀∀ et ∃∃.

Formules quantifiées : Ce sont des formules, élémentaires ou non, dont la valeur de vérité s'évalue par rapport à un ensemble d'objets, plutôt que par rapport à un

objet. Syntaxiquement, une quantification lie une variable, comme le font ∫∫... ddx ou ∂∂.../∂∂x. Sémantiquement, les quantifications sont définies comme suit :

• quantification universelle, ∀∀x . ff (x) : constitue une formule qui est vraie ssi ff est vraie de tous les éléments du domaine. Si le domaine est fini, la quantification

universelle est juste une conjonction des applications de ff à tous les éléments du domaine.

• quantification existentielle, ∃∃x . ff (x) : constitue une formule qui est vraie ssi ff est vraie d'au moins un élément du domaine. Si le domaine est fini, la quantification

existentielle est juste une disjonction des applications de ff à tous les éléments du domaine. Parenthèses et priorité des opérateurs : Il est courant d'assigner des priorités d'opérateurs aux différents connecteurs et quantificateurs afin de spécifier comment se lisent les formules complexes en l'absence de parenthèses. C'est utile mais absolument pas fondamental car ces conventions dépendent trop des outils, et même quand ce n'est pas le cas, il n'est jamais très prudent de se reposer trop lourdement sur les priorités des opérateurs quand le coût de quelques parenthèses est si faible devant le coût d'une grosse erreur. Ce genre d'expertise est à réserver aux experts. Il vaut mieux ne pas être avare de parenthèses, ex. utiliser les parenthèses rondes ((…)) pour structurer les connecteurs, et les parenthèses carrées (ou crochets, […]) pour les quantificateurs. a b c (a∨∨b)∧∧c

Vrai Vrai Vrai Vrai

Vrai Vrai Faux Faux

Vrai Faux Vrai Vrai

Vrai Faux Faux Faux

Faux Vrai Vrai Vrai

Faux Vrai Faux Faux Faux Faux Vrai Faux Faux Faux Faux Faux

a a∨∨¬¬a Vrai Vrai Faux Vrai a a∧∧¬¬a Vrai Faux Faux Faux t f 64 32 16 t f 256 128 64 32 16 8 4 2 t f 16 8 4 2 1 2 4 8 16 32 32 16 8 4 2 1 t f

1

1⃣⃣

Calcul des propositions

Propositions atomiques (ou atomes) : Ce sont des formules élémentaires à qui on peut attribuer une valeur de vérité, Vrai ou Faux. On les note souvent par des

lettres minuscules : ex. a, b, c.

Formules propositionnelles : Ce sont des formules, élémentaires ou non, qui sont reliées par des connecteurs logiques, généralement ∧∧, ∨∨, ¬¬, ou ⇒⇒.

• conjonction, ff1 ∧∧ ff2 : relie deux formules pour en former une troisième qui est vraie ssi les deux premières le sont. Le connecteur ∧∧ est commutatif, associatif, et a

pour élément neutre la valeur de vérité Vrai. Cela permet la notation de conjonction étendue comme i ∈∈ [1,n] ffi. Si on convenait que Faux << Vrai, ff1 ∧∧ ff2 serait le

minimum de ff1 et ff2. Si on convenait que Faux == 0 et Vrai == 1, ff1 ∧∧ ff2 serait ff1 ×× ff2.

• disjonction, ff1 ∨∨ ff2 : relie deux formules pour en former une troisième qui est vraie ssi au moins une des deux premières l'est. Le connecteur ∨∨ est commutatif,

associatif, et a pour élément neutre la valeur de vérité Faux. Cela permet la notation de disjonction étendue comme ⋁i ∈∈ [1,n] ffi. Si on convenait que Faux << Vrai,

ff1∨∨ ff2 serait le maximum de ff1 et ff2. Si on convenait que Faux == 0 et Vrai == 1, ff1 ∨∨ ff2 serait 1 -- (1--ff1) ×× (1--ff2).

• implication, ff1 ⇒⇒ ff2 : relie deux formules pour en former une troisième qui est fausse ssi ff1 est vraie alors que ff2 est fausse. Le connecteur ⇒⇒ n'est ni commutatif ni

associatif. Si on convenait que Faux << Vrai, ff1 ⇒⇒ ff2 serait Vrai ssi ff1 ≤≤ ff2 .

• négation, ¬¬ ff : constitue une formule qui est fausse ssi ff est vraie. Si on convenait que Faux == 0 et Vrai == 1, ¬¬ ff serait 1 -- ff .

Satisfaisabilité : les formules du calcul des propositions peuvent être vues comme

des fonctions des variables qu'elles contiennent :{Vrai, Faux}n{Vrai, Faux}pour

une formule qui comptenvariables. On peut représenter chacune de ces fonctions

par unetable de vérité. Il s'agit d'un tableau comportant2nlignes, etn+1 colonnes.

Dans leursn premières colonnes, les lignes représentent toutes les entrées

possi-bles (appeléesvaluationsdes variables), et dans leurn+1-ème colonne, elles

repré-sentent ce que vaut la fonction pour cette entrée. Ex. les formules(a∨∨b)∧∧c,a∨∨¬¬a,

eta∧∧¬¬apeuvent être représentées par les tables de vérité ci-contre.

On peut remarquer que toutes les lignes de la table dea∨∨¬¬aont la valeurVraien

position de résultat ; on dit que cette formule est unetautologie, elle vautVrai

pour toutes ses entrées. Toutes les lignes de la table dea∧∧¬¬aont la valeurFaux;

on dit que cette formule estcontradictoireouabsurde. Finalement, les lignes de la

table de(a∨∨b)∧∧cont soitVraisoitFaux; on dit que cette formule estsatisfaisable

(bien sûr, les tautologies sont aussi satisfaisables). Il est souvent intéressant de

savoir pour quelles entrées une formule vautVrai.

2

2⃣⃣

Sommations

La somme et le produit étant des opérations associatives, commutatives et ayant chacune un élément

neutre, on peut se permettre des notations de sommes et produits itérés : ∑∑i ∈∈ [bi bs] ti et ∏∏i ∈∈ [bi bs] fi où les ti

et fi sont des termes et facteurs dépendants de i. Si l'intervalle des indices est vide (ex. [0 0[) la valeur

conventionnelle de l'expression est l'élément neutre de l'opération, ex.0pour la somme et 1 pour le

produit, mais aussi Faux pour la disjonction (∨∨), qui est une sorte de somme, et Vrai pour la conjonction

(∧∧), qui est une sorte de produit.

Certaines sommations doivent être connues ; il est même bon de savoir les retrouver :

•∑∑i ∈∈ [1 n] i : somme des n premiers entiers (c-à-d. de 1 à n). C'est égal à n ×× (n+1) / 2. Ex. ∑i ∈ [1 17] i = 153.

• ∑i ∈ [0 n[ xi : somme des n premières puissances de x (c-à-d. de x0 à xn-1). C'est égal à (xn – 1) / (x – 1).

Ex.∑∑i ∈∈ [0 n[ 2i == 2n – 1.

Il est bon aussi de se rappeler quelques transformations élémentaires :

•∑∑i ∈∈ [0 n[ (k ×× ti) == k ×× ∑∑i ∈∈ [0 n[ ti et ∑∑i ∈∈ [0 n[ k == k ×× n , si k ne dépend pas de i.

•∑∑i ∈∈ [0 n[ (si ++ ti) == ∑∑i ∈∈ [0 n[ si ++ ∑∑i ∈∈ [0 n[ ti . Attention, rien de tel pour ∑∑i ∈∈ [0 n[ (si ×× ti) !

1

1⃣⃣

Puissances, racines et logarithmes

La nème puissance d'un nombre x, notée xn, est le produit de n copies de ce nombre. La racine nème d'un nombre x, notéen√x, est un nombre y tel que

yn== x, soit de quoi x est le produit de n copies ; y est en général irrationnel. Par exemple, 122 == 1.05946... est le rapport des fréquences de deux notes

de musique séparées par 1 demi-ton ; c'est de quoi 2 (le rapport de fréquence d'un octave) est le produit de 12 copies (les 12 demi-tons de l'octave). Initialement conçues pour n à valeur entière, ces opérations ont été progressivement généralisées par continuité à toutes sortes de nombres, si bien que

puissances et racines sont maintenant deux instances du même concept. On montre que xa++b == xa ×× xb et xa××b==(xa)b==(xb)a, que x−n==1/xn et

x1/n==n√x, et que xa/best un nombrey tel que xa==yb.

Le logarithme en base b d'un nombre x, noté logb x, est un nombre y tel que by == x, soit de quel nombre de copies de b x est le produit ; y est en général

non-algébrique, c-à-d. pas racine d’un polynôme à coefficients rationnels. On montre que logb x est strictement croissante, que logb1 == 0 et logb b == 1,

que logb (x××y) == (logb x) ++ (logb y), que logbx==(logb'x)×× (logb b’), et que xlogb y == ylogb x. Noter que en général logbx≪≪ x. Par exemple, le logarithme en

base 10 d'un nombre est à peu près le nombre des chiffres de sa représentation décimale : 1,95... pour 90, 2,99...pour 990 et 5,999... pour 999000.

L'erreur faite en arrondissant un logarithme a un entier voisin est bornée de la façon suivante : n ≤≤ b⎡⎡logb n⎤⎤ << b××n et n/b << b⎣⎣logb n⎦⎦ n. Par exemple,

4≤≤2⎡⎡log2 4⎤⎤ << 8, 7≤≤2⎡⎡log2 7⎤⎤ == 8 < 2××7 == 14, 8/2 == 4 << 2⎣⎣log2 8⎦⎦ ≤≤ 8, et 5/2 == 2,5 << 2⎣⎣log2 5⎦⎦ == 4 ≤≤ 5. Noter enfin que pour tout δδ ≥≥ 0, limx⟶⟶∞xδδ/logb x == ∞∞ ;

une puissance finit toujours par dépasser un logarithme.

Le logarithme permet des changements de variable intéressants. Quand un phénomène a une dimension qui croit par multiplication d'un facteur

constant à chaque pas de temps, par exemple, loi de Moore, multiplication par 2 de la capacité des disques durs tous les 2 ans, doublement du nombre

de grains de riz à chaque case de l'échiquier, on dit qu'il a une croissance exponentielle. Ces phénomènes sont difficiles à représenter graphiquement

car le rapport entre les plus petites valeurs et les plus grandes est énorme : par exemple, plusieurs millions sur l'histoire des capacités des disques durs,

c'est-à-dire beaucoup plus que le nombre de points d'impression sur la hauteur d'une page A4.

Le changement de variable (t, f(t))⟶⟶(t, logb f(t)), c-à-d. afficher logb f(x) plutôt que f(x) à l'abscisse x, rend le graphe de f plus lisible et l'hypothèse de

croissance exponentielle facile à vérifier si les points s'alignent sur une droite ; on appelle cela la projection lin××log.

On peut aussi convenir du changement de variable (t, f(t)) ⟶⟶ (logb t, logb f(t)), c-à-d. afficher logb f(x) à l'abscisse logb x plutôt que f(x) à l’abscisse x

pour former la projection log ×× log. Son avantage est que le graphe des phénomènes de croissance polynomiale y tend vers une droite dont la pente est

Références

Documents relatifs

Trois jeunes couples - dont les partenaires ont le même âge - sont partis en vacances ensemble.. Retrouvez les partenaires de chaque couple, ainsi que

Ils sont alors obligés de prendre un autre cap avant de virer vers la bouée d’arrivée, qui est aussi la bouée de départ.. Doc

 Lorsque vous sautez d’un plongeoir ou d’une chaise, vous tomber du fait de votre poids car la pesanteur terrestre vous fait tomber vers le sol. S’il n’y avait aucun

Pratiquement toute la surface de la Terre a été calcinée alors ça ça s’est produit dans les quelques heures qui ont suivi et pendant toute cette période tous les animaux qui

Pour avoir des chances de pouvoir établir une correspondance précise entre les nombres d'opérât ions et le temps d'exécution il semble nécessaire de suivre la démarche proposée

Ainsi, les sols profonds et fertiles du Plateau suisse conviennent tout particulièrement à la produc- tion de denrées alimentaires ; toutefois, même si cette fonction doit

3- Quel effet aurait sur la position de chaque bande l’utilisation de l’hexane comme solvant au lieu de l’éthanol?. Justifier

Sans même avoir le nombre de voix obtenues par Mouloud, son professeur de mathématiques lui fait remarquer qu’il s’est