Advertisement

Diminishing Returns and Simulated Annealing

Started by April 30, 2008 08:34 PM
98 comments, last by Sandman 16 years, 9 months ago
Its not that he's complaining about this imaginary gameplay mechanic, it's that he's proposing it as an alternative to traditional diminishing returns.

I think.
Quote:
Original post by Talroth
A flaw in this thread is we're not talking about what the RETURN is.

from Wikipedia: "According to this relationship, in a production system with fixed and variable inputs (say factory size and labor), beyond some point, each additional unit of variable input yields less and less additional output."

Quote:
I'm surprised nobody picked up on the obvious calculation error in your example.

In your first example you went from 0.01 to 0.02 skill. that is actually a 100% increase in your skill level. Can you see it, your skill level just doubled.

In your second example you went from 0.64 to 0.72. That is a 12.5% increase in the skill level.

I think that is actually a good demonstration of the "Diminishing returns" as I got it.


0.8*0.7=0.56
0.8*0.8=0.64
0.8*0.9=0.72
0.8*1.0=0.80

.64-.56=.08
.72-.64=.08
.80-.72=.08

The VALUE is your RETURN, and it ISN'T diminishing, the returns per unit are equal.


It depends on what you consider your return. I think JasRonq's example was poorly chosen because it's easy to confuse an increase of x percent and an increase of x percentage points. Each time you're increasing the magnitude by a constant 8 percentage points, but the percentage increase is decreasing (14.3%, 12.5%, and 11.1%).

Really, the question is, "What is your return?" Is it the absolute change or the relative change? In many cases, the relative change better models the change in utility and the utility is what we're really after. When the relative change is important, the utility increases logarithmically with the absolute change, so, unless you're getting exponential or better absolute change from your input, you'll see diminishing returns.

An example: Take a factory example where:

output = A(money)a

and A and a are positive constants. If utility follows the absolute change, then:

utility = B(output) = AB(money)a

If a<1 then we have diminishing returns on utility and if a>1 we have accelerating returns on the same. However, if utility follows the relative change, then:

utility = B logb(output)
= B[logb(A) + a logb(money)]

Where you get diminishing returns regardless of the values of the constants.
Advertisement
1. Please don't give this guy any more ammo. He's already switched his stance at least 3 times.

2.
Quote:
It depends on what you consider your return. I think JasRonq's example was poorly chosen because it's easy to confuse an increase of x percent and an increase of x percentage points. Each time you're increasing the magnitude by a constant 8 percentage points, but the percentage increase is decreasing (14.3%, 12.5%, and 11.1%).

Sure, but that reduced % is on a greater principal. The magnitude is what is important (here), not the gain relative to what we already have. I think you have to add in new assumptions in the case that utility is not linearly related to magnitude here (e.g. your exponent 'a'). And I still wouldn't consider a function to be categorised as diminishing returns merely because it fails to exponentially increase a scalar.
Just call it v3.0 if it makes you feel any better.

Quote:
Original post by Sneftel
...so you're saying that there is a theoretical game mechanic out there which nobody does because...
... Because nearly forty years ago (1974), Gary Gygax didn't have a computer. No pretty graphs to mess around with in semi-real time and go "hm, that's odd..."

There's a fairly good argument in a book called Freakonomics that says the Wade vs Roe Supreme Court ruling in the 1970's caused the sudden crime rate drop in the 1990's in the USA. They said it was because legalizing abortion prevented unloved young men from being born. And sure enough, twenty years later, the next generation had many less teenage males causing violent crime.

100 years ago, the streets were filled with horses. And when they brought cars into the picture it was a major health advantage: Horses carried all kinds of disease in fleas and manure. 50 years from now, petrolium oil will be exclusively hoarded by the governments, and civilian vehicles will use something else.

Life is not stationary.

