• Aucun résultat trouvé

Chapitre III: L'intelligence artificielle

III. 2.3.5.4 Hauteur

La hauteur d'un ensemble flou A est la valeur max de la fonction d'appartenance sur le domaine X. Un ensemble flou A est dit normal si h (A)=1.

ℎ(𝐴) = 𝑚𝑎𝑥

𝑥𝜖𝑋

𝜇

𝐴

(𝑥)

[3.4]

[3.5]

[3.6]

[3.7]

33 III.2.3.5.5 Noyau

Le noyau d'un ensemble flou A est l'ensemble qui contient tous les éléments qui appartiennent sûr et certain à A (leurs degrés d’appartenance sont égaux à 1).

𝐾𝑒𝑟𝑛 (𝐴) = {𝑥 𝜖 𝑋 ⇒ 𝜇

𝐴

(𝑥) = 1}

III.2.3.5.6 Cardinal

Le cardinal d'un ensemble flou A est la somme des fonctions d'appartenance (cf. ensemble classique).

|𝐴| = 𝑐𝑎𝑟𝑑(𝐴) = ∑ 𝜇

𝐴

𝑥=𝑋

(𝑥)

III.2.3.5.7 Partition floue

Soit N ensembles flous Aj du référentiel X. (A1, A2,…, Aj,…, AN) est dite une partition floue si :

∀ 𝑥 𝜖 𝑋 ∑ 𝜇𝐴𝑗

𝑁

𝑗=1

(𝑥) = 1, 𝑎𝑣𝑒𝑐 𝐴𝑗 ≠ ∅ 𝑒𝑡 𝐴𝑗 ≠ 𝑋 ∀ 1 ≤ 𝑗 ≤ 𝑁

La figure III-6 illustre un exemple d’une partition floue formée de trois ensembles flous.

Figure III-6 :Exemple d’une partition floue formée de trois ensembles floues [27]

III.2.3.6 Operateurs de la logique floue

Une fois les ensembles flous définis, des opérations mathématiques concernant ce type d'ensembles ont été développées. Les opérateurs mathématiques élaborés ressemblent beaucoup

[3.8]

[3.9]

[3.10]

34

à ceux reliés à la théorie des ensembles conventionnels [28]. Les opérateurs de l’intersection, l’union, la complémentation et l’implication sont traduites par les opérateurs "ET","OU", et

"ALORS " respectivement. Soient A et B, deux sous-ensembles flous d’une variable linguistique définis sur l’univers de discours UD par leurs fonctions d’appartenance 𝜇𝐴 𝑒𝑡 𝜇𝐵 respectivement. Les rôles de chaque operateur peuvent être résumés comme suit [27] :

III.2.3.6.1 Opérateur ET (Intersection floue)

Le sous-ensemble flou, correspondant à l’intersection des sous-ensembles A et B est défini par les éléments x de l’univers de discours UD qui appartiennent à A et à B.

Dans la logique floue, l’opérateur ET peut être exprimé par :

𝜇

𝐴∩𝐵

= 𝑚𝑖𝑛{𝜇

𝐴

(𝑥), 𝜇

𝐵

(𝑥)} ∀𝑥 ∈ 𝑈𝐷

Ou bien

𝜇

𝐴∩𝐵

= 𝜇

𝐴

(𝑥). 𝜇

𝐵

(𝑥) ∀𝑥 ∈ 𝑈𝐷

On parle alors d'opérateur minimum. Cette opération est représentée à la figure III-7 Comme on le voit, il est possible que la fonction d'appartenance résultante 𝜇𝐴∩𝐵(𝑥) n'atteigne pas la valeur 1. On peut facilement vérifier que l'opérateur minimum est commutatif, c'est à dire qu'il est possible d'invertir 𝜇𝐴(𝑥) 𝑒𝑡 𝜇𝐵(𝑥) sans que le résultat change.

Cet opérateur peut être appliqué à plus de deux ensembles. Dans ce cas s'applique le théorème d'associativité.

Figure III-7: Opérateur ET III.2.3.6.2 Opérateur OU (Union floue)

