Page 1 of 2 [ 17 posts ]  Go to page 1, 2  Next

Legato
Veteran
Veteran

User avatar

Joined: 17 Jan 2008
Age: 39
Gender: Male
Posts: 822

21 Jan 2009, 6:08 am

I have a "problem" with mathematically modeling everything I can. I suspect that the model I'm trying to create requires calculus (precalc is the highest math I've done so far) as the logarithmic\exponential models I've been trying don't quite seem to fit, and I don't know of a way to force a rational function with a horizontal asymptote to increase\decrease at a certain rate... maybe I'm missing something (if I am, I'll bet it's blatantly obvious). Anyway, I'm losing sleep over this, so here's the scoop.

To put this in context, EVE Online's standings system works on missions. For the purpose of this model, we'll use a "standing increase" of 1% per mission "run". Thing is, you can (theoretically) never reach perfect standing; it's asymptotic like that. (y = 1 would be that asymptote)

x will be number of missions
y will be standing after missions are complete

Essentially, your standing increase is 1 - (current standing %) of the actual mission run standing increase (1% increase here). For example, if you have zero standing, then you will get the full 1% standing boost (when x increments from 0 to 1). If you have 50% standing then you will receive 0.5% standing boost when x increments (so the next value would be 50.5%), and at 75% standing, you will get a 0.25% standing boost (75.25% total), etc.

In fact, f(x) = -x + 1 models the percent of the standing increase you receive where x is your current standing (0 <= x < 1)

This model will show the standing you get after x amount of missions that yield a 1% base boost in standing. Of course, the inverse of this model will show how many missions it would take to achieve x standing, but I can figure the inverse out myself.

Oh, and I really only care about what the model does when x > 0, so long as it's one-to-one (has an inverse function).

Ideally, the mission's standing reward should be easily changeable, so if the missions yield a 1.6% standing increase, then changing one variable in the model to reflect that will give you a standing increase of 0.8% at 50% standing, 0.4% at 75% standing, etc. But this part isn't mandatory.

Can someone help me out? :D



Last edited by Legato on 21 Jan 2009, 8:35 am, edited 1 time in total.

JPmoney
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 1 Dec 2007
Gender: Male
Posts: 49
Location: Minnesota

21 Jan 2009, 7:54 am

Can you please clarify more? Are you saying that your missions go on forever? In that case there could be infinitely many models. For instance, I could increase by 0.001%, then 0.0001%, then 0.00001%, and so on, in addition to the standing boost. Or I could increase by 0.002%, 0.0002%, 0.00002%, and so on. Those are examples of a series (a calculus concept). If you want I can help you with that.

But the information I have so far is

percent_after_boost = percent_before_boost + (1 - 0.01 * percent_before_boost)
percent_after_boost = 0.99 * percent_before_boost + 1

But I really need to know: Are there infinitely many missions? Also, are you familiar with the use of the Greek letter Σ in mathematics?



Legato
Veteran
Veteran

User avatar

Joined: 17 Jan 2008
Age: 39
Gender: Male
Posts: 822

21 Jan 2009, 8:31 am

Yes, there are infinitely many potential missions you could run. (although they can take 10 mins to 1 hour each)

Yes, your standing would asymptotically approach 1, but never reach it because your actual standing increase would infinitely decrease.

When I say model, I mean a function, an equation. I'm looking for something kind of like the top half of the "Logistics Growth Model" here: http://people.richland.edu/james/lectur ... odels.html

I know *of* sigma and the most basic info about its usage, but I cannot say I've ever used it.



Dussel
Veteran
Veteran

User avatar

Joined: 19 Jan 2009
Age: 62
Gender: Male
Posts: 1,788
Location: London (UK)

21 Jan 2009, 8:48 am

I also do not understand fully what you want. You mean something like this recursive function:

f (n) := (1 - 0.01) * f (n - 1)

And you need function which defines you f (n) with a given f(0) without the recursion? I am correct?

If this would be the case, we could write:

f (n) = (1 - 0.01) * f (n - 1) = (1 - 0.01)^2 * f (n - 2) = (1 - 0.01)^3 * f (n - 3) = ... = (1 - 0.01)^n f (0)



Last edited by Dussel on 21 Jan 2009, 11:09 am, edited 1 time in total.

Legato
Veteran
Veteran

User avatar

Joined: 17 Jan 2008
Age: 39
Gender: Male
Posts: 822