[Edited by - AngleWyrm on May 5, 2008 2:17:36 PM]
--"I'm not at home right now, but" = lights on, but no ones home
Quote:
Original post by Argus2
Quote:
It depends on what you consider your return. I think JasRonq's example was poorly chosen because it's easy to confuse an increase of x percent and an increase of x percentage points. Each time you're increasing the magnitude by a constant 8 percentage points, but the percentage increase is decreasing (14.3%, 12.5%, and 11.1%).

Sure, but that reduced % is on a greater principal. The magnitude is what is important (here), not the gain relative to what we already have. I think you have to add in new assumptions in the case that utility is not linearly related to magnitude here (e.g. your exponent 'a').


I actually have trouble thinking of an example where the absolute change is what I care about. In, say, a Final Fantasy, I might be quite pleased if I could increase my damage by 10 at the beginning, but the same increase isn't worth my time late game. This is because, at the start of the game, this is likely a 100% increase in combat effectiveness (i.e. I went from 10 to 20), later it's a 10% increase (i.e. I went from 100 to 110), and, late game, it's only 1% or less (i.e. going from 2000 to 2010 is only a 0.5% increase). In other words, how much I care about a 10 point increase is dependent on the principal (we could say inversely proportional), but how much I care about a 10% increase is independent of the principal.

