ฉันจะสร้างสมการผลตอบแทนลดลงอย่างง่ายได้อย่างไร


25

มีสูตรสำหรับสมการส่งคืนที่ลดน้อยลง อย่างไรก็ตามสิ่งเหล่านี้มักจะเกี่ยวข้องกับการอธิบาย มีวิธีอื่นอีกไหมในการหาสมการดังกล่าว ยกตัวอย่างเช่นกรณีทดสอบต่อไปนี้ - หนึ่งฟาร์มผลิตอาหาร 10 ชนิดสำหรับทุก ๆ 10 ฟาร์มที่ผลิตอัตราการผลิตลดลง 5%


1
มันอาจช่วยถ้าคุณบอกเราว่าทำไมคุณต้องการหลีกเลี่ยงการอธิบาย โดยเฉพาะอย่างยิ่งนิพจน์ของรูปแบบx ^ y ( xยกกำลังy- th) ออกมาด้วย (เนื่องจากคอมพิวเตอร์มักจะคำนวณการใช้เลขชี้กำลังอย่างน้อยสำหรับผู้ที่ไม่ใช่จำนวนเต็มy )?
Ilmari Karonen

7
"สำหรับฟาร์มทุกสิบที่ผลิตอัตราการผลิตจะลดลง 5%" นั่นคือเอ่อ, เป็นหลักชี้แจง: y = 0.9 ^ (ชั้น (x / 10)) เช่น @IlmariKaronen ถามว่าเกิดอะไรขึ้นกับเลขชี้กำลัง?
wchargin

