Bonjour,
2 topics en un jour et oui ! sur 2 sujet totalement différents mais qui au final se rejoindront dans notre projet.
Le but de notre générateur est de tenir compte de contraintes imposées par l'utilisateur pour générer au final une expression algébrique aléatoire.
Notre problème se pose pour la génération d'un nombre, du moment ou nous pouvons en générer un en tenant compte des contraintes les autres suivront le même schéma.
Par exemple voilà ce que l'utilisateur peut demander pour un nombre donné :
intervalle : -3..20 et 15..25
Multiple inclus : 2 et 5
Multiple exclus : 4
Ensemble inclus : N et Q
Ensemble exclus : Z et R
Bon la l'exemple est vraiment barbare mais c'est pour bien que vous puissiez comprendre toutes les contraintes qui peuvent rentrer en jeu.
Ici la solution serait visiblement 20 et uniquement 20.
Le seul problème c'est comment faire pour tenir compte à la fois de toutes les contraintes et de pouvoir conserver un temps de calcul le plus infime possible...
Nous avions comme idée de départ de réduire le champs de recherche de notre algorithme en le décomposant, nous commencerions par réduire les valeurs possibles aux intervalles que l'utilisateur a choisi de sélectionner. Puis une fois le champs de recherche réduit aux intervalles réduire encore une fois avec les multiples et finir par les ensembles.
Si l'utilisateur ne choisi aucune contrainte, le nombre est généré aléatoirement parmi tous les ensemble sur l'intervalle -infini ; +infini sachant que ceci n'est pas réaliste, nous limiterons probablement avec des bornes par défaut qu'il nous reste à définir.
Pour les personnes arrivant à lire ceci jusqu'au bout, je vous remercies de votre attention et de l'aide que vous pourrez nous apporter sur ce problème épineux.
Cordialement.
Partager