Le sous-ensemble flou correspondant à l’union des sous-ensembles A et B est un sous-ensemble de l’univers de discours UD défini par tous les éléments x de UD qui appartiennent ou bien à

[3.11]

[3.12]

35

A ou bien à B, ce que l’on note 𝐴 ∪ 𝐵. L’opérateur OU est généralement réalisé par la formation du maximum, que l’on exprime comme suit :

𝜇

𝐴∩𝐵

= 𝑚𝑎𝑥{𝜇

𝐴

(𝑥), 𝜇

𝐵

(𝑥)} ∀𝑥 ∈ 𝑈𝐷

Ou bien

𝜇

𝐴∪𝐵

= 𝜇

𝐴

(𝑥) + 𝜇

𝐵

(𝑥) ∀𝑥 ∈ 𝑈𝐷

Figure III-8: Opérateur OU III.2.3.6.3 Opérateur NON (complémentation floue)

Comme l’illustre la figure III-9, le sous-ensemble flou complémentaire du sous-ensemble A est un sous-ensemble de l’univers de discours UD défini par les éléments x de l’UD qui n’appartiennent pas au sous-ensemble flou A. On peut exprimer ça par :

𝜇

Ā

= 1 − 𝜇

𝐴

∀𝑥 ∈ 𝑈𝐷

Le complément flou représente l’opération NON de la logique classique au sens flou.

Figure III-9: Opérateur NON

[3.13]

[3.14]

[3.15]

36 III.2.3.7 Règles d’inférence floue

Les systèmes basés sur la logique floue utilisent pour prendre des décisions la connaissance humaine présentée sous forme de règles floues, appelées aussi règles d’inférence. Elles sont exprimées sous la forme [27]:

SI (prémisse) ALORS (conclusion).

Nous aurons par exemple :

Si (pression forte ET température élevée) ALORS (ouverture vanne grande)

Dans [26] la règle floue est défini comme une combinaison entre une condition, nommée (prémisse ou prédicat) qui dépendra de plusieurs variables liées entre elles par des opérateurs ET, OU, NON et une conclusion ou conséquence. Les prémisses et conclusions forment des propositions floues exprimées par une conjonction ou une disjonction de prédicats, les conclusions sont obtenues par implication des propositions floues.

Ainsi en logique floue, on interprète la règle suivante : SI x est A alors y est B par le fait que si la variable floue x appartient au sous-ensemble A avec un degré d’appartenance 𝜇𝐴(𝑥), alors y appartient au sous-ensemble flou B avec un degré d’appartenance 𝜇𝐵(𝑦) qui dépend de la validité 𝜇𝐴(𝑥) de la prémisse. Plus généralement, l’expertise est donnée sous forme d’un ensemble de z règles, désigné par le terme de système d’inférence flou (SIF), présenté par une énumération du type [27]:

SI [(Prédicat 1) ET/OU (Prédicat 1’) ET/OU ...] ALORS (Conclusion 1) OU SI [(Prédicat 2) ET/OU (Prédicat 2’) ET/OU ...] ALORS (Conclusion 2) OU .... .... OU

SI [(Prédicat z) ET/OU (Prédicat z’) ET/OU ...] ALORS (Conclusion z)

L’opérateur OU n’est pas utilisé dans les conclusions car il introduirait une incertitude dans la connaissance, l’expertise ne permettrait pas de déterminer quelle décision à prendre [26]. De même, l’opérateur NON n’est pas employé, en effet si une règle avait par exemple la conclusion: «ALORS pression NON forte», il serait impossible de dire si cela signifie «pression faible» ou «pression moyenne», cela serait encore un cas d’incertitude. Quatre étapes sont donc nécessaires pour obtenir la conclusion finale [27]:

 le calcul des propositions ;

 le calcul des relations ;

 les compositions des règles avec les faits observés ;

37

 l’agrégation des conclusions des règles.

III.2.4 Structure d’un système de commande floue

