¿Cómo puedo llegar a una ecuación de retorno decreciente simple?

25

Existen fórmulas para una ecuación de retorno decreciente; sin embargo, esos generalmente implican exponencial. ¿Qué otras formas hay para llegar a tal ecuación? Tomemos, por ejemplo, el siguiente caso de prueba: una granja produce 10 alimentos, por cada 10 granjas producidas, la tasa de producción cae un 5%.

Extrakun
fuente
1
Puede ser útil que nos diga por qué quiere evitar exponenciales. En particular, son expresiones de la forma x ^ y ( x elevado a la y poder -ésima) alejado demasiado (ya que las computadoras suelen calcular los que utilizan exponenciales, al menos para no entero y )?
Ilmari Karonen
77
"Por cada diez granjas producidas, la tasa de producción cae en un 5%". Eso es, uh, esencialmente exponencial: y = 0.9 ^ (piso (x / 10)). Como @IlmariKaronen pregunta, ¿qué hay de malo en lo exponencial?
wchargin
1. Difícil de explicar a los que no son desarrolladores (y algunos desarrolladores tienen problemas con exponencial) 2. Tengo la impresión de que es costoso
Extrakun
2
No hay absolutamente nada ineficiente en el uso de ecuaciones exponenciales. Creo que lo que está pensando es en algoritmos en los que el número de pasos aumenta exponencialmente en comparación con el tamaño de la entrada (por ejemplo, el tamaño de una matriz que desea ordenar). Esto se conoce como "O", por ejemplo, se podría decir que un algoritmo (o función) particular toma O (n) pasos para ejecutarse. Un algoritmo en el que los pasos aumentan exponencialmente podría describirse como tomar pasos O (n al cuadrado), por ejemplo. Esto es totalmente diferente a tener una sola ecuación que tenga un término exponencial.
Max Williams
1
Creo que Extrakun podría estar pensando en este tipo de "costoso": stackoverflow.com/questions/2940367/… . Reiterar lo que todos los demás dicen: no es caro. Si no se siente cómodo con los exponenciales, busque explicaciones accesibles de ellos (tal vez betterexplained.com/articles/… ), no los evite.
Kristina

Respuestas:

30

Para formular una ecuación de rendimientos decrecientes, inmediatamente pensaría en fracciones.

Gráfico de 1 / F Este es un gráfico de y=1/F

yse hará más pequeño a medida que se Fhace más grande. Esto le dará un descenso constante que nunca llega a 0. De esto puede transformarlo para obtener el tipo de curva que desea. Usar números> 0 siempre dará una salida positiva que nunca es 0.

Honestamente, recomendaría ir a WolframAlpha y poner algunas ecuaciones y mirar los gráficos que dibuja para ver si da la curva que desea. Aparte de eso, lea las ecuaciones lineales y cuadráticas para poder descubrir rápidamente qué es lo que desea modificar en una fórmula. Esto se debe a que modelar gráficos a través de ecuaciones es un tema un poco importante, y si pudiera explicarlo aquí perfectamente, primero vendería esa explicación a algunos maestros de matemáticas.

Básicamente, para gráficos lineales, recuerde y=mx+c. mes el gradiente, y puede ser positivo o negativo según lo que necesite, y ces el punto en el que intercepta el y axis. xes su variable de entrada y yes su salida.

y = mx + c Este es un gráfico de y=mx+cdónde m=1yc=0

Para los gráficos cuadráticos, se vuelve un poco más complicado, por lo que seré un poco impreciso y tendrás que leer los detalles tú mismo. Khan Academy es un muy buen recurso para enseñar esto. Es de la forma general y=ax²+bx+c. csigue siendo la intersección y, y puede ajustarla para "levantar" el gráfico. ay bambos afectan la curva de manera similar, pero en diferentes grados.

y = -x² + 2x + 10 Esto es y=-x²+2x+10. Tenga en cuenta el -x², que hace que la curva se invierta.

Básicamente, juegue con los gráficos hasta que obtenga lo que desea, aunque le recomiendo leerlo más si desea diseñar la experiencia de manera rápida y limpia. Las ecuaciones básicas son importantes para los juegos y realmente interesantes.

Otras cosas a tener en cuenta son los gráficos exponenciales y logarítmicos , es decir, gráficos de y=e^xy y=ln(x)para obtener gráficos que aumentan y disminuyen rápidamente dependiendo de la transformación. Además de esto, los vectores y las transformaciones son útiles, ya que describen lo que está haciendo en el gráfico "base".

Yann
fuente
66
Usas "teoría de grafos" un par de veces en la publicación; eso es algo completamente diferente . Creo que lo que está buscando OP se acerca más al modelado.
Caosed0
1
@ Chaosed0 Tienes toda la razón, bromeé. Sin embargo, editado, ta :)
Yann
+1, he jugado varios juegos donde el efecto de algunas estadísticas es básicamente 1/x. Obviamente, para una curva tal que nunca quieres xa ser igual a cero, sin embargo!
Brian S
1
De hecho, recomendaría Desmos sobre WA para diseñar funciones. Las dos razones principales son que es en tiempo real y que es manipulable. Es decir, establecer y = a^xy puede agregar un control deslizante para ajugar con la función. Puedes tener tantos de estos como quieras. Incluso puedes animar los controles deslizantes. Es bastante agradable, en realidad. (Equivalente a Mathematica Manipulate.)
wchargin
1
Graph Toy (que existe desde hace varios años) es una buena herramienta para probar algunas ecuaciones. Lo uso todo el tiempo.
tigrou
20

