L’IA symbolique ( également connue sous le nom de Symbolic AI, est une approche de l’intelligence artificielle qui se concentre sur la manipulation de symboles pour effectuer des tâches intelligentes. Cette approche est basée sur la représentation de la connaissance et de la logique symbolique, qui sont utilisées pour résoudre des problèmes complexes et effectuer des tâches de raisonnement.
Dans la Symbolic AI, la connaissance est représentée sous forme de symboles, tels que des mots ou des phrases, et stockée dans une base de connaissances. Les algorithmes de raisonnement sont utilisés pour manipuler ces symboles et effectuer des opérations logiques, telles que la déduction, l’induction, la comparaison et l’inférence.
En logique floue, les connaissances peuvent être représentées sous forme de symboles flous. Un symbole flou est une variable linguistique qui peut prendre des valeurs imprécises ou incertaines. Par exemple, la variable « taille » peut être représentée par des symboles flous tels que « petit », « moyen » ou « grand ».
Il existe plusieurs types de symboles flous en logique floue :
- Les variables linguistiques : ce sont des variables qui représentent des concepts flous, tels que « grand », « chaud », « rapide », etc.
- Les ensembles flous : ce sont des ensembles de valeurs qui représentent une variable linguistique, tels que « très petit », « un peu grand », « très chaud », etc.
- Les règles floues : ce sont des règles qui utilisent des variables linguistiques et des ensembles flous pour décrire les relations entre différentes variables. Par exemple, une règle floue pourrait être : « Si la température est très chaude, alors augmenter la vitesse du ventilateur ».
L’un des avantages de la Symbolic AI est sa capacité à raisonner sur des informations incomplètes ou imprécises. Elle peut également être utilisée pour résoudre des problèmes complexes impliquant de nombreux facteurs et interdépendances.
Cependant, la Symbolic AI a également des limites, en particulier lorsqu’il s’agit de tâches impliquant des données complexes et volumineuses, telles que la reconnaissance d’images ou la compréhension du langage naturel. C’est pourquoi d’autres approches, telles que l‘apprentissage en profondeur et l’apprentissage automatique, ont été développées pour compléter et améliorer l’efficacité de la Symbolic AI dans certaines tâches.
1. Logique floue (Fuzzy Logic)
la logique floue fait partie de la Symbolic AI. La logique floue est une méthode d’inférence qui permet de traiter des concepts qui ne peuvent pas être facilement définis de manière binaire (vrai/faux) ou précise. Elle permet de modéliser des concepts qui sont imprécis ou incertains, tels que les sentiments, les opinions ou les perceptions humaines.
La logique floue est basée sur la théorie des ensembles flous, qui permet de représenter des ensembles de valeurs avec une granularité ou une imprécision. Elle utilise des fonctions d’appartenance floues pour attribuer une probabilité à chaque élément d’appartenir à l’ensemble.
La logique floue est souvent utilisée en combinaison avec d’autres approches de l’IA, telles que les réseaux de neurones et l’apprentissage automatique, pour résoudre des problèmes complexes. Elle peut être utilisée dans des applications telles que la reconnaissance de la parole, la vision par ordinateur, le contrôle de processus industriels, la robotique, etc.
1.1 – Mise en pratique de la logique floue
Des exemples d’utilisation de la logique floue :
- Contrôle de climatisation : La logique floue est souvent utilisée pour contrôler la climatisation dans les bâtiments. Elle permet de prendre en compte des facteurs tels que la température extérieure, l’humidité, la présence de personnes, etc., pour ajuster la température et le débit d’air de manière à maintenir un niveau de confort optimal.
- Système de freinage automobile : La logique floue est également utilisée dans les systèmes de freinage des voitures pour ajuster la pression de freinage en fonction de divers facteurs tels que la vitesse, la charge, la qualité de la chaussée, etc. Elle permet de maintenir une distance de sécurité entre les véhicules tout en assurant une conduite fluide et confortable.
- Système de caméra de recul automobile : La logique floue est utilisée dans les systèmes de caméra de recul des voitures pour détecter la proximité d’objets et de personnes et ajuster la distance d’arrêt. Elle permet de prendre en compte des facteurs tels que la taille, la forme et la distance de l’objet pour déterminer la distance d’arrêt optimale et éviter les collisions.
1.2. Un Algorithme pour mieux comprendre comment cela fonctionne
Voici un exemple d’algorithme de logique flou pour une caméra de recul automobile :
- Définition des variables linguistiques :
- Distance : petite, moyenne, grande
- Vitesse de la voiture : lente, modérée, rapide
- Taille de l’objet : petit, moyen, grand
- Définition des ensembles flous :
- Distance :
- Petite : [0, 0, 0.5, 1]
- Moyenne : [0, 0.5, 1, 0.5, 0]
- Grande : [1, 0.5, 0]
- Vitesse de la voiture :
- Lente : [0, 0, 0.5, 1]
- Modérée : [0, 0.5, 1, 0.5, 0]
- Rapide : [1, 0.5, 0]
- Taille de l’objet :
- Petit : [0, 0, 0.5, 1]
- Moyen : [0, 0.5, 1, 0.5, 0]
- Grand : [1, 0.5, 0]
- Distance :
- Définition des règles floues :
- Si la distance est petite ET la vitesse de la voiture est rapide, ALORS la distance d’arrêt doit être très grande
- Si la distance est petite ET la vitesse de la voiture est modérée, ALORS la distance d’arrêt doit être grande
- Si la distance est petite ET la vitesse de la voiture est lente, ALORS la distance d’arrêt doit être moyenne
- Si la distance est moyenne ET la taille de l’objet est grand, ALORS la distance d’arrêt doit être moyenne
- Si la distance est moyenne ET la taille de l’objet est moyen, ALORS la distance d’arrêt doit être petite
- Si la distance est grande, ALORS la distance d’arrêt doit être petite
- Définition de la fonction d’appartenance :
- La fonction d’appartenance est une fonction qui mesure l’appartenance d’une valeur à un ensemble flou. Par exemple, la valeur « 5 mètres » appartient à l’ensemble flou « Distance petite » avec un degré d’appartenance de 0.5.
- Calcul de la distance d’arrêt :
- Pour chaque règle floue, on calcule le degré d’appartenance de chaque variable linguistique à son ensemble flou correspondant.
- On combine ensuite les degrés d’appartenance de chaque règle pour obtenir un ensemble flou représentant la distance d’arrêt souhaitée.
- On applique ensuite une méthode de déflouification pour obtenir une valeur numérique précise pour la distance d’arrêt.
Cet algorithme permet de prendre en compte des facteurs tels que la distance, la vitesse de la voiture et la taille de l’objet pour déterminer la distance d’arrêt optimale et éviter les collisions. Il utilise la logique floue pour représenter les connaissances imprécises ou incertaines, et obtenir des résultats plus précis et plus adaptés à la réalité.
2. Systèmes experts (Expert Systems)
Les systèmes experts sont des systèmes d’IA qui utilisent des règles et des connaissances symboliques pour résoudre des problèmes dans des domaines spécifiques. Ils sont souvent utilisés dans des domaines tels que la médecine, l’ingénierie, la finance et le droit, où une expertise humaine est requise pour prendre des décisions complexes.
Les systèmes experts utilisent des bases de connaissances qui contiennent des règles symboliques et des faits, ainsi que des moteurs d’inférence pour effectuer des déductions et des raisonnements sur ces connaissances. Ils utilisent également des interfaces utilisateur pour communiquer avec les utilisateurs et leur permettre de poser des questions et de recevoir des réponses.
Les systèmes experts ont été l’un des premiers exemples de l’utilisation de la Symbolic AI dans des applications pratiques, et ont été largement utilisés dans les années 1980 et 1990. Cependant, leur utilisation a diminué avec l’avènement de l’apprentissage automatique et des réseaux de neurones, qui sont capables de traiter des données plus complexes et de fournir des prédictions plus précises dans des domaines tels que la reconnaissance d’images et la compréhension du langage naturel.
2.1. Explication par l’exemple
Voici un exemple possible d’utilisation d’un système expert :
Prenons l’exemple d’un système expert pour le diagnostic de pannes informatiques. Le système expert est conçu pour aider les utilisateurs à résoudre des problèmes liés à leur ordinateur. Il peut poser des questions spécifiques à l’utilisateur sur le problème qu’il rencontre, et utiliser ses réponses pour déterminer la cause probable de la panne et fournir des recommandations pour la réparation.
Le système expert fonctionne selon les étapes suivantes :
- Acquisition des connaissances :
- Un expert en informatique (par exemple, un technicien) fournit au système expert des règles et des faits pour chaque problème et leur solution associée.
- Modélisation du problème :
- Le système expert utilise des techniques de représentation de la connaissance pour traduire les règles et les faits en un format que le système peut comprendre.
- Inférence :
- Le système expert utilise les règles et les faits pour résoudre les problèmes spécifiques. Il pose des questions à l’utilisateur pour recueillir des informations sur le problème et utilise ces informations pour déterminer la cause probable de la panne.
- Explication :
- Le système expert explique à l’utilisateur comment il a déterminé la cause probable de la panne et recommande une solution.
Un exemple d’application pratique d’un système expert de diagnostic de pannes informatiques est le logiciel « Microsoft Fix It » (Abandonné depuis Windows 10). Ce logiciel utilise un système expert pour détecter et résoudre les problèmes courants rencontrés par les utilisateurs de Windows. Il est capable d’analyser les erreurs et les symptômes signalés par l’utilisateur, d’identifier les causes possibles, de recommander des solutions et de fournir des instructions étape par étape pour les résoudre.
2.2. Où trouve t-on les système experts ?
Les systèmes experts sont utilisés dans de nombreux domaines, notamment en informatique, en ingénierie, en médecine, en finance et dans l’industrie.
En informatique, les systèmes experts sont utilisés pour le diagnostic et la résolution de problèmes de logiciels et de matériels, ainsi que pour la détection de menaces de sécurité informatique. Dans l’industrie, les systèmes experts sont utilisés pour surveiller et contrôler les processus de production et pour la maintenance prédictive des équipements.
En médecine, les systèmes experts sont utilisés pour aider les professionnels de la santé à diagnostiquer et à traiter les maladies, ainsi que pour aider les patients à prendre des décisions éclairées sur leur santé.
Les systèmes experts sont souvent intégrés dans des logiciels ou des appareils pour aider les utilisateurs à résoudre des problèmes spécifiques ou à prendre des décisions en fonction de leur expertise. Ils peuvent également être utilisés en tant que services en ligne, où les utilisateurs peuvent accéder à des systèmes experts pour obtenir des conseils ou des recommandations personnalisées.
En somme, les systèmes experts sont présents dans de nombreux domaines et peuvent être trouvés dans diverses applications logicielles, équipements ou services en ligne.
Les systèmes experts peuvent aussi se cacher dans des jeux, par exemple : Akinator : un système expert de jeu en ligne qui peut deviner n’importe quel personnage auquel vous pensez en posant des questions.
2.3. ChatGPT est également un système expert
ChatGPT d’open IA peut être considéré comme un système expert dans une certaine mesure. Bien que le terme « système expert » soit généralement associé à des logiciels qui fournissent des conseils ou des recommandations dans des domaines spécifiques, ChatGPT-3 est conçu pour fournir des réponses et des conseils dans une variété de domaines en utilisant une compréhension du langage naturel.
ChatGPT utilise une combinaison de techniques d’apprentissage automatique et de traitement du langage naturel pour comprendre les questions posées par les utilisateurs et fournir des réponses pertinentes. Il utilise également une base de connaissances experte pour fournir des réponses plus précises et plus spécifiques dans certains domaines, comme la science, la médecine et l’informatique.
Pour conclure avec l’IA symbolique
L’intelligence artificielle symbolique, ou Symbolic AI, est une approche de l’IA qui utilise la représentation symbolique de la connaissance pour modéliser le raisonnement humain. Bien que certains aient critiqué cette approche pour ses limitations en termes de capacités d’apprentissage et de traitement de données massives, elle demeure largement utilisée dans des domaines tels que les systèmes experts et la logique floue.
Le futur de la Symbolic AI est passionnant. Avec l’avancée de la technologie, il est possible que les approches symboliques soient intégrées dans des systèmes plus avancés d’IA hybride qui combinent des techniques symboliques et connexionnistes pour obtenir le meilleur des deux mondes. De plus, la Symbolic AI pourrait jouer un rôle important dans le développement de l’IA explicative, qui permettrait aux machines de justifier leurs décisions et de communiquer plus efficacement avec les utilisateurs.