La logique floue est principalement utilisée dans les domaines de prise de décision, de reconnaissance des formes, de modélisation et de commande des procédés. La commande ou la régulation des systèmes est le domaine industriel de la logique floue le plus exploité. On distingue trois structures majeures de régulateurs à logique floue (RLF) [29]:

 La structure pure ;

 La structure de Takagi-Sugeno-Kang (TSK) ;

 La structure de Mamdani ou le modèle « fuzzification - défuzzification ».

Dans la structure pure les variables d’entrée et de sortie du RLF sont des variables floues ou linguistiques. Ceci constitue un handicap étant donné que les entrées et les sorties des régulateurs des systèmes réels sont des variables réelles ou numériques.

La structure TSK résout ce problème par une simple transformation des variables linguistiques en variables réelles. L’inconvénient de cette structure est que le conséquent de chaque règle soit une formule mathématique.

Mamdani s’est proposé une interface de défuzzification (défuzzificateur) à la sortie de la structure pure. Le fuzzificateur transforme les variables réelles d’entrée en variables linguistiques floues, tandis que le défuzzificateur effectue l’opération inverse. La structure de Mamdani est devenue le modèle standard du RLF le plus utilisé dans la régulation des systèmes.

Comme l’illustre la figure III-10, l’architecture de Mamdani est constituée de quatre parties essentielles à savoir [29] :

 L’interface de fuzzification (le fuzzificateur) ;

 La base de connaissance ;

 Le mécanisme d’inférence ou l’évaluation de règles ;

 L’interface de défuzzification (le défuzzificateur).

38

Figure III-10: Structure de base du régulateur flou RLF.[29]

Comme le système à commander ne reçoit que des valeurs déterministes (non floues), un RLF devrait convertir les valeurs déterministes à son entrée en valeurs floues, les traiter avec les règles floues et reconvertir le signal de commande de valeurs floues en valeurs déterministes pour appliquer au procédé. Les rôles de chaque bloc peuvent être résumés comme suit [30] : III.2.4.1 Interface de fuzzification

Le bloc de fuzzification effectue les fonctions suivantes :

 Etablit les plages de valeurs pour les fonctions d’appartenance à partir des valeurs des variables d’entrées ;

 Effectue une fonction de fuzzification qui convertit les données d’entrée en valeurs linguistiques convenables qui peuvent être considérées comme l’étiquette des ensembles flous. Cette opération doit être effectuée dans un domaine normalisé généralement par l’intervalle [-1, 1] afin de faciliter le calcul.

III.2.4.2 Base de connaissance

Le bloc base de connaissance comporte une connaissance dans le domaine d’application et le résultat de commande prévu. Il consiste en « base de données » et en « base de règles linguistiques (floues) de commande » :

 La base de données effectue des définitions qui sont nécessaires pour établir les règles de commande et manipuler les données floues dans un RLF ;

 La base de règles représente la stratégie de commande et le but désiré par le biais des règles de commande linguistiques.

39 III.2.4.3 Inférence floue

Le bloc inférence est le cœur d’un RLF, il possède la capacité de simuler les décisions humaines et de déduire les actions de commande floue à l’aide de l’implication floue et des règles d’inférence dans la logique floue. Le traitement numérique des règles d’inférence qui permet d’obtenir la sortie linguistique ou floue du régulateur se fait par différentes méthodes, on cite principalement :

 la méthode d’inférence max-min ;

 la méthode d’inférence max-produit ;

 et la méthode d’inférence somme-produit ;

Chacune de ces trois méthodes utilise un traitement numérique propre des opérateurs flous :

 Pour la méthode d’inférence max-min, l’opérateur ET est réalisé par la formation du minimum, l’opérateur OU est réalisé par la formation du maximum, et ALORS (l’implication) est réalisée par la formation du minimum.

 Pour la méthode d’inférence max-produit, l’opérateur ET est réalisé par la formation du produit, l’opérateur OU est réalisé par la formation du maximum, et ALORS (l’implication) est réalisée par la formation du produit.

 Pour la méthode d’inférence somme-produit, on réalise au niveau de la condition, l’opérateur OU par la formation de la somme (valeur moyenne), et l’opérateur ET par la formation du produit. Pour la conclusion, l’opérateur ALORS est réalisé par un produit.

