Article Dans Une Revue Revue Ouverte d'Intelligence Artificielle Année : 2024

Retour sur un exemple historique en Prolog III : le remplissage d’un rectangle par des carrés de tailles distinctes

Guy Alain Narboni
  • Fonction : Auteur
  • PersonId : 957810

Résumé

L’objet de cet article est de rappeler cinquante ans plus tard l’intérêt de la programmation en logique par contraintes selon un cas d’usage historique et pédagogique : le remplissage d’un rectangle de taille inconnue par un ensemble de carrés de tailles distinctes mais également inconnues initialement. L’hypothèse de différentiation de taille conduit à se passer de toute hypothèse de symétrie permettant de résoudre plus facilement ce problème. Le plus petit ensemble de ces carrés est de cardinal 9 et a été prouvé par un mathématicien polonais Zbigniew MOROŃ en 1925. Nous commenterons le comportement du programme Prolog III, une version automatisée de cette preuve, conçu par Alain COLMERAUER, qui utilise le domaine des nombres rationnels pour résoudre le problème, en exploitant la principale propriété mathématique : le rapport entre la largeur et la hauteur du rectangle est proportionné. Ainsi, le programme construit un double ensemble de contraintes : un ensemble de contraintes rationnelles selon la hauteur et un ensemble de contraintes rationnelles selon la largeur donnant lieu à la résolution d’un système d’équations linéaires. De plus, aucune énumération ni aucune solution partiellement instanciée ne peut nous aider. Cet article, dans ce cadre, effectue en quelque sorte une rétro-ingénierie de l’inférence bidimensionnelle en reconstituant les types de données décrivant la géométrie du problème. La discussion formelle et informelle mise en place, à partir de considérations historiques, montre la concision de la sémantique déclarative et opérationnelle de la programmation logique par contraintes (moins de dix règles) et aussi la difficulté à comprendre l’inférence délivrant le résultat.

Fichier non déposé

Dates et versions

hal-04556647 , version 1 (23-04-2024)

Identifiants

  • HAL Id : hal-04556647 , version 1

Citer

Guy Alain Narboni, Olivier Bartheye. Retour sur un exemple historique en Prolog III : le remplissage d’un rectangle par des carrés de tailles distinctes. Revue Ouverte d'Intelligence Artificielle, 2024, Revue Ouverte d'Intelligence Artificielle, Hommage à Alain Colmerauer, Volume 5 (2024) (no. 2-3,), pp. 95-119. ⟨hal-04556647⟩
50 Consultations
0 Téléchargements

Partager

  • More