Lisp est utilisé pour l'IA parce qu'il supporte très bien la mise en œuvre de logiciels qui calculent avec des symboles. Les symboles, les expressions symboliques et le calcul avec ces derniers sont au cœur de Lisp.
Les domaines typiques de l'IA pour le calcul avec des symboles étaient/sont : l'algèbre informatique, la démonstration de théorèmes, les systèmes de planification, le diagnostic, les systèmes de réécriture, la représentation des connaissances et le raisonnement, les langages logiques, la traduction automatique, les systèmes experts, etc.
Il n'est donc pas surprenant que de nombreuses applications d'IA célèbres dans ces domaines aient été écrites en Lisp :
- Macsyma comme le premier grand système de calcul formel.
- ACL2 est un vérificateur de théorèmes largement utilisé, par exemple par AMD.
- DART comme le planificateur logistique utilisé pendant la première guerre du Golfe par l'armée américaine. On dit que cette seule application Lisp a remboursé tous les investissements américains dans la recherche sur l'IA à l'époque.
- SPIKE, l'application de planification et d'ordonnancement du télescope spatial Hubble. Également utilisée par plusieurs autres grands télescopes.
- CYC, l'un des plus grands systèmes logiciels écrits. Représentation et raisonnement dans le domaine de la connaissance du sens commun humain.
- METAL, l'un des premiers systèmes de traduction en langage naturel utilisés commercialement.
- L'Authorizer's Assistant d'American Express, qui vérifie les transactions par carte de crédit.
Il existe des milliers d'applications dans ces domaines qui sont écrites en Lisp. Elles ont en commun d'avoir besoin de capacités spéciales dans le domaine du traitement symbolique. On implémente des langages spéciaux qui ont des interpréteurs/compilateurs spéciaux dans ces domaines au dessus de Lisp. Lisp permet de créer des représentations pour les données et les programmes symboliques et peut implémenter toutes sortes de machines pour manipuler ces expressions (formules mathématiques, formules logiques, plans, ...).
(Notez que de nombreux autres langages de programmation à usage général sont également utilisés en IA. J'ai essayé de répondre à la question de savoir pourquoi Lisp est particulièrement utilisé en IA).