III.2.4.4 Interface de défuzzification

La défuzzification consiste à déduire une valeur numérique précise de la sortie du régulateur (𝑥𝑟) à partir de la conclusion résultante floue ( 𝜇𝑅𝐸𝑆 (𝑥𝑟) ) issue de l’opération d’inférence. Les méthodes couramment utilisées sont :

 La méthode de centre de gravité ;

 La méthode du maximum ;

 La méthode des surfaces ;

 La méthode des hauteurs.

On présente dans ce qui suit l’une des méthodes les plus utilisées, qui sont la méthode du centre de gravité. Cette méthode donne généralement de meilleurs résultats malgré l’exigence d’une

[3.15]

40

grande puissance de calcul. Elle consiste à prendre comme décision à la sortie l’abscisse 𝑥𝐺𝑟 du centre de gravité de la fonction d’appartenance résultante 𝜇𝑅𝐸𝑆(𝑥𝑟). Cette abscisse est déterminée par la relation suivante :

𝑥

𝐺𝑟

= ∫ 𝑥

𝑟

𝜇

𝑅𝐸𝑆

(𝑥

𝑟

)𝑑𝑥

𝑟

∫ 𝜇

𝑅𝐸𝑆

(𝑥

𝑟

)𝑑𝑥

𝑟

III.3 Conclusion

Dans ce chapitre, nous avons présenté les bases nécessaires à la compréhension des méthodes à base de logique floue. Les systèmes flous sont à l’évidence meilleurs que les systèmes linéaires à partir du moment où ils génèrent des résultats assez proches du raisonnement humain, sous réserve d’avoir au préalable bien défini les trois parties qui structurent son fonctionnement ,à savoir : la modélisation des données d'entrées en variables linguistiques grâce à des fonctions d'appartenances, la définition d’une liste de règles d'inférences qui représentent les connaissances que l'on a du système et enfin, le choix de l’opérateur logique utilisé et le type de Défuzzification choisie. De nombreuses possibilités d'utilisation de ces techniques sont envisageables rien qu'en ce qui concerne les FANETs.

Après l’analyse et l’étude des protocoles de routage, et de l’intelligence artificielle, dans le prochain chapitre nous allons expliquer notre scénario et valider nos résultats par simulation.

[3.16]

41

Chapitre IV : Simulations et interprétations

IV.1 Introduction

Les FANETs connaissent une expansion importante grâce à plusieurs moyens qui ont pu se développer au cours du temps, donc il est couteux de déployer une flotte de drones pour valider et vérifier un protocole du réseau ou un certain algorithme spécifique. C’est pour cela que les simulateurs de réseaux sont utilisés.

La simulation des réseaux offre beaucoup d’économie, de temps et d’argent pour l’accomplissement des tâches de simulation, ils sont également utilisés pour que les concepteurs des protocoles du réseau puissent tester les nouveaux protocoles ou modifier les protocoles déjà existants d’une manière contrôlée et productrice.

L’objectif de ce chapitre est de présenter notre scénario puis de proposer ensuite une solution efficace de choisir le cluster head en intégrant la logique floue pour la décision afin de savoir s’il s’agit vraiment d’un choix optimal ou non.

Nous présentons dans ce qui suit le déroulement des étapes de simulation que nous avons menés dans ce PFE.

IV.2 Le choix du logiciel

Il existe une variété de simulateur Parmi lesquels on peut citer : MATLAB, NS2, NS3 etc.

Puisque nous voulons utiliser l’IA (l’intelligence artificielle) pour notre scénario, le choix du MATLAB est le plus raisonnable car nous avons tout un toolbox spécialement pour la logique floue.

IV.3 Presentation de MATLAB

MATLAB est un logiciel commercial de calcul numérique/scientifique, visualisation et programmation performant et convivial développé par la société The MathWorks Inc. À ne pas confondre cependant avec les outils de calcul symbolique ou formel (tels que les logiciels commerciaux Maple, ou le logiciel libre Maxima). Le nom de MATLAB vient de MATrix LABoratory, les éléments de données de base manipulés par MATLAB étant des matrices de dimension quelconque (tableaux n-D, pouvant se réduire à des matrices 2D, vecteurs et scalaires) qui ne nécessitent ni déclaration de type ni dimensionnement (typage dynamique).

