Question

Disons qu'un élément est soit un nombre naturel, soit une liste d'articles. Des exemples d'articles sont:

  • 1
  • [2]
  • [4, [3, 1], 3, 4]

Une règle indique que deux éléments sont égaux. Par exemple:

  • 1 = 2
  • 3 = [3, 1]
  • [4, 3] = [1, 5]

Lorsque vous utilisez ces exemples de règles, nous pouvons nous transformer [4, [3, 2]] en [4, [3, 1]] en [4, 3] en [1, 5] et nous pouvons dire que [4, [3 , 2]] est égal [1, 5].

Je veux trouver un algorithme qui, compte tenu des articles $ a $ et $ b $ et un ensemble fini de règles, détermine si $ a = b $.

J'ai déjà pensé à un algorithme qui fonctionne dans certains cas. Mais j'espère trouver un algorithme efficace qui fonctionne dans tous les cas. Ce serait également bien si l'algorithme peut détecter $ a not = b $ au lieu de chercher infiniment des moyens de laisser $ a = b $. Est-ce un problème connu? Toute aide est appréciée.

Remarque: nous pouvons simplifier le problème en n'autorisant que le numéro 1 au lieu de chaque nombre naturel. Ceci est équivalent, car nous pouvons transformer 1 en [1], 2 en [1, 1], 3 en [1, 1, 1], etc.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top