Bonjour à tous et à et toutes.
Je m'appelle Victor, j'ai 17 ans et j'ai trouvé une idée assez intéressante pour programmer un algorithme qui joue au jeu d'échecs. En fait, je voudrais que cet algorithme soit le plus fort possible.
Pour réaliser cet algorithme, je dois coder une fonction qui me permet de simplifier une expression booléenne le plus rapidement possible. C'est un point clé de mon algorithme.
J'ai donc commencé à réfléchir sur un moyen de simplifier les expressions booléennes mais je me suis heurté à un mur : mon procédé est beaucoup trop lent.
En effet, la taille des expressions booléennes sont très conséquentes. Le nombre d'entrées peut atteindre plusieurs millions et le nombres d'entrées distinctes est d'environ 500.
De plus les expressions booléennes que l'algorithme doit manipuler sont "profondes", je m'explique. Quand on entend parler d'expressions booléennes, on pense sûrement à ceci : a.b + b.e.f + a.c.d , or il s'agit plutôt d'expressions comme celle-là avec une multitude de et et de ou imbriqués les uns dans les autres : (a.(b+a.e).(a.e(b+c.f(g+a))+a. d.f.g))+a.f(b.c.d(e.f+g))
Ayant échoué à réalisé moi-même un algorithme qui simplifie ce genres d'expressions, je me suis tourné vers internet mais je n'ai rien trouvé qui puisse me satisfaire.
Je vous demande donc si vous connaissez l'algorithme le plus rapide qui puisse simplifier une expression booléenne.
-----