Rendimientos decrecientes = derivada decreciente

  • Dado que aún desea obtener algunos retornos, incluso a niveles más altos, significa que el derivado debería ser positivo, de lo contrario, la construcción de más granjas disminuiría la producción de alimentos (lo que incluso podría tener sentido si tiene en cuenta la logística y los costos de mantenimiento)
  • Debería acercarse a cero asintóticamente, si va hacia un valor distinto de cero, terminará con un aumento constante por granja en algún nivel
  • dependiendo de qué tan rápido llegue a cero, puede tener un límite superior o una función ilimitada

Entonces, ¿qué necesitas hacer? Elija una función que se ajuste a los criterios anteriores e intégrela.
La opción más simple para esta tarea es g(t,n) = 1/(t+1)^ndonde n=1marca el límite entre las funciones cada vez mayores y acotadas.
La integral de g de 0 a x es lo que necesita: así f(x,n) = ((x+1)**(1-n) - 1)/(1-n)
es como se ven diferentesn

ingrese la descripción de la imagen aquí
Y aquí está normalizado al mismo valor final

ingrese la descripción de la imagen aquí
Al cambiar el exponente n, puede ajustar fácilmente el equilibrio.
Nota: La derivada aquí es la producción por granja, mientras que la integral es la producción total para varias granjas.

DenDenDo
fuente
5

En general, una ecuación lineal comenzará con y = mx + b, donde bestá su valor inicial, y mxes cómo ajusta el valor inicial a medida que xaumenta.

Entonces, la primera parte de su ecuación, la b, será 10porque desea que las granjas comiencen con 10 alimentos.

y = mx + 10

A continuación, en su caso, desea ajustar la comida producida por cada diez granjas. Por lo tanto, deberá dividir entre diez para obtener una ecuación que funcione para cada diez granjas (suponiendo que x / 10devuelve un número entero, es decir 13 / 10 = 1:

y = m * (x / 10) + 10.

Finalmente, tenemos que descubrir cómo queremos que cambie la comida en todas las x / 10granjas. En su caso, desea que disminuya en 0.5 (5% de 10), que es lineal. Entonces obtenemos:

y = -0.5 * ( x / 10 ) + 10.

Entonces, para la granja x = 5, tenemos 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10. Para la granja que x = 11tenemos 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5, para la granja 23, obtendríamos 9.0.

Entonces solo necesita calcular el total de alimentos para todas las granjas.

y = 0
for( x = 0; x < totalFarms; x++ )
{
    y += -5 * ( x / 10 ) + 10;
}

Pero tal vez usted en un 5%, desea que disminuya en un 5% del valor anterior. Es decir, 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025(en este caso, la cantidad que disminuimos disminuye cada vez menos). Entonces modifiquemos la ecuación. 5%es un aumento de tipo exponencial, y la fórmula exponencial es y = b*m^x.

Todavía lo tenemos b = 10, y necesitamos dividir por 10 trucos. Entonces tenemos y = 10*m^(x/10). mes decir 0.95, ya que queremos tomar el 95% del valor cada vez. Entonces la ecuación para granja xes y = 10*0.95^(x/10).

defecto
fuente
4

¿Haría un rendimiento decreciente lineal? producción por granja = (1 - (0.05 * (f / 10))) * tasa de producción. Esto da un pico de producción total (tasa * # de granjas) en f = 100.

usuario55564
fuente
Oye, gracias, aunque estoy buscando principios generales para llegar a la ecuación (Como puedes ver, las matemáticas no son mi fuerte)
Extrakun
2

Es posible que desee considerar una solución algorítmica que coincida con la situación.

Es decir, considere por qué hay rendimientos decrecientes en su situación de juego y modele esos.

Múltiples instalaciones del mismo tipo pueden tener rendimientos decrecientes es que puede haber otros recursos o instalaciones de los que dependen, o que resultan en cuellos de botella u otras situaciones limitantes, como una red de carreteras, o trabajadores disponibles o transporte o agua dulce o electricidad o lo que sea.

Una granja puede producir 10 alimentos por día en circunstancias ideales, pero también requiere dos horas de agricultor por día. También requiere un agua fresca por alimento por día, y su propio pozo solo proporciona hasta 5 agua por día. El resto debe ser tomado de un arroyo o río adyacente o traído en transporte. Y llevar la comida a donde debe ser útil también puede ser un problema. Etc. Elimine algunos o agregue más según lo que desee representar, pero estos pueden ser motivos mucho más interesantes y significativos, que agregan interés y valor a sus otros sistemas de juego, en lugar de una fórmula matemática artificial que no se base en otros elementos del juego. .

Dronz
fuente
1

Si desea una ecuación generalizada, puede usar un gráfico de coseno: A * cos (Bx + C) + D

Pero modifíquelo a medio período, por lo que incluiría el aumento pseudo exponencial al principio, luego un breve período de aumentos lineales, hasta un punto de retorno finalmente decreciente. El único problema con esto es que requeriría crear un techo infranqueable. Entonces, después de una cierta cantidad de granjas, no vería ningún aumento.

La siguiente imagen es un gráfico de aumentos en el ritmo durante carreras de 30 minutos, haciendo exactamente el mismo entrenamiento en preparación. Obviamente no es perfecto, pero es posible que pueda resolver esto para encontrar lo que está buscando.

Ejemplo de curva de coseno utilizada para determinar rendimientos decrecientes

Granpappy Shlongdong
fuente