감소하는 리턴 방정식에 대한 공식이 있습니다. 그러나 일반적으로 지수와 관련됩니다. 그러한 방정식을 도출하기위한 다른 방법은 무엇입니까? 예를 들어, 다음 테스트 사례를 보자. 한 농장에서 10 개의 식량을 생산하고 10 개의 농장마다 생산 률이 5 % 감소합니다.
감소하는 리턴 방정식에 대한 공식이 있습니다. 그러나 일반적으로 지수와 관련됩니다. 그러한 방정식을 도출하기위한 다른 방법은 무엇입니까? 예를 들어, 다음 테스트 사례를 보자. 한 농장에서 10 개의 식량을 생산하고 10 개의 농장마다 생산 률이 5 % 감소합니다.
답변:
감소하는 반환 방정식을 공식화하기 위해 즉시 분수를 생각합니다.
이것은 그래프입니다 y=1/F
y
F
커질 수록 작아 집니다. 이렇게하면 0에 도달하지 않는 안정적인 드롭 오프가 제공됩니다.이를 통해 원하는 곡선을 얻도록 변환 할 수 있습니다. 숫자> 0을 사용하면 항상 0 이 아닌 양의 출력이 제공 됩니다 .
솔직히 WolframAlpha로 가서 방정식을 넣고 원하는 곡선을 제공하는지 확인하는 그래프를 보는 것이 좋습니다. 그 외에는 선형 및 2 차 방정식을 읽어서 수식에서 변경하려는 것이 무엇인지 신속하게 파악할 수 있습니다. 이것은 방정식을 통한 그래프 모델링이 큰 주제이기 때문에 여기에서 완벽하게 설명 할 수 있다면 먼저 그 설명을 일부 수학 교사에게 판매 할 것입니다.
기본적으로 선형 그래프의 경우 기억하십시오 y=mx+c
. m
그라디언트이며 필요한 내용에 따라 양수 또는 음수 일 수 c
있으며을 가로채는 지점 y axis
입니다.x
입력 변수이고 y
출력입니다.
이것은 y=mx+c
어디 의 그래프입니다m=1
와c=0
이차 그래프의 경우 조금 더 복잡해 지므로 조금 모호해질 것이므로 세부 사항을 스스로 읽어야합니다. 칸 아카데미 는 이것을 가르치는 데 정말 좋은 자료입니다. 일반적인 형태 y=ax²+bx+c
입니다. c
여전히 y 절편이며 그래프를 "리프팅"하도록 조정할 수 있습니다. a
그리고 b
둘은 유사하지만 서로 다른 도로 곡선에 영향을 미칩니다.
이것은 y=-x²+2x+10
. -x²
곡선을 거꾸로하는를 참고하십시오 .
기본적으로 원하는 것을 얻을 때까지 그래프를 가지고 놀아보십시오. 경험을 빠르고 깨끗하게 디자인하려면 더 자세히 읽어 보는 것이 좋습니다. 기본 방정식은 게임에 중요하고 정말 재미 있습니다.
참고 다른 물건은 , 지수 및 대수 그래프, 즉 그래프 y=e^x
와 y=ln(x)
변환에 따라 급격히 증가 얻기 위해 빠르게 감소하는 그래프. 뿐만 아니라 벡터 및 변형은 "기본"그래프를 수행하는 작업을 설명하므로 유용합니다.
1/x
. 물론 이러한 곡선에 대한 당신이 원하는 결코 x
위해 동일 하지만, 제로!
수익 감소 = 미분 감소
그래서 어떻게해야합니까? 위의 기준에 맞는 기능을 선택하여 통합하십시오.
이 작업에 대한 간단한 선택이 될 것입니다 g(t,n) = 1/(t+1)^n
곳 n=1
마크도 증가하고 제한된 기능 사이의 경계.
0에서 x까지의 g의 적분은 다음과 같습니다.f(x,n) = ((x+1)**(1-n) - 1)/(1-n)
것입니다.n
그리고 여기에 동일한 최종 값으로 정규화되었습니다.
지수 n
를 변경하면 균형 조정을 쉽게 조정할 수 있습니다
. 참고 : 여기서 파생 항목은 팜당 생산량이며, 적분은 여러 팜의 총 생산량입니다.
일반적으로 선형 방정식은 y = mx + b
, 여기서 b
시작 값은 어디 이며 시작 값은 다음과 mx
같이 조정됩니다.x
증가 입니다.
방정식의 첫 번째 부분은 b
이 될 것입니다 10
당신이 농장은 10 음식에서 시작하고 싶어하기 때문이다.
y = mx + 10
다음으로, 귀하의 경우 10 농장마다 생산하여 음식을 조정하고 싶습니다. 따라서 10 개 농장마다 작동하는 방정식을 얻으려면 10으로 나누어야합니다.x / 10
즉, 정수를 반환13 / 10 = 1
:
y = m * (x / 10) + 10.
마지막으로, 우리는 모든 음식이 어떻게 바뀌길 원하는지 알아 내야합니다. x / 10
농장 . 귀하의 경우 선형으로 0.5 (10의 5 %)만큼 감소하기를 원합니다. 그래서 우리는 얻는다 :
y = -0.5 * ( x / 10 ) + 10.
농장의 경우 x = 5
, 우리가 얻을 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10
. 농장의 x = 11
경우11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5
, 농장 23의 경우 9.0을 얻습니다.
그런 다음 모든 농장의 총 음식을 계산하면됩니다.
y = 0
for( x = 0; x < totalFarms; x++ )
{
y += -5 * ( x / 10 ) + 10;
}
그러나 아마도 5 %, 이전 값의 5 % 감소하기를 원했을 것입니다. 즉,10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025
(이 경우 감소하는 양이 점점 줄어 듭니다). 방정식을 수정하겠습니다. 5%
지수 형 증가이며 지수 식은입니다 y = b*m^x
.
우리는 여전히 가지고 b = 10
있고, 우리는 10 트릭으로 나누기를해야합니다. 그래서 우리는 있습니다 y = 10*m^(x/10)
. 우리 m
는 0.95
매번 95 %의 값을 원하기 때문에입니다. 따라서 농장의 방정식 x
은 y = 10*0.95^(x/10)
입니다.
상황에 맞는 알고리즘 솔루션을 고려할 수 있습니다.
즉, 이유를 고려하십시오 게임 상황에서 수익이 감소하는 하고이를 모델링하십시오.
동일한 유형의 여러 시설에서 수익이 감소 할 수 있습니다. 의존하는 다른 자원이나 시설이 있거나 병목 현상이 발생하거나 도로 네트워크와 같은 제한적인 상황이나 가용 한 근로자 또는 운송 또는 담수 또는 전기 또는 무엇이든.
이상적인 환경에서 한 농장에서 하루에 10 개의 식량을 생산할 수 있지만 하루에 2 시간의 농부 시간도 필요합니다. 또한 매일 음식 당 하나의 담수가 필요하며, 자체 우물은 하루에 최대 5 개의 물만 제공합니다. 나머지는 인접한 시내 또는 강에서 가져 오거나 운송 수단으로 가져와야합니다. 그리고 음식을 유용한 곳으로 가져가는 것도 문제가 될 수 있습니다. 등 표현하려는 내용에 따라 일부를 제거하거나 더 추가하지만 다른 게임 요소를 기반으로하지 않는 인공 수학 공식과 달리 다른 게임 시스템에 관심과 가치를 더하는 훨씬 더 흥미롭고 의미있는 이유 일 수 있습니다 .
일반화 된 방정식을 엉망으로 만들려면 코사인 그래프를 사용할 수 있습니다. A * cos (Bx + C) + D
그러나 반주기로 수정하면 초기에 의사 지수 상승이 포함 된 다음 짧은 기간의 선형 증가가 최종적으로 감소하는 수익률로 증가합니다. 이것의 유일한 문제는 통과 할 수없는 천장을 만들어야한다는 것입니다. 따라서 일정량의 농장 후에는 증가하지 않을 것입니다.
아래 이미지는 30 분 동안의 페이스 증가율을 나타낸 그래프로, 준비 과정에서 똑같은 운동을합니다. 분명히 완벽하지는 않지만 원하는 것을 찾기 위해이 작업을 수행 할 수 있습니다.