21 Jan 2009, 9:16 am

I came up with something slightly different since yours might have an issue when f(0) = 0.

a = base standing
r = result
.01(1 - a) + a = r
.99a + .01 = r

Therefore...

f(x) = .99( f(x - 1) ) + .01

f(0) = 0
f(1) = .99( f(0) ) + .01 = .01
f(2) = .99( f(1) ) + .01 = .0199
etc

These are the numbers and pattern I'm expecting, but it seems like I'm going to need to make a quick program to do this kind of thing (a simple for statement should do the whole thing...). I swear there should be a way to sketch up an quick exponential or logarithmic model or rational function... oh well I guess...


EDIT: Wait.... what if we shifted the whole thing one unit left... force f(0) to be .01
My brain hurts. I should just wait til calc for this one >_<



Shiggily
Veteran
Veteran

User avatar

Joined: 1 Dec 2008
Age: 42
Gender: Female
Posts: 1,317

21 Jan 2009, 10:14 am

http://en.wikipedia.org/wiki/Logistic_function

?

if it is growth with restriction/limitation then you are talking about logistic growth and not exponential growth.



otherwise you could be looking at a limit.

But I am not sure I really understand what you are looking for based on your post.


_________________
ADHD-diagnosed
Asperger's Syndrome-diagnosed


lau
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 77
Gender: Male
Posts: 9,798
Location: Somerset UK

21 Jan 2009, 12:04 pm

I also have no idea what you are asking for.

However, to take roughly what you seem to be talking about, please consider NOT the "standing" figure, but the "lying down" figure.

I.e. forget all this mixed talk of percentages and subtraction from one.

Consider just the value (0 to 1) by which you are not at perfect standing.

For a series of "1% missions", they will each reduce you "lying down" by a factor of 0.99. I.e. that figure decreases exponentially, and is asymptotic to zero.

After one hundred such missions, the figure will go from unity to 0.99^100, which is approximately 1/e.

Naturally, in the midst of all these machinations, I'm sure you'll run across rounding problems.


_________________
"Striking up conversations with strangers is an autistic person's version of extreme sports." Kamran Nazeer


twoshots
Veteran
Veteran

User avatar

Joined: 26 Nov 2007
Age: 40
Gender: Male
Posts: 3,731
Location: Boötes void

21 Jan 2009, 5:19 pm

Legato wrote:
I came up with something slightly different since yours might have an issue when f(0) = 0.

a = base standing
r = result
.01(1 - a) + a = r
.99a + .01 = r

Therefore...

f(x) = .99( f(x - 1) ) + .01

f(0) = 0
f(1) = .99( f(0) ) + .01 = .01
f(2) = .99( f(1) ) + .01 = .0199
etc

These are the numbers and pattern I'm expecting, but it seems like I'm going to need to make a quick program to do this kind of thing (a simple for statement should do the whole thing...). I swear there should be a way to sketch up an quick exponential or logarithmic model or rational function... oh well I guess...


EDIT: Wait.... what if we shifted the whole thing one unit left... force f(0) to be .01
My brain hurts. I should just wait til calc for this one >_<

:lol: I just went through the whole shebang with matrices and difference equations and whatnot all just to show that, yes, the criteria you give, lead to the closed form equation:
SPOILER wrote:
f(n)=1-(99/100)^n


_________________
* here for the nachos.


twoshots
Veteran
Veteran

User avatar

Joined: 26 Nov 2007
Age: 40
Gender: Male
Posts: 3,731
Location: Boötes void

21 Jan 2009, 10:35 pm

I find the method used to turn a recursion into a formula interesting, as I didn't learn it back in linear like I probably should've :? So I'm going to explain it.
Basic concepts: for matrix A, let's say 2X2, there exist "eigenvalues" u,v, and "eigenvectors" u,v, such that Au=uu and similarly for v. The theory of what are called eigenvalues is very interesting and extends far into other not obviously related areas of mathematics, but we need only concern ourselves with the linear algebra version.

The fundamental idea, is that we can represent f(n+1) with matrix multiplication. For the case we are dealing with here, we know that f(n+1) = .01+.99f(n). Since we want to make a 2X2 matrix out of this, we first use this for setting up the bottom row:

Code:
[      ]=[       ] *[ 1  ]
[f(n+1)] [.01 .99]  [f(n)]