1. ยากที่จะอธิบายให้กับผู้ที่ไม่ใช่นักพัฒนา (และนักพัฒนาบางคนมีปัญหากับเอ็กซ์
โปเนน

2
ไม่มีอะไรที่ไม่มีประสิทธิภาพเลยสำหรับการใช้สมการเลขชี้กำลัง ฉันคิดว่าสิ่งที่คุณคิดคืออัลกอริธึมที่จำนวนขั้นตอนเพิ่มขึ้นอย่างมากเมื่อเทียบกับขนาดของอินพุต (เช่นขนาดของอาร์เรย์ที่คุณต้องการเรียงลำดับ) สิ่งนี้เรียกว่า "O" เช่นคุณอาจบอกว่าอัลกอริทึมเฉพาะ (หรือฟังก์ชัน) ใช้ O (n) ขั้นตอนในการเรียกใช้ อัลกอริทึมที่ขั้นตอนเพิ่มขึ้นชี้แจงอาจอธิบายว่าทำตามขั้นตอน O (n กำลังสอง) นี่คือความแตกต่างอย่างสิ้นเชิงกับการมีสมการเดียวซึ่งมีคำอธิบายอยู่
Max Williams

1
ฉันคิดว่า Extrakun อาจกำลังคิดว่า "แพง:" stackoverflow.com/questions/2940367/ แบบนี้ เพื่อย้ำสิ่งที่คนอื่นพูด: มันไม่แพงเลย หากคุณอึดอัดกับการอธิบายให้ค้นหาคำอธิบายที่สามารถเข้าถึงได้ของพวกเขา (อาจจะดีกว่าอธิบาย / ศิลปะ / ...... ) อย่าหลีกเลี่ยงพวกเขา
kristina

คำตอบ:


30

สำหรับการสร้างสมการผลตอบแทนลดลงฉันจะคิดเศษส่วนทันที

กราฟ 1 / F นี่คือกราฟของ y=1/F

yจะเล็กลงตามFขนาดที่ใหญ่ขึ้น สิ่งนี้จะทำให้การดรอปดาวน์คงที่ที่ไม่ถึง 0 จากนี้คุณสามารถแปลงมันเพื่อให้ได้เส้นโค้งที่คุณต้องการ ใช้หมายเลข> 0 จะเสมอให้ผลผลิตในเชิงบวกที่เป็นไม่เคย 0

สุจริตฉันขอแนะนำให้ไปWolframAlphaและใส่ในสมการบางอย่างและดูกราฟที่มันวาดเพื่อดูว่ามันให้เส้นโค้งที่คุณต้องการ นอกเหนือจากนั้นให้อ่านสมการเชิงเส้นและสมการกำลังสองเพื่อให้สามารถหาได้อย่างรวดเร็วว่าคุณต้องการเปลี่ยนสูตรอะไร นี่เป็นเพราะการสร้างแบบจำลองกราฟผ่านสมการเป็นเรื่องเล็กน้อยและถ้าฉันสามารถอธิบายได้ที่นี่อย่างสมบูรณ์ฉันจะขายคำอธิบายนั้นให้ครูคณิตศาสตร์บางคนก่อน

y=mx+cโดยทั่วไปสำหรับกราฟเส้นจำ mคือการไล่ระดับสีและสามารถเป็นบวกหรือลบขึ้นอยู่กับสิ่งที่คุณต้องการและเป็นจุดที่มันจุดตัดc เป็นตัวแปรอินพุตของคุณและเป็นเอาต์พุตของคุณy axisxy

การ y = mx + ค นี่คือกราฟของy=mx+cที่m=1และc=0

สำหรับกราฟกำลังสองมันจะซับซ้อนกว่าเล็กน้อยดังนั้นฉันจะค่อนข้างคลุมเครือและคุณจะต้องอ่านข้อมูลเฉพาะของตัวเอง Khan Academyเป็นแหล่งข้อมูลที่ดีสำหรับการสอนสิ่งนี้ y=ax²+bx+cมันเป็นเรื่องของรูปแบบทั่วไป cยังคงเป็นจุดตัดแกน y และคุณสามารถปรับแต่งมันเพื่อ "ยก" กราฟ aและbทั้งสองมีผลต่อเส้นโค้งในทำนองเดียวกัน แต่ต่างองศากัน

การ y = -x² + 2x + 10y=-x²+2x+10นี่คือ สังเกต-x²ซึ่งทำให้เส้นโค้งกลับด้าน

โดยพื้นฐานแล้วลองเล่นกับกราฟจนกว่าคุณจะได้สิ่งที่ต้องการแม้ว่าฉันจะแนะนำให้อ่านมันมากกว่านี้หากคุณต้องการออกแบบประสบการณ์อย่างรวดเร็วและหมดจด สมการพื้นฐานมีความสำคัญต่อเกมและน่าสนใจมาก

สิ่งอื่น ๆ ที่ควรทราบคือกราฟแบบเอ็กซ์โปเนนเชียลและลอการิทึมเช่นกราฟของy=e^xและy=ln(x)เพื่อเพิ่มกราฟที่เพิ่มขึ้นอย่างรวดเร็วและลดลงอย่างรวดเร็วขึ้นอยู่กับการเปลี่ยนแปลง เวกเตอร์และการแปลงมีประโยชน์เช่นเดียวกับที่พวกเขาอธิบายสิ่งที่คุณทำกราฟ "ฐาน"


6
คุณใช้ "ทฤษฎีกราฟ" สองสามครั้งในโพสต์ ที่เป็นสิ่งอื่นทั้งหมด ฉันคิดว่าสิ่งที่ OP กำลังมองหามาใกล้กับแบบจำลอง
Chaosed0

1
@ Chaosed0 คุณพูดถูกจริงๆฉัน derped แก้ไขออกมา, ta :)
Yann

+1 1/xผมได้เล่นหลายเกมที่ผลของสถิติบางส่วนเป็นพื้น เห็นได้ชัดสำหรับเส้นโค้งเช่นคุณไม่ต้องการxที่จะเท่ากับศูนย์ แต่!
Brian S

1
ฉันอยากจะแนะนำDesmosมากกว่า WA สำหรับการออกแบบฟังก์ชั่น เหตุผลหลักสองประการคือมันเป็นแบบเรียลไทม์และสามารถจัดการได้ นั่นคือตั้งค่าy = a^xและคุณสามารถเพิ่มแถบเลื่อนaเพื่อเล่นกับฟังก์ชั่น คุณสามารถมีสิ่งเหล่านี้ได้มากเท่าที่คุณต้องการ คุณสามารถเคลื่อนไหวแถบเลื่อนได้ มันค่อนข้างดีจริง ๆ (เทียบเท่ากับ Mathematica Manipulate.)
wchargin

1
กราฟของเล่น (ซึ่งมีอยู่หลายปี) เป็นเครื่องมือที่ดีในการลองสมการ ฉันจะใช้มันตลอดเวลา.
tigrou

20

Diminishing return = การลดอนุพันธ์

  • เนื่องจากคุณยังต้องการผลตอบแทนสูงกว่าในระดับที่สูงกว่าหมายความว่าอนุพันธ์ควรเป็นบวกมิฉะนั้นการสร้างฟาร์มมากขึ้นจะลดการผลิตอาหาร (ซึ่งอาจสมเหตุสมผลถ้าคุณคำนึงถึงการขนส่งและค่าใช้จ่ายในการบำรุงรักษา)
  • มันควรจะเข้าใกล้ศูนย์ assymptotically ถ้ามันไปสู่ค่าที่ไม่ใช่ศูนย์คุณจะจบลงด้วยการเพิ่มขึ้นอย่างต่อเนื่องต่อฟาร์มในระดับหนึ่ง
  • ขึ้นอยู่กับว่ามันจะไปที่ศูนย์เร็วแค่ไหนคุณสามารถมีขีด จำกัด บนหรือฟังก์ชั่นที่ไม่มีขอบเขต

ดังนั้นคุณต้องทำอะไร เลือกฟังก์ชั่นที่เหมาะกับเกณฑ์ข้างต้นและรวมเข้าด้วยกัน
ทางเลือกที่ง่ายที่สุดสำหรับงานนี้เป็นg(t,n) = 1/(t+1)^nที่n=1เครื่องหมายเขตแดนระหว่างฟังก์ชั่นที่เพิ่มขึ้นและล้อมรอบ
อินทิกรัลของ g จาก 0 ถึง x คือสิ่งที่คุณต้องการ: f(x,n) = ((x+1)**(1-n) - 1)/(1-n)
นี่คือลักษณะที่แตกต่างn

ป้อนคำอธิบายรูปภาพที่นี่
และนี่คือค่าปกติถึงค่าสุดท้าย

ป้อนคำอธิบายรูปภาพที่นี่
โดยการเปลี่ยนเลขชี้กำลังnคุณสามารถปรับสมดุลได้อย่างง่ายดาย
หมายเหตุ: อนุพันธ์ที่นี่คือการผลิตต่อฟาร์มในขณะที่อินทิกรัลคือการผลิตทั้งหมดสำหรับฟาร์มจำนวนหนึ่ง


5

โดยทั่วไปสมการเชิงเส้นจะเริ่มต้นด้วยค่าเริ่มต้นของคุณอยู่y = mx + bที่ไหนbและmxเป็นวิธีที่คุณปรับค่าเริ่มต้นเมื่อxเพิ่มขึ้น

ดังนั้นส่วนแรกของสมการของคุณbคือจะเป็น10เพราะคุณต้องการให้ฟาร์มเริ่มต้นที่ 10 อาหาร

y = mx + 10

