WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mécanisme multicritère de découverte de services dans les grilles de calcul

( Télécharger le fichier original )
par Marie Héléne Mballo
Université Cheikh Anta Diop de Dakar - Diplôme d'étude approfondie 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

En effet cette complexité dépend du nombre de noeuds logiques du niveau 3 et du niveau 1.

4.1.3.2 La recherche au sein de l'arbre

La recherche de services dans notre arbre se fait de façon dichotomique de la gauche vers la droite puisque les noeuds de chaque niveau sont classés suivant un ordre lexicographique. Cette recherche se fait en largeur puis en profondeur pour descendre jusqu'aux feuilles afin de trouver le ou les services.

Nous proposons deux algorithmes de recherche : le premier prend en entrée le système d'exploitation, la licence, le langage et dans le second algorithme un nouveau paramètre est ajouté (nom du service). Ce dernier permet d'avoir des résultats concis. Dans cette approche suivant les paramètres donnés en entrée les algorithmes retournent le contenu des feuilles de l'arbre.

METHODE rechercher //première solution

ENTREE A:arbre, syst : chaine, lic : chaine,lang :chaine //syst=système d'exploitation, lic=licence, lang=langage SORTIE nomserv, @IP, description

nfilsg :Noeud //noeud fils gauche nfrdrt :Noeud //noeud frère droit nc :Noeud //nc noeud courant nc(-A.racine

nc(-nfilsg

[Marie Hélène Wassa Mballo] Page 75

1 Tant que nc?null et nc.valeur?syst et nc.valeur<syst /parcours du niveau 1

2 nc(-nfrdrt

[Marie Hélène Wassa Mballo] Page 76

3 fin tant que

4 si nc=null ou nc.valeur>syst

5 exit

6 fin si

7 si nc.valeur=syst

8 nc(-nfilsg

9 tant que nc?null et nc.valeur?lic et nc.valeur<lic /parcours du niveau 2

10 nc(-nfrdrt

11 Fin tant que

12 Si nc=null ou nc.valeur>lic

13 Exit

14 Fin si

15 Si nc.valeur=lic

16 nc(-nfilsg

17 Tant que nc?null et nc?lang et nc.valeur<lang //parcours du niveau 3

18 nc(-nfrdrt

19 Fin tant que

20 Si nc=null ou nc.valeur>lang

21 Exit

22 Fin si

23 Si nc.valeur=lang

24 nc(-nfilsg

25 Tant que nc?null

26 nc(-nfrdrt

27 Retourner nc.valeur

28 Fin tant que

29 Fin si

30 Fin si

31 Fin si

32 Fin rechercher

Le deuxième algorithme proposé est le suivant. Comme nous l'avons dit précédemment cet algorithme ajoute un nouveau paramètre qui est le nom du service

ALGORITHME DE RECHERCHE

METHODE rechercher // deuxième solution

ENTREE A :arbre, syst :chaine,lic :chaine,lang :chaine, nomservice : chaine SORTIE nomserv,description,@IP

nfilsg : Noeud //noeud fils gauche nfrdrt : Noeud //noeud frère droit nc : Noeud //noeud courant nc(-A.racine

nc(-nfilsg

[Marie Hélène Wassa Mballo] Page 77

1 Tant que nc?null et nc.valeur?syst et nc.valeur<syst //parcours du niveau 1

2 nc(-nfrdrt

3 fin tant que

4 si nc=null ou nc.valeur>syst

5 exit

6 fin si

7 si nc.valeur=syst

8 nc(-nfilsg

9 tant que nc?null et nc.valeur?lic et nc.valeur<lic //parcours du niveau 2

10 nc(-nfrdrt

11 Fin tant que

12 Si nc=null ou nc.valeur>lic

13 Exit

14 Fin si

15 Si nc.valeur=lic

16 nc(-nfilsg

17 Tant que nc?null et nc?lang et nc.valeur<lang //parcours du niveau 3

18 nc(-nfrdrt

19 Fin tant que

20 Si nc=null ou nc.valeur>lang

21 Exit

22 Fin si

23 Si nc.valeur=lang

24 nc(-nfilsg

25 Tant que nc?null et nc.valeur.nomsev?nomservice

26 nc(-nfrdrt

27 Fin tant que

[Marie Hélène Wassa Mballo] Page 78

[Marie Hélène Wassa Mballo] Page 79

28 Retourner nc.valeur

29 Fin si

30 Fin si

31 Fin si

32 Fin rechercher

Etude de la complexité de l'algorithme de recherche

L'étude de la complexité ne concerne que le deuxième algorithme de recherche de services ceci est dicté par le fait que dans cet algorithme le nom du service est spécifié. Ce qui signifie qu'une fois au niveau des feuilles une comparaison est effectuée pour retrouver le service correspondant au nom du service passé en paramètre.

L'étude de l'algorithme pour trouver la complexité donne les éléments suivants

· L'instruction 1 s'effectue en O(nsyst), puisque nous cherchons l'existence du système d'exploitation dans l'arbre, donc dans le pire des cas l'ensemble des noeuds du niveau 1 peuvent être parcourus.

· L'instruction du bloc 4-6 est une constante qui s'effectue en O(1), un test Si est effectué. La complexité de ce bloc est inférieure à celle du bloc 7-32, nous ne comptabiliserons que cette dernière

· L'instruction du bloc 7-32 regroupe plusieurs instructions donc nous allons voir la complexité de chacune d'elles

o L'instruction 9 s'effectue en O(2) puisque le nombre d'itération dépend du nombre maximal de noeuds au niveau 2 de l'arbre de services, c'est une constante donc elle n'est pas comptabilisée.

o L'instruction 12 se fait en O(1). Cette complexité est négligée car elle intervient dans le cas où le résultat de la recherche n'est pas trouvé.

o L'instruction du bloc 15-30 est composée de plusieurs instructions dont nous allons étudier la complexité.

Marie Hélène Wassa Mballo Page 80

[Tapez le titre du document]

· L'instruction 17 s'effectue en O(nlang), car le nombre d'itérations se fait nlang fois.

· L'instruction du bloc 20 se fait en O(1) un test Si est effectué pour voir si le programme s'arrête à ce stade ou si l'exécution continue.

· L'instruction du bloc 23-29 se fait en O(nserv) elle ne dépend donc que de l'instruction 25 dont le nombre d'itérations est de nserv fois.

o La complexité totale du bloc 15-30 est égale à la somme des complexités de ces différentes instructions O(nlang)+O(1)+O(nserv)= O(nlang)+ O(nserv)

· Ainsi notre algorithme de recherche a une complexité qui est égale à la somme des complexités des différentes instructions vues précédemment et nous obtenons

O(nsyst) +O(nlang) + O(nserv)

Cette complexité dépend du nombre de noeuds pour le système d'exploitation, le langage et du nombre de feuilles.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo