• Aucun résultat trouvé

2.3 Le contrôle intelligent

2.3.7 Autres exemples

Les techniques de contrôle intelligent présentées jusqu’à présent étaient des classiques du contrôle agrémentées d’intelligence artificielle. Mais l’IA a également apporté de nombreuses approches inédites qui ne reposent pas directement sur celles de la section 2.1. Nous en présentons deux d’entre elles. La première est basée sur les systèmes de classeurs, tandis que la seconde combine quatre techniques d’IA différentes.

2.3.7.1 Contrôle distribué à base de systèmes de classeurs

Par leur système d’appariement et de sélection d’action sur l’environnement, les systèmes de classeurs (LCS) sont particulièrement adaptés au problème du contrôle. Ils peuvent même s’y appliquer directement, et de manière distribuée (Bull et al. 2004).

On s’intéresse ici au cas simulé d’un réseau routier de quatre carrefours, chacun étant équipé d’un LCS pour contrôler l’ensemble des feux tricolores du carrefour. Nous avons donc quatre contrôleurs agissant à différents endroits d’un système plus large (l’ensemble du réseau routier simulé), il s’agit d’un contrôle distribué. Chaque LCS doit apprendre la durée des phases (autoriser la circulation dans un sens ou dans l’autre) permettant un trafic optimal. Pour cela, il est stimulé à chaque cycle par la perception de la longueur de la plus grande file d’attente du carrefour et d’un signal de renforcement calculé à partir de cette mesure.

Plusieurs tests ont été conduits afin de mesurer l’impact des différents paramètres comme le nombre de règles dans la base (entre 400 et 1600), le taux de mutation de l’algorithme génétique, ou encore le taux d’apprentissage pour le renforcement. Chaque carrefour est équipé d’une instance identique de LCS. Contrairement aux précédentes expériences n’im-pliquant qu’un seul LCS isolé, l’étude montre que ces paramètres n’ont pas ici d’influence déterminante sur les performances.

Cependant, d’autres choix d’instanciation demeurent cruciaux tels que le mécanisme de sélection d’action ou bien le choix du signal de renforcement. Dans le cas étudié, les LCS n’offrent une performance bénéfique uniquement si ces fonctions sont bien construites et paramétrées. Or il n’existe pas de règle permettant de les choisir a priori. On s’attend donc à ce que l’application de LCS sur des cas réels soit un problème difficile.

2.3.7.2 Contrôle distribué hybride

Une seconde approche, qualifiée par les auteurs d’hybride, fait appel à quatre techniques d’IA qu’elle combine dans un système de contrôle distribué : les réseaux de neurones, la logique floue, les algorithmes génétiques et l’apprentissage par renforcement (Choy, Srinivasan et Cheu 2006).

Comme la méthode précédente, elle s’intéresse au contrôle des feux de signalisation des carrefours d’un réseau routier. Le contrôleur de chaque carrefour utilise des règles de logique floue pour produire des plans de signaux (les durées de chaque phase des feux). Ces règles sont générées par un algorithme génétique et représentées dans un réseau de neurones dont les paramètres sont ajustés par renforcement. L’apprentissage du réseau de neurones se fait en temps réel, en trois grandes étapes :

– La première étape est une mise à jour des paramètres du réseau (par exemple le taux d’apprentissage de chaque neurone). Celle-ci se fait par renforcement.

– Les poids des connexions sont ensuite mis à jour selon une méthode semblable à celle des cartes de Kohonen.

– Enfin, le signal de renforcement est utilisé dans le calcul de la fonction d’évaluation d’un algorithme génétique. Si le résultat de l’évaluation est en dessous d’un seuil prédéfini,

l’algorithme génère de nouvelles règles (matérialisées par de nouvelles connexions dans le réseau).

Le signal de renforcement est calculé à partir d’estimations de l’état du trafic et de mesures, et est propagé dans chacun des contrôleurs locaux. Le réseau de neurone de chaque contrôleur représente de manière assez directe les règles de logique floue qu’il contient. Il est composé de cinq couches (figure 2.16) :

– Une couche entrée reçoit les valeurs mesurées sur le système contrôlé. Chaque neurone de cette couche correspond à une variable perçue.

– Une couche fuzzification décrit de manière floue les entrées. Chaque neurone de la couche précédente est connecté à 3 neurones de la couche fuzzification, qui correspondent à trois sous-ensembles flous quantifiant la valeur (faible, moyen et fort). Les poids des connexions entre ces deux couches jouent le rôle de fonction d’appartenance.

– Une couche implication applique un opérateur de t-norme sur la précédente pour représenter l’état du système de manière plus complète. Chaque neurone de cette couche représente donc une conjonction floue des valeurs des variables floues de la couche précédente.

– Une couche conséquence représente les différents plans possibles de signal. Elle applique un opérateur de s-norme sur la précédente. Un neurone-plan est ainsi activé si la disjonction floue de ses entrées le permet.

– Enfin, une couche defuzzification, composée d’un unique neurone, applique la méthode du centre de gravité pour agréger les différents plans activés et calculer la sortie finale (un plan de signal à appliquer au carrefour).

Figure 2.16 – Le réseau de neurones flou à cinq couches.

Les connexions entre les couches fuzzification et implication sont représentées dans les chro-mosomes utilisés par l’algorithme génétique. Celui-ci peut ainsi les modifier afin que le réseau maximise une fonction d’évaluation. Cette fonction est basée à la fois sur le signal de

renforcement et sur une mesure de satisfaction de la connexion. Le nombres d’individus par génération, le nombre d’individus sélectionnés pour le croisement, le taux de mutation et autres paramètres de l’algorithme sont à définir par l’utilisateur.

La distribution des contrôleurs et la combinaison judicieuse de techniques d’IA permet ici d’effectuer un apprentissage en temps réel du contrôle d’un système complexe de manière à optimiser un critère unique (la fluidité du trafic). Cependant si les paramètres du réseau de neurones sont appris, de nombreux autres (ceux de l’algorithme génétique, du signal de renforcement, l’initialisation du réseau, ainsi que d’autres propres à la méthode) restent à définir empiriquement. En simulation, il est relativement facile d’effectuer des tests afin de déterminer la meilleure valeur pour ces paramètres. Mais dans le cas d’un système réel cela est très souvent long et coûteux et pose donc un sérieux problème d’instanciation. En outre, pour la plupart des procédés à multiples entrées et sorties le contrôle implique de faire un compromis entre plusieurs critères parfois contradictoires, ce que ne permet pas cette méthode.