And I'm not sure what you're saying about my exponent 'a'. I was considering a situation where the magnitude changes as some arbitrary positive power (i.e. it could increase as the square root in AngleWyrm's example, or it could increase as the cube of the money you invested, or whatever). I then considered what that would mean under two different measures of utility: one where utility was proportional to the magnitude (e.g. I would always care the same about a 10 point increase) and one where utility was proportional to the log of the magnitude (e.g. I would always care the same about a 10 percent increase).

Quote:

And I still wouldn't consider a function to be categorised as diminishing returns merely because it fails to exponentially increase a scalar.


It's not in the general case. I only claimed that it was when the relative change is how you measure the change in utility.

Assuming the relative change is what's important, then you need at least exponential growth to keep the second derivative non-negative (exponential growth makes the second derivative 0). If the second derivative is negative, then the first derivative (the return) is decreasing (diminishing).
Quote:
Original post by Way WalkerReally, the question is, "What is your return?" Is it the absolute change or the relative change? In many cases, the relative change better models the change in utility and the utility is what we're really after. When the relative change is important, the utility increases logarithmically with the absolute change, so, unless you're getting exponential or better absolute change from your input, you'll see diminishing returns.

An example: Take a factory example where:

output = A(money)a

and A and a are positive constants. If utility follows the absolute change, then:

utility = B(output) = AB(money)a

If a<1 then we have diminishing returns on utility and if a>1 we have accelerating returns on the same. However, if utility follows the relative change, then:

utility = B logb(output)
= B[logb(A) + a logb(money)]

Where you get diminishing returns regardless of the values of the constants.


An excellent example: The superscript in A(money)a can also be viewed as a count of dimensions. If it does not equal 1, then the mathematical model might be decomposable. A square's area is still height*width, but we write height=width, therefore area=height2. For the factory example, if moneya ≠ money, then perhaps there is a second (or third) dimension involved in the composite value labelled 'output'.

However, the thinking shift (and one that has confused everyone, including myself) is the direction of use. It can be seen by re-labelling the composite value 'input', and switching the sides of the equation:

x * y = input

The application of input is being distributed among more than one output -- in this case x and y. It is then a choice, an optimization problem as to how best to distribute input amongst x and y.
--"I'm not at home right now, but" = lights on, but no ones home
Advertisement
@Way Walker
I appreciate your point that there are games where linear increases become less valuable to the player as the base value rises.

What I am trying to say is that this observation requires some information additional to the example under discussion. If one was asked whether the following function demonstrates diminishing returns:
Damage = Strength * WeaponPower
there's no way to tell what kind of utility damage provides. The assumption is that it's linear for the purposes of the evaluation. Else I could say that it could be any of diminishing, linear, or (increasing) returns, depending on how one chose to map damage onto utility. Could we ever reasonably say that the function C=A*B represents diminishing returns?
Quote:
I actually have trouble thinking of an example where the absolute change is what I care about.

It's true, most games require exponential increases to sate the player's appetite for destruction. But take WoW for example - the designers do their best to keep gains strictly linear, and so players are quite happy with their moderate increases in weapon dps etc.

EDIT: clarity


[Edited by - Argus2 on May 5, 2008 5:07:11 PM]
Here's a graph of the function C=A*B. Looks like a set of parabolas, going from linear in A on one axis to linear in B on the other, and passing through C=A2 on the diagonal. The second graph is a rotation of the first.


The equation:
Damage = Strength * WeaponPower
is somewhat befuddling, because 'Damage' is not generally thought of as resource that players can use to purchase things with, such as improved Strength and WeaponPower.

If the intent is to purchase better 'Damage' at a diminishing rate:
money = Damage * Strength
Where the trait Strength may have other implications, such as carrying capacity.

It may be that this decomposition of dimensions removes the need for 'money' to be anything other than linear. It might even be that non-linear 'money' is an indicator of more variables to be found.

[Edited by - AngleWyrm on May 5, 2008 6:40:15 PM]
--"I'm not at home right now, but" = lights on, but no ones home
Quote:
Original post by AngleWyrm
x * y = input

The application of input is being distributed among more than one output -- in this case x and y. It is then a choice, an optimization problem as to how best to distribute input amongst x and y.


Here's an example of optimizing:

output = A xaya
x = B mb
y = C nc

Where m is the amount of input spent on x and n is the amount of input spent on y. Taking the gradient of output we see that we get the most output when:

(m/n)^2 = b/c


But, I think what you're saying in your own, to use your word, befuddled way is that saying "output = f(x) and x = g(input)" is the same as saying "output = x and x = f(g(input))".

Quote:
Original post by Argus2
I appreciate your point that there are games where linear increases become less valuable to the player as the base value rises.

What I am trying to say is that this observation requires some information additional to the example under discussion.


I don't think I ever said otherwise. I gave two different analyses and I gave the additional information that'd be needed to know which (if either) was applicable.

Quote:

Could we ever reasonably say that the function C=A*B represents diminishing returns?


Of course not, but I took it to be implicit that JasRonq was looking at the return on C from investing in A and B while Radan was looking at the return on utility to his character from investing in A and B (utility being a function of C which in turn is a function of A and B). Like I was asking, "What is your return?"

Quote:

Quote:
I actually have trouble thinking of an example where the absolute change is what I care about.

It's true, most games require exponential increases to sate the player's appetite for destruction. But take WoW for example - the designers do their best to keep gains strictly linear, and so players are quite happy with their moderate increases in weapon dps etc.


I haven't played WoW (or many other recent games), so could you elaborate on how WoW manages this? How does it acheive the same benefit when something goes from 1 to 2 as it does going from 10 to 11?
Quote:
Original post by Way Walker
Here's an example of optimizing:

output = A xaya
x = B mb
y = C nc

Where m is the amount of input spent on x and n is the amount of input spent on y. Taking the gradient of output we see that we get the most output when:

(m/n)^2 = b/c

Which is a [insert favorite modifier here] way of saying "along the diagonal, where x=y".
My sister, in high heels and lipstick.

Why would a player want to make a lossy tradeoff? One mod to a game called Space Empires offered the player the option to build ships with componants that were sub-optimal in one way or another. They could buy a whole lot of little armor, or a few big armor. The little parts took up less total space for the same hitpoints, but shipyard repairs were conducted on a parts per month basis.

[Edited by - AngleWyrm on May 5, 2008 7:05:18 PM]
--"I'm not at home right now, but" = lights on, but no ones home

This topic is closed to new replies.

Advertisement