Documente Academic
Documente Profesional
Documente Cultură
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.!
!
Ensembles
Dfinitions
Un entier naturel peut tre utilis pour dsigner la position
d'un lment dans une suite (ordinal).
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
15
Mot
La puissance nime d'un mot w est le mot v tel que v = w.w.
.w.w n fois
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
Proprits!
!
!
!
!
!
idempotence : L L = L!
neutralit de : L = L = L!
Associativit (L M) N = L (M N)!
Commutativit : L M = M L
18
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