La fonction d'utilité n'est pas du vent: c'est du vocabulaire, qui désigne une fonction quelconque
Et je me suis mélangé un peu... Ta notation n'est pas une notation classique.
S(t) = ∑(r; Wr(t)*Sr(t) ) / ∑(r; Wr(t) )
Où Wr(t) est le poids associé à une ressource r à la date t
Sr(t) est la satisfaction à la date t pour la ressource r
S(t) la satisfaction totale à la date t
Wr n'est pas forcément normalisé, mais avec une telle formule (qui est une formule de moyenne pondérée classique), S sera normalisée (entre 0 et 1) si les Sr sont normalisées.
Pour l'histoire d'infini, si l'agent cherche à maximiser sa satisfaction, il veut donc maximiser U. Il faut donc que U admette un maximum. Or, certaines fonctions d'utilité peuvent ne pas admettre de maximum: U = ln par exemple n'admet pas de maximum. En de tels cas, l'agent ne serait satisfait (maximum d'utilité) que si la quantité de ressource atteint "+l'infini".
Borner U ne changerait rien:
Avec q≥0 la quantité de ressources.
U(q) est borné: elle ne dépassera jamais 2, et pour autant, U(q) n'admet pas de maximum: q doit tendre vers l'infini pour que l'utilité U soit maximale.
Pour y remédier, il faudrait alors soit:
En effet, si ta fonction U est continue sur q=[0..+∞], et si U(+∞) = -∞, alors U admettra un maximum "quelque part", maximum que l'agent cherchera à atteindre.
Et je me suis mélangé un peu... Ta notation n'est pas une notation classique.
S(t) = ∑(r; Wr(t)*Sr(t) ) / ∑(r; Wr(t) )
Où Wr(t) est le poids associé à une ressource r à la date t
Sr(t) est la satisfaction à la date t pour la ressource r
S(t) la satisfaction totale à la date t
Wr n'est pas forcément normalisé, mais avec une telle formule (qui est une formule de moyenne pondérée classique), S sera normalisée (entre 0 et 1) si les Sr sont normalisées.
Pour l'histoire d'infini, si l'agent cherche à maximiser sa satisfaction, il veut donc maximiser U. Il faut donc que U admette un maximum. Or, certaines fonctions d'utilité peuvent ne pas admettre de maximum: U = ln par exemple n'admet pas de maximum. En de tels cas, l'agent ne serait satisfait (maximum d'utilité) que si la quantité de ressource atteint "+l'infini".
Borner U ne changerait rien:
Code :
U(q) = 2 - 1/q
U(q) est borné: elle ne dépassera jamais 2, et pour autant, U(q) n'admet pas de maximum: q doit tendre vers l'infini pour que l'utilité U soit maximale.
Pour y remédier, il faudrait alors soit:
- Limiter la quantité de ressources, par exemple restreindre q à [0..100], auquel cas le U(q) est maximum pour q = 100, ou bien
- Utiliser des fonctions qui tendent vers -∞ quand q tend vers +∞
En effet, si ta fonction U est continue sur q=[0..+∞], et si U(+∞) = -∞, alors U admettra un maximum "quelque part", maximum que l'agent cherchera à atteindre.