ถัดไปในกรณีของคุณคุณต้องการปรับอาหารโดยผลิตโดยทุก ๆ สิบฟาร์ม ดังนั้นคุณจะต้องหารด้วยสิบเพื่อให้ได้สมการที่ใช้ได้กับทุก ๆ สิบฟาร์ม (สมมติว่าx / 10ผลตอบแทนเป็นจำนวนเต็มเช่น13 / 10 = 1:

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

ดังนั้นในที่สุดเราต้องหาวิธีที่เราต้องการให้อาหารเปลี่ยนไปสำหรับทุกx / 10ฟาร์ม ในกรณีของคุณคุณต้องการให้มันลดลง 0.5 (5% จาก 10) ซึ่งเป็นเส้นตรง ดังนั้นเราจึงได้รับ:

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% ของมูลค่าในแต่ละครั้ง ดังนั้นสมการสำหรับฟาร์มคือxy = 10*0.95^(x/10)


4

ผลตอบแทนเชิงเส้นที่ลดลงจะทำอย่างไร ผลผลิตต่อฟาร์ม = (1 - (0.05 - (f / 10))) * อัตราการผลิต สิ่งนี้ช่วยให้ยอดการผลิตโดยรวม (อัตรา * # ของฟาร์ม) สูงสุดที่ f = 100


เฮ้ขอบคุณแม้ว่าฉันกำลังมองหาหลักการทั่วไปที่จะมาถึงสมการ (อย่างที่คุณเห็นคณิตศาสตร์ไม่เหมาะกับฉัน)
Extrakun

2

คุณอาจต้องการพิจารณาโซลูชันอัลกอริทึมที่ตรงกับสถานการณ์

นั่นคือพิจารณาว่าทำไมมีผลตอบแทนลดลงในสถานการณ์เกมของคุณและสร้างแบบจำลองเหล่านั้น

สิ่งอำนวยความสะดวกหลายประเภทเดียวกันอาจมีผลตอบแทนลดน้อยลงนั่นคืออาจมีทรัพยากรหรือสิ่งอำนวยความสะดวกอื่น ๆ ที่พวกเขาพึ่งพาหรือทำให้เกิดปัญหาคอขวดหรือสถานการณ์ จำกัด อื่น ๆ เช่นเครือข่ายถนนหรือคนงานหรือการขนส่งหรือน้ำจืดหรือ ไฟฟ้าหรืออะไรก็ตาม

ฟาร์มหนึ่งแห่งสามารถผลิตอาหารได้ 10 มื้อต่อวันในสถานการณ์ที่เหมาะสม แต่ต้องใช้เกษตรกรสองชั่วโมงต่อวันเช่นกัน นอกจากนี้ยังต้องการน้ำจืดหนึ่งครั้งต่ออาหารต่อวันและบ่อของตัวเองให้มากถึง 5 น้ำต่อวัน ส่วนที่เหลือจะต้องนำมาจากลำธารหรือแม่น้ำที่อยู่ติดกันหรือนำโดยการขนส่ง และการได้รับอาหารไปยังที่ที่จำเป็นต้องมีประโยชน์ก็อาจเป็นปัญหาเช่นกัน เป็นต้นลบบางส่วนหรือเพิ่มขึ้นอยู่กับสิ่งที่คุณต้องการเป็นตัวแทน แต่สิ่งเหล่านี้อาจเป็นเหตุผลที่น่าสนใจและมีความหมายซึ่งเพิ่มความสนใจและความคุ้มค่าให้กับระบบเกมอื่น ๆ ของคุณซึ่งแตกต่างจากสูตรทางคณิตศาสตร์ .


1

หากคุณต้องการให้สมการทั่วไปเข้ามายุ่งกับคุณสามารถใช้กราฟโคไซน์: A * cos (Bx + C) + D

แต่ปรับเปลี่ยนเป็นครึ่งรอบดังนั้นมันจะรวมการเพิ่มขึ้นของเลขชี้กำลังในตอนเริ่มต้นจากนั้นระยะเวลาสั้น ๆ ของการเพิ่มขึ้นเชิงเส้นจะเป็นจุดที่ลดลงในที่สุด ปัญหาเดียวของเรื่องนี้คือมันจะต้องมีการสร้างเพดานที่ไม่สามารถใช้ได้ ดังนั้นหลังจากฟาร์มจำนวนหนึ่งคุณจะไม่เห็นการเพิ่มขึ้น

ภาพด้านล่างเป็นกราฟของการเพิ่มความเร็วในการวิ่ง 30 นาทีโดยทำแบบฝึกหัดเดียวกันในการเตรียมการ เห็นได้ชัดว่ามันไม่สมบูรณ์แบบ แต่คุณอาจสามารถทำสิ่งนี้เพื่อค้นหาสิ่งที่คุณต้องการ

ตัวอย่างของเส้นโค้งโคไซน์ที่ใช้กำหนดผลตอบแทนลดลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.