Aller au contenu

IA Symbolique

Ce que vous saurez dans 3 minutes

L’IA Symbolique n’est pas une antiquité poussiéreuse. C’est le socle de la logique informatique.

  • Pour les historiens : Comprendre le rêve initial de Dartmouth (encoder toute la connaissance du monde).
  • Pour les développeurs : Voir le lien entre un if/else géant et une IA.
  • Pour les critiques : Saisir pourquoi cette approche a échoué à reconnaître un chat (le “Symbol Grounding Problem”) menant aux Hivers de l’IA.

1. Comprendre

L’Hypothèse du Système de Symboles Physiques

Formulée par Allen Newell et Herbert Simon (Prix Turing 1975), cette hypothèse stipule que :

“Tout système de symboles physiques a les moyens nécessaires et suffisants pour produire une action intelligente générale.”

En clair : Penser, c’est calculer. Si on peut traduire le monde en symboles (Mots, Chiffres) et les relations en règles (Grammaire, Logique), alors une machine peut penser.

L’Analogie : Le Juriste Rigide

Imaginez un juge qui n’a aucune intuition, aucune émotion, aucune expérience de la vie. Il ne connaît que le Code Civil.

  • On lui donne un fait : “Jean a volé une pomme”.
  • Il cherche la règle : “Article 311-3 : Le vol est puni de 3 ans”.
  • Il déduit la sentence : “Jean = 3 ans de prison”. Il ne se demande pas si Jean avait faim. Il applique la règle (Inférence). C’est de l’IA Symbolique.

L’Arbre de Recherche (Search Tree)

La force brute de l’IA symbolique réside dans l’exploration de toutes les possibilités.

graph TD
    Root[État Initial<br/>(Échiquier vide)]
    Move1[Coup A]
    Move2[Coup B]
    
    Resp1[Réponse A1]
    Resp2[Réponse A2]
    
    Root --> Move1
    Root --> Move2
    Move1 --> Resp1
    Move1 --> Resp2
    
    style Root fill:#fef3c7,stroke:#d97706
    style Move1 fill:#dbeafe,stroke:#1e40af
    style Resp1 fill:#dcfce7,stroke:#16a34a

2. Appliquer

Les Grands Succès du Symbolisme

Cette approche a dominé pendant 50 ans (l’ère GOFAI - Good Old-Fashioned AI) avec des succès retentissants :

  1. Deep Blue (1997) : Bat Kasparov aux échecs. Pure force brute (calcul de 200 millions de positions par seconde). Pas d’intuition, juste du calcul (Minimax).
  2. Systèmes Experts (Années 80) : MYCIN (Diagnostic sanguin). Des milliers de règles “Si le patient a de la fièvre ET des taches rouges, ALORS…”
  3. GPS (General Problem Solver) : Tentative de créer une IA universelle capable de résoudre tout problème formalisable.

Exemple Code : Un Moteur d’Inférence (Prolog-style)

L’IA Symbolique utilise souvent la Logique du Premier Ordre. Voici une simulation en Python d’un petit système expert familial.

class KnowledgeBase:
def __init__(self):
self.facts = set() # Faits connus (ex: "Luc est un homme")
self.rules = [] # Règles (ex: "Si Homme et Parent -> Père")
def add_fact(self, fact):
self.facts.add(fact)
def add_rule(self, conditions, conclusion):
# conditions est une liste de faits requis
self.rules.append((conditions, conclusion))
def infer(self):
# Boucle d'inférence (Forward Chaining)
new_fact_added = True
while new_fact_added:
new_fact_added = False
for conditions, conclusion in self.rules:
# Si toutes les conditions sont vraies et que la conclusion n'est pas encore connue
if all(c in self.facts for c in conditions) and conclusion not in self.facts:
print(f"💡 Déduction : Puisque {conditions}, alors {conclusion}")
self.facts.add(conclusion)
new_fact_added = True
# Initialisation
kb = KnowledgeBase()
# Faits initiaux
kb.add_fact("pluie")
kb.add_fact("dehors")
# Règles (Si Pluie ET Dehors -> Mouillé)
kb.add_rule(["pluie", "dehors"], "mouillé")
kb.add_rule(["mouillé"], "besoin_serviette")
# Lancement du raisonnement
print("--- Début du Raisonnement ---")
kb.infer()
print(f"Base de connaissances finale : {kb.facts}")

Pourquoi l’IA Symbolique a décliné ?

Elle s’est heurtée au mur de la complexité du réel.

  • Le problème du sens commun : Il est facile d’encoder les règles des échecs. Il est impossible d’encoder les règles de “Comment tenir une conversation normale”. Il y a trop d’implicite.
  • La fragilité : Une seule règle fausse, et tout le système s’effondre (alors qu’un réseau de neurones est tolérant au bruit).

3. Aller plus loin

Le Retour en Grâce ? (Neuro-Symbolique)

L’IA Symbolique n’est pas morte. Elle revient par la petite porte pour corriger les défauts du Deep Learning. Les LLMs (Neurones) sont créatifs mais menteurs. Les Systèmes Symboliques sont rigides mais véridiques. L’avenir est à l’hybridation : utiliser un LLM pour comprendre le langage naturel, et le connecter à un moteur symbolique (Wolfram Alpha) pour le calcul exact.

Le Web Sémantique (Knowledge Graphs)

Le “Knowledge Graph” de Google (qui affiche la fiche d’identité d’une célébrité à droite des résultats) est une technologie symbolique. C’est une base de données de faits (Sujet - Prédicat - Objet) structurée logiquement. C’est ce qui permet à Google de comprendre que “Tom Cruise” est une entité “Acteur”, liée à “Top Gun”.

Points de vigilance


Questions Fréquentes

Quelle est la différence entre IA Symbolique et Machine Learning ?
  • IA Symbolique : On donne les règles et les données à la machine, elle donne les réponses. (Approche Top-Down).
  • Machine Learning : On donne les données et les réponses (exemples) à la machine, elle trouve les règles. (Approche Bottom-Up).

Est-ce que Python est un langage d’IA Symbolique ? Python est généraliste. Les langages historiques de l’IA Symbolique sont LISP (Processing de listes) et PROLOG (Logique). Cependant, on peut faire de l’IA symbolique en Python (ex: bibliothèque networkx pour les graphes ou algos de recherche personnalisés).


Notions Liées (Spider Web)

Ressources Externes