2012-03-07 4 views
-1

Supposons que A peut prendre les valeurs suivantes [0,1,...,100]. W (ou poids) peut prendre [0.0,0.1,...,1.0]. Qu'est-ce qu'une bonne formule de notation pour pondérer les deux A et W tels que le score, S, est:Notation Formule

"good" when A and W are high 
decent/"doesn't matter" when A is high and W is low 
decent/"doesn't matter" when A and W are low 
"bad" when A is low and W is high 

Note: Il est souvent le cas que A est 0 et W est faible. Je veux empêcher X d'avoir un mauvais score alors.

+0

Est-ce que ce travail est fait? Pouvez-vous définir "haut" et "bas"? N'est-ce pas une question mathématique, plutôt qu'une question de programmation? –

Répondre

0

Procédé qui vous donnera une lorsque A = 100 et B = 1 sont élevés, -1 lorsque A = 0 et B = 1 et 0 lorsque B = 0 avec un mélange bilinéaire entre ces valeurs est la suivante:

a = 2*(A/100)-1 
b = B 

score = b * a 

Vous aurez besoin de redimensionner/seuil la sortie pour obtenir ce que vous voulez. Si vous voulez réellement que les valeurs textuelles soient votre retour, vous aurez besoin de quelque chose comme ceci ajouté à la fin.

if(score<-0.5) return "bad" 
if(score>0.5) return "good" 
return "decent/doesn't matter"