We just need to set up a simple dummy row for the first. I've chosen to just use:
Code:
[   1  ]=[ 1    0] *[ 1  ]
[f(n+1)] [.01 .99]  [f(n)]

let this be written x(n+1) = Ax(n)
Since we can write this in this form it follows that we can write x(n) in general as
x(n) = A^n x(0)
Now, going back to the notion of eigenvectors, we find that we can write x(0) = au+bv, so our equation now becomes
x(n) = A^n(au+bv) = aA^nu+bA^nv
but we know that Au = uu, and hence A^2u = uAu = u^2u, etcetera, so that A^nu = u^nu. Similar reasoning applies for the v part of the equation.
Hence, we have the solution for x(n) in terms of the eigenvectors and eigenvalues. That is,
x(n) = au^nu+bv^nv
It only remains to perform the handful of steps to get the eigenvectors/values and a,b, and then we can just read off the bottom line to get the closed form equation.


_________________
* here for the nachos.


Legato
Veteran
Veteran

User avatar

Joined: 17 Jan 2008
Age: 39
Gender: Male
Posts: 822

22 Jan 2009, 2:55 am

Woah, yeah that stuff is way over my head. Eigenwhats now? :P

f(n)=1-(1 - .01)^n works great. The inverse would then have to be.....

f(n)= log(-n + 1) / log(1 - .01)

...and that .01 can be adjusted to any mission reward base percentage... awesome.

Thanks man :D



Shiggily
Veteran
Veteran

User avatar

Joined: 1 Dec 2008
Age: 42
Gender: Female
Posts: 1,317

22 Jan 2009, 4:05 am

Legato wrote:
Woah, yeah that stuff is way over my head. Eigenwhats now? :P

f(n)=1-(1 - .01)^n works great. The inverse would then have to be.....

f(n)= log(-n + 1) / log(1 - .01)

...and that .01 can be adjusted to any mission reward base percentage... awesome.

Thanks man :D


linear algebra. it is basic lower level math for college.


_________________
ADHD-diagnosed
Asperger's Syndrome-diagnosed


Dussel
Veteran
Veteran

User avatar

Joined: 19 Jan 2009
Age: 62
Gender: Male
Posts: 1,788
Location: London (UK)

22 Jan 2009, 4:09 am

Legato wrote:
Woah, yeah that stuff is way over my head. Eigenwhats now? :P


Look up: Bronshtein, Handbook of Mathematics, 3rd English Ed., Chapter 2.4.4.5.1



Dussel
Veteran
Veteran

User avatar

Joined: 19 Jan 2009
Age: 62
Gender: Male
Posts: 1,788
Location: London (UK)

22 Jan 2009, 4:10 am

Shiggily wrote:
linear algebra. it is basic lower level math for college.


I had this in High School ...



twoshots
Veteran
Veteran

User avatar

Joined: 26 Nov 2007
Age: 40
Gender: Male
Posts: 3,731
Location: Boötes void

22 Jan 2009, 9:12 am

Dussel wrote:
Shiggily wrote:
linear algebra. it is basic lower level math for college.


I had this in High School ...

With eigenwhatnots, really?


_________________
* here for the nachos.


Dussel
Veteran
Veteran

User avatar

Joined: 19 Jan 2009
Age: 62
Gender: Male
Posts: 1,788
Location: London (UK)

22 Jan 2009, 9:39 am

twoshots wrote:
Dussel wrote:
Shiggily wrote:
linear algebra. it is basic lower level math for college.


I had this in High School ...

With eigenwhatnots, really?


Yes - In Germany: Specialist School for electrical Engineering in the early 1980s. We were only 10 in the course Higher Maths and run through the curriculum in the the first two of three years and than we had some fun with more interesting things, like Eigenvalue or Fourier-Transformations.

Edit: Asperger was at this time not any issue, but when I recapitulate the other students in this course, I think now we Aspies were in the majority.



Shiggily
Veteran
Veteran

User avatar

Joined: 1 Dec 2008
Age: 42
Gender: Female
Posts: 1,317

22 Jan 2009, 10:55 am

Dussel wrote:
Shiggily wrote:
linear algebra. it is basic lower level math for college.


I had this in High School ...



very very very basic linear algebra (matrices, etc.) can be found in high school texts integrated into other subjects such as PreCalc or Algebra 1.

The singular subject linear algebra is distinctly college level.


_________________
ADHD-diagnosed
Asperger's Syndrome-diagnosed