Contrairement aux langages de programmation classiques (scalaires), les opérateurs et fonctions MATLAB permettent de manipuler directement ces tableaux (donc la plupart du

42

temps sans programmer de boucles), rendant ainsi MATLAB particulièrement efficace en calcul numérique, analyse et visualisation de données en particulier.

Mais MATLAB est aussi un environnement de développement (progiciel) à part entière : son langage de haut niveau, doté notamment de structures de contrôles, fonctions d'entrée-sortie et de visualisation 2D et 3D, outils de construction d'interface utilisateur graphique (GUI)...

permet à l'utilisateur d'élaborer ses propres fonctions ainsi que de véritables programmes (M-files) appelés scripts vu le caractère interprété de ce langage.

MATLAB est disponible sur les systèmes d'exploitation standards (Windows, GNU/Linux, Mac OS X...). Le champ d'application de MATLAB peut être étendu aux systèmes non linéaires et aux problèmes associés de simulation avec le produit complémentaire SIMULINK. Les capacités de MATLAB peuvent en outre être enrichies par des fonctions plus spécialisées regroupées au sein de dizaines de toolbox (boîtes à outils qui sont des collections de M-files) couvrant des domaines nombreux et variés tels que :

 Analyse de données, analyse numérique ;

 Statistiques ;

 Traitement d'image, cartographie ;

 Traitement de signaux et du son en particulier ;

 Acquisition de données et contrôle de processus (gestion ports série/parallèle, cartes d'acquisition, réseau TCP ou UDP) ;

 logique floue ;

 finance etc...

Une interface de programmation applicative (API) rend finalement possible l'interaction entre MATLAB et les environnements de développement classiques (exécution de routines C ou Fortran depuis MATLAB, ou accès aux fonctions MATLAB depuis des programmes C ou Fortran). Ces caractéristiques (et d'autres encore) font aujourd'hui de MATLAB un standard incontournable en milieu académique, dans la recherche et l'industrie [31].

43 IV.4 Notre scénario

Figure IV-1 : surveillance d’une forêt par une flotte de drone : Drone cluster head

: communication sans fil entre CH et Membre

: communication sans fil entre CH et CH ou entre CH et SB

Le but de notre scénario est la surveillance d’une forêt assez dense et de transmettre les informations en temps réel dans la station de base.

Pour couvrir la couverture de cette forêt, nous sommes dans l’obligation de faire une collaboration de drone pour avoir une couverture assez large, car un seul drone ne suffira jamais à parcours une forêt assez dense. Dans notre scénario, nous avons opté pour trois flottes de drones qui coopèrent pour échanger et relayer des informations entre eux afin de surveiller les environnements ouverts et sauvages à la recherche de la vie après un incendie par exemple.

Nous pouvons projetés notre scénario au feu de forêt récemment déclenché en Australie (juin 2019 au 08 mars 2020). Au 14 janvier 2020 les rapports font état d’environ 18.6 million d’hectares brûlés, 5900 bâtiments détruit (dont 27779 habitations) et au moins 34 mort[32].

CH H

44

La direction de la sécurité civile en France travaille depuis quelques années sur l'utilisation des drones pour identifier les compteurs d'une catastrophe en temps réel. Le déploiement d'une flotte de drones collaboratifs avec des mécanismes de routage ad hoc pourrait être une des solutions possibles pour mettre en place ce type d'applications. Mais il faut deux observations : d’abord une détection et ensuite une confirmation afin d’être sûr que les pompiers peuvent être envoyés sur la zone incendiée. Cependant, cette solution devra faire face à de nombreux défis, notamment la grande mobilité des drones, le maintien de la connectivité mais le plus important est le choix du drone chargé de la transmission des données vers la station de base. Ainsi les drones auront une durée de vie maximale.

