J'essaie d'écrire une fonction de condition physique pour mon algorithme génétique. J'ai trois caractéristiques (F1, F2, F3 - Toutes sont des variables numériques), qui sont prises en compte pour évaluer le chromosome. Si tous sont d'importance égale je peux écrire une telle équation: Fonction de remise en forme - Que faire, si la valeur d'une des caractéristiques du chromosome est beaucoup plus élevée que les autres
Si leur importance serait différente, je peux multiplier les caractéristiques par différentes constantes. Tout fonctionnera si les valeurs des trois entités ont le même intervalle. Mais que se passerait-il si F1 et F2 pouvaient avoir une valeur de (0,10) et F3 par exemple (0,49)? Comment pourrais-je le mettre à l'échelle approximativement? Ou devrais-je l'aborder différemment?
échelle toutes les valeurs à [0..1] (ici vous prenez en compte si vous le souhaitez à l'échelle linéaire ou exponentielle, etc.) se multiplier avec un ' poids »et diviser par la somme des poids. E.g: '(F1 * 4 + F2 * 1 + F3 * 2)/(4 + 1 + 2)' -> [0..1] –
Mais les poids sont constants. Donc, si F1 = 1, F2 = 1, F3 = 30, avec des poids appropriés, toutes les caractéristiques seraient importantes. Si nous utilisons les mêmes poids pour F1 = 1, F2 = 1, F3 = 1 alors F3 serait disproportionnellement moins important. (Ou est-ce que je reçois quelque chose de mal avec votre réponse?) – Thamiar
Si F1 = 1, F2 = 1, F3 = 30, alors F3 est beaucoup plus important (30) que F1 (1) et F2 (1). Si vous attribuez à chaque F le même poids, le résultat final sera le même si tout F change d'un montant spécifique. Si vous attribuez à F3 un poids beaucoup plus élevé que les autres, le résultat changera beaucoup plus si F3 change. * edit: * Mélangez-vous l'échelle et le poids? Parce que vous devez mettre à l'échelle ces valeurs ** avant ** vous les pesez. –