Vous êtes sur la page 1sur 24

Problmes et

langages
NFP108
Olivier FLAUZAC
!

http://www.flauzac.eu

Modlisation

Modlisation ?
Etape initiale de la rsolution!
Modliser!
reprsenter les paramtres!
reprsenter les donnes!
oprations ralises!
reprsentation des rsultats
3

Impact
Impact de la modlisation!
sur la complexit de dveloppement!
sur les performances!
cot daccs aux donnes!
cot mmoire!
...
4

Problme ?
Application un ensemble de donnes!
Dfinition de lensemble de dfinition!
Question gnrique!
dtermination de la parit dun
nombre!
dtermination de la primarit dun
nombre
5

Instance
Cas particulier dapplication!
Application spcifique!
32 est il pair!
21 est il impair !
...
6

Programme
Mise en oeuvre de la rsolution dune
instance problme!
Problme programme!
Plusieurs approche programme pour la
rsolution dun mme problme

Reprsenter les
informations

Langages naturels
Moyens de communication entre
individus!
Abus de langages!
Problme dambigit!
fromage ou dessert

Langages formels
Mise en place de communication!
inter processus!
inter machines!
Permettent!
la mise en forme!
le traitement des donnes!
Non ambigus!
Formaliss et rglements
10

Ensembles
Dfinitions
Un ensemble possdant un nombre fini d'lments est dit fini
Un ensemble possdant un nombre infini d'lments est dit
infini.
La cardinalit d'un ensemble est le nombre d'lments de cet
ensemble.
Un entier naturel peut tre utilis pour dcrire la taille d'un
ensemble fini.!
!

Un ensemble de cardinalit 1 est appel singleton


11

Ensembles
Dfinitions
Un entier naturel peut tre utilis pour dsigner la position
d'un lment dans une suite (ordinal).

Un ensemble infini est dnombrable, s'il peut tre mis en


bijection avec . On dit que les deux ensembles sont
quipotents.

Attention!
!

fini dnombrable
12

Alphabet
Un alphabet est un ensemble fini de symboles aussi appels
caractres.
La taille d'un alphabet est le nombre de symboles qu'il
contient.
Un alphabet de taille 3 peut tre reprsent par :!

1 = {1,2,3}

2 = {a,b,c}

3 = {,,}

4= {1,e,}

5= {html,head,body}
13

Mot
Un mot dfini sur un alphabet est une squence finie
d'lments de cet alphabet.
La longueur d'un mot est le nombre de caractres qu'il
contient. La longueur du mot w est reprsente par |w|
Un mot de longueur 0 est appel mot vide. Le mot vide est
reprsent par : e ou ou
La concatnation de deux mots v et w est le mot xdfinit par x
= v.w . Le symbole de la concatnation de deux mots estle
caractre point .
14

Mot
Un mot v est un prfixe d'un mot w s'il existe un mot u tel
que w = v.u

Un mot v est un prfixe propre d'un mot w s'il existe un mot u


diffrent de tel que w = v.u .
Un mot v est un suffixe d'un mot w s'il existe un mot u tel que
w = u.v

15

Mot
La puissance nime d'un mot w est le mot v tel que v = w.w.
.w.w n fois

Un mot v est un suffixe propre d'un mot w s'il existe un mot u


diffrent de tel que w = u.v .

16

Langage
On appelle langage l'ensemble des mots dfinis sur le mme
alphabet.
La taille d'un langage, ou son cardinal, est le nombre de mots
qu'il contient. La taille d'un langage L est not |L|.
Exemples!
Protocole HTTP!


= {A,B,C...,X,Y,Z}

L = {POST,GET,HEAD,PUT,DELETE,OPTION,CONNECT,TRACE}
Langague binaire!

= {0,1}!
le langage binaire est l'ensemble des mots que l'on peut former l'aide
des symboles de l'alphabet
17

Union de deux langages


Union de deux langages!
L1 L2 ={ w |w L1 ou w L2 }

Proprits!
!

!
!
!
!

idempotence : L L = L!
neutralit de : L = L = L!
Associativit (L M) N = L (M N)!
Commutativit : L M = M L

18

Cas de lunion de deux


langages

L1 L2 ={ w |w L1 ou w L2 }!
Question : cardinalit dune telle union!
combien dlments dans le nouveau langage ?!
|L1 L2 | = |L1| + |L2|!
|L1 L2 | > |L1| + |L2| ( ou )!
|L1 L2 | < |L1| + |L2| (ou )

19

Dmonstration
Soient L1 et L2 deux langages, prouver que si
L = L1 L2 alors |L| |L1| + |L2|!
Si w est un mot de L, alors trois cas sont possibles :!
1. w appartient L1 et L2;!
2. w appartient L1 et non L2;!
3. w appartient L2 et non L1.!
Si nous tendons ceci tous les mots de L et que nous dfinissons :!
nL le cardinal de l'ensemble des mots de L;!
nL1 le cardinal de l'ensemble des mots qui nappartiennent qu L1;!
nL2 le cardinal de l'ensemble des mots qui nappartiennent qu L2;!
nL1L2 le cardinal de l'ensemble des mots qui appartiennent L1 et L2;!

!
nL = (nL1 - nL1L2) + (nL2 - nL1L2) + nL1L2!
nL = nL1 + nL2 - nL1L2!

donc :!
|L| |L1| + |L2|
20

Dmonstration
Cardinalit de lunion de deux langages!
Soient L1 et L2 deux langages, prouver que si L = L1 L2 alors |L| |L1| + |
L2|!

!
Si w est un mot de L, alors trois cas sont possibles :#
1.#w appartient L1 et L2;#
2.#w appartient L1 et non L2;#
3.#w appartient L2 et non L1.#
Si nous tendons ceci tous les mots de L et que nous dfinissons :#
#nL le cardinal de l'ensemble des mots de L;#
#nL1 le cardinal de l'ensemble des mots qui appartiennent L1;#
#nL2 le cardinal de l'ensemble des mots qui appartiennent L2;#
#nL1L2 le cardinal de l'ensemble des mots qui appartiennent L1 et L2;#
Nous obtenons donc :#
nL = (nL1 - nL1L2) + (nL2 - nL1L2) + nL1L2#
nL = nL1 + nL2 - nL1L2#

donc :#
|L| |L1| + |L2|
21

Concatnation de deux
langages
Concatnation de deux langages#
L1.L2 = {w |w = w1.w2, w1 L1 et w2 L2 }

Proprits#
!

# neutralit de L . = . L = L#
# Associativit (L . M) . N = L . (M . N)#

22

Elvation la puissance
Ln = {w| i 0 avec ui L, w=u1.u2 ...un-1.un}

#
#
#
#

L0 = { } #
L1 = L#
Ln = Ln-1L#
Lp + Lq = Lp+q

23

Fermeture de kleene
Langage issu de la concatnation finie de
tous les mot dun langage#

Not L*
L1*= {w | k 0 et w1, ... , wk tels que w = w1.w2...wk-1.wk }

24