Notre objectif ici est de remédier à ces problèmes. Puisque la problématique est la couverture assez large et en plus d’avoir une transmission en temps réel et la conservation de la durée de vie des drones au maximum, nous avons opté pour le routage en clustering. Le but des clusters est de diviser les drones en groupes, chaque groupe sera dirigé par un cluster head (CH), qui sera capable de communiquer à n’importe quel moment avec ses membres (m) ou bien avec les clusters heads voisins et aussi avec la station de base (SB).

Le choix du cluster est très important dans les protocoles de routage en clustering. Suivant notre état de l’art détaillé dans le chapitre 2, nous avons opté d’intégrer l’intelligence artificielle pour le choix de CH. Le but de l’IA est d’avoir un maximum de paramètres pour le choix de notre cluster Head car nous avons jugé qu’un seul paramètre reste très insuffisant pour le choix du CH. L’intelligence artificielle nous permettra de réaliser ce choix en se basant sur les paramètres qui sont :

L’énergie : c’est l’un des paramètres le plus important dans les FANETs car elle est directement liée à l’autonomie de vol des drones.

La stabilité: ce paramètre peut affecter la qualité de la communication car elle est directement liée à la vitesse des drones.

Connectivité : est un paramètre très important car elle affecte la qualité de la communication. Si la connectivité est mauvaise alors la communication sera désastreuse.

De plus, dans les réseaux ad hoc de drones, chaque drone a la possibilité de se déplacer selon un plan de vol préprogrammé. Chacun des drones possède certaines caractéristiques principales comme une vitesse moyenne de déplacement, un niveau de batterie, un champ de vision et des moyens de communications. En plus le CH possède les informations sur l’environnement

45

(comme la carte du milieu forestier et les coordonnées de la zone incendiée) et a la possibilité de communiquer, non seulement avec la base mais aussi avec tous les autres CH. Le CH sera l’unique responsable des routages dans son cluster.

IV.5 Intégration de la logique floue dans la simulation pour le choix du CH:

Ces dernières années avec l’application de plus en plus rependue des véhicules aériens sans pilote (UAV), la technologie de réseau des drones a également suscité des inquiétudes. Dans le cadre d’une mission il est nécessaire que la connexion soit maintenue afin d’éviter tous les effets indésirables. D’autre part son besoin de garantir la QoS augmente par le temps avec les révolutions dans les réseaux FANETs, c’est les raisons pour lesquelles nous avons penché vers l’intégration de l’intelligence artificielle pour mieux améliorer les performances des FANETs.

Notre système d’inférence floue

Figure IV-2 : processus d’inférence floue.

La figure IV-2 illustre la structure du processus d’inférence floue qui se compose de quatre parties à savoir la fuzzification, base de règles floues, moteur d’inférence floue et la défuzzification. Le processus d’inférence floue contient trois paramètres d’entrée (stabilité-énergie-connectivité) et un paramètre de sortie, ce qui est une valeur approximative :

 La stabilité est lié à la métrique de la vitesse, qui est une mesure importante car elle peut affecter la qualité de la communication / transmission. C’est cette mesure qui indique la vitesse à laquelle les drones se déplacent, modifiant par conséquent la topologie du

46

moyenne (plage de 4 à 13 m / s) et vitesse élevée (lorsque la vitesse est supérieure à 11 m / s).

 L'énergie, directement liée à la capacité de la batterie de l'appareil, est une autre mesure importante; elle est liée au temps pendant lequel l'UAV pourra survoler et surveiller une région particulière. Plus la capacité de la batterie est élevée, plus la portée de vol est longue et, par conséquent, plus la route et la topologie du réseau resteront actives. Cette métrique est divisée en trois valeurs linguistiques qui sont: plage basse (0 à 600

 L'énergie, directement liée à la capacité de la batterie de l'appareil, est une autre mesure importante; elle est liée au temps pendant lequel l'UAV pourra survoler et surveiller une région particulière. Plus la capacité de la batterie est élevée, plus la portée de vol est longue et, par conséquent, plus la route et la topologie du réseau resteront actives. Cette métrique est divisée en trois valeurs linguistiques qui sont: plage basse (0 à 600

Documents relatifs