Làm thế nào tôi có thể đưa ra một phương trình hoàn trả giảm dần đơn giản?


25

Có những công thức ngoài kia cho một phương trình hoàn trả giảm dần; tuy nhiên, những thứ thường liên quan đến cấp số nhân. Có những cách nào khác để đưa ra một phương trình như vậy? Lấy ví dụ, trường hợp thử nghiệm sau - Một trang trại sản xuất 10 loại thực phẩm, cứ 10 trang trại được sản xuất, tỷ lệ sản xuất giảm 5%.


1
Nó có thể hữu ích nếu bạn nói với chúng tôi lý do tại sao bạn muốn tránh số mũ. Cụ thể, các biểu thức có dạng x ^ y ( x được nâng lên công suất y ) cũng vậy (vì các máy tính thường tính toán chúng bằng cách sử dụng số mũ, ít nhất là cho y không nguyên )?
Ilmari Karonen

7
"Cứ mười trang trại được sản xuất, tỷ lệ sản xuất giảm 5%." Đó là, uh, về cơ bản theo cấp số nhân: y = 0,9 ^ (sàn (x / 10)). Giống như @IlmariKaronen hỏi, có gì sai với cấp số nhân?
wchargein

1. Khó giải thích với những người không phải là nhà phát triển (và một số nhà phát triển có vấn đề với cấp số nhân) 2. Tôi có ấn tượng rằng nó rất đắt
Extrakun

2
hoàn toàn không có gì không hiệu quả về việc sử dụng các phương trình mũ. Tôi nghĩ rằng những gì bạn nghĩ đến là các thuật toán trong đó số bước tăng theo cấp số nhân so với kích thước của đầu vào (ví dụ: kích thước của một mảng mà bạn muốn sắp xếp). Điều này được gọi là "O", ví dụ bạn có thể nói rằng một thuật toán (hoặc hàm) cụ thể có các bước O (n) để chạy. Một thuật toán trong đó các bước tăng theo cấp số nhân có thể được mô tả là lấy các bước O (n bình phương) chẳng hạn. Điều này hoàn toàn khác với việc có một phương trình duy nhất có thuật ngữ hàm mũ trong đó.
Max Williams

1
Tôi nghĩ Extrakun có thể đang nghĩ về loại "đắt đỏ" này: stackoverflow.com/questions/2940367/ . Để nhắc lại những gì mọi người đang nói: nó không đắt. Nếu bạn không thoải mái với số mũ, hãy tìm kiếm những lời giải thích có thể truy cập được về chúng (có thể là betterexplained.com/articles/ mẹo ), đừng tránh chúng.
kristina

Câu trả lời:


30

Để thiết lập một phương trình trả về giảm dần, tôi sẽ nghĩ ngay đến phân số.

Đồ thị 1 / F Đây là một biểu đồ của y=1/F

ysẽ càng nhỏ càng Flớn. Điều này sẽ cung cấp cho bạn một mức giảm ổn định không bao giờ đạt đến 0. Từ đó bạn có thể biến đổi nó để có được loại đường cong mà bạn muốn. Sử dụng số> 0 sẽ luôn cho đầu ra dương không bao giờ là 0.

Thành thật mà nói, tôi khuyên bạn nên đến WolframAlpha và đưa vào một số phương trình và nhìn vào các biểu đồ mà nó vẽ để xem liệu nó có đưa ra đường cong mà bạn muốn không. Ngoài ra, hãy đọc các phương trình tuyến tínhbậc hai để có thể nhanh chóng tìm ra những gì bạn muốn thay đổi trong một công thức. Điều này là do mô hình hóa đồ thị thông qua các phương trình là một chủ đề lớn và nếu tôi có thể giải thích nó ở đây một cách hoàn hảo, tôi sẽ bán lời giải thích đó cho một số giáo viên toán trước.

Về cơ bản, đối với đồ thị tuyến tính, hãy nhớ y=mx+c. mlà độ dốc và có thể dương hoặc âm tùy thuộc vào những gì bạn cần và clà điểm mà tại đó nó chặn y axis. xlà biến đầu vào của bạn và ylà đầu ra của bạn.

y = mx + c Đây là một biểu đồ về y=mx+cnơi m=1c=0

Đối với các biểu đồ bậc hai, nó phức tạp hơn một chút, vì vậy tôi sẽ hơi mơ hồ và bạn sẽ phải tự đọc chi tiết cụ thể. Khan Academy là một nguồn tài nguyên thực sự tốt cho việc giảng dạy này. Đó là hình thức chung y=ax²+bx+c. cvẫn là y chặn và bạn có thể điều chỉnh nó để "nâng" biểu đồ. abcả hai đều ảnh hưởng đến đường cong tương tự, nhưng ở các mức độ khác nhau.

y = -x² + 2x + 10 Đây là y=-x²+2x+10. Lưu ý -x², làm cho đường cong đảo ngược.

Về cơ bản, hãy chơi xung quanh với các biểu đồ cho đến khi bạn có được những gì bạn muốn, mặc dù tôi khuyên bạn nên đọc nó nhiều hơn nếu bạn muốn thiết kế trải nghiệm nhanh chóng và sạch sẽ. Các phương trình cơ bản rất quan trọng đối với các trò chơi và thực sự thú vị.

Những thứ khác cần lưu ý là đồ thị hàm mũlogarit , tức là đồ thị y=e^xy=ln(x)để có được đồ thị tăng nhanh và giảm nhanh tùy thuộc vào sự biến đổi. Cũng như điều này, các vectơ và phép biến đổi rất hữu ích, vì chúng mô tả những gì bạn đang làm trong biểu đồ "cơ sở".


6
Bạn sử dụng "lý thuyết đồ thị" một vài lần trong bài; đó là một cái gì đó khác hoàn toàn . Tôi nghĩ những gì OP đang tìm kiếm đến gần hơn với mô hình.
Chaosed0

1
@ Chaosed0 Bạn hoàn toàn đúng, tôi đã bị trật. Đã chỉnh sửa mặc dù, ta :)
Yann

+1, tôi đã chơi một số trò chơi trong đó về cơ bản là hiệu ứng của một số thống kê 1/x. Rõ ràng đối với một đường cong như vậy, bạn không bao giờ muốn xđể bằng zero, mặc dù!
Brian S

1
Tôi thực sự muốn giới thiệu Desmos trên WA để thiết kế các chức năng. Hai lý do chính là thời gian thực và nó có thể thao tác được. Đó là, thiết lập y = a^xvà bạn có thể thêm một thanh trượt ađể chơi với chức năng. Bạn có thể có nhiều trong số này như bạn muốn. Bạn thậm chí có thể làm động các thanh trượt. Thật ra nó khá đẹp. (Tương đương với Manipulate
Mathicala

1
Đồ chơi đồ chơi (tồn tại từ vài năm) là một công cụ hay để thử một số phương trình. Tôi sử dụng nó mọi lúc.
tigrou

20

Lợi nhuận giảm dần = giảm đạo hàm

  • Vì bạn vẫn muốn có một số lợi nhuận ngay cả ở mức cao hơn có nghĩa là công cụ phái sinh phải tích cực, nếu không xây dựng nhiều trang trại sẽ làm giảm sản lượng lương thực (điều này thậm chí có thể có ý nghĩa nếu bạn tính đến chi phí hậu cần và bảo trì)
  • Nó sẽ tiến gần đến mức không có giá trị, nếu nó hướng tới giá trị khác không, bạn sẽ kết thúc với mức tăng liên tục trên mỗi trang trại ở một mức nào đó
  • tùy thuộc vào mức độ nhanh chóng của nó về 0, bạn có thể có giới hạn trên hoặc hàm không giới hạn

Vậy bạn cần làm gì? Chọn một chức năng phù hợp với các tiêu chí trên và tích hợp nó.
Sự lựa chọn đơn giản nhất cho nhiệm vụ này là g(t,n) = 1/(t+1)^nnơi n=1đánh dấu ranh giới giữa các hàm ngày càng tăng và giới hạn.
Tích phân của g từ 0 đến x là những gì bạn cần: f(x,n) = ((x+1)**(1-n) - 1)/(1-n)
Đây là cách nó khác nhaun

nhập mô tả hình ảnh ở đây
Và ở đây nó được chuẩn hóa thành cùng giá trị cuối cùng

nhập mô tả hình ảnh ở đây
Bằng cách thay đổi số mũ, nbạn có thể dễ dàng điều chỉnh cân bằng
Lưu ý: Đạo hàm ở đây là sản lượng trên mỗi trang trại, trong khi tích phân là tổng sản lượng cho một số trang trại


5

Nói chung, một phương trình tuyến tính sẽ bắt đầu với y = mx + b, bgiá trị bắt đầu của bạn ở đâu và mxlà cách bạn điều chỉnh giá trị bắt đầu khi xtăng.

Vì vậy, phần đầu tiên của phương trình của bạn b, sẽ là 10bởi vì bạn muốn các trang trại bắt đầu từ 10 thực phẩm.

y = mx + 10

Tiếp theo, trong trường hợp của bạn, bạn muốn điều chỉnh thực phẩm bằng cách sản xuất bởi mỗi mười trang trại. Vì vậy, bạn sẽ cần chia cho mười để có một phương trình hoạt động cho mỗi mười trang trại (giả sử rằng x / 10trả về một số nguyên, nghĩa là 13 / 10 = 1:

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

Vì vậy, cuối cùng, chúng ta cần tìm ra cách chúng ta muốn thực phẩm thay đổi cho mọi x / 10trang trại. Trong trường hợp của bạn, bạn muốn nó giảm 0,5 (5% của 10), đó là tuyến tính. Vì vậy, chúng tôi nhận được:

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

Vì vậy, đối với trang trại x = 5, chúng tôi nhận được 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10. Đối với trang trại x = 11chúng tôi nhận được 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5, đối với trang trại 23, chúng tôi sẽ nhận được 9.0.

Sau đó, bạn chỉ cần tính toán tổng số thực phẩm cho tất cả các trang trại.

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

Nhưng có thể bạn giảm 5%, bạn muốn nó giảm 5% giá trị trước đó. Tức là, 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025(trong trường hợp này, số tiền chúng ta giảm bằng cách ngày càng ít đi). Vì vậy, hãy sửa đổi phương trình. 5%là một kiểu tăng theo cấp số nhân, và công thức theo cấp số nhân là y = b*m^x.

Chúng tôi vẫn còn b = 10, và chúng tôi cần phải chia 10 mẹo. Vì vậy, chúng tôi có y = 10*m^(x/10). m0.95, vì chúng tôi muốn lấy 95% giá trị mỗi lần. Vậy phương trình cho trang trại xy = 10*0.95^(x/10).


4

Một sự trở lại giảm dần tuyến tính sẽ làm gì? sản lượng trên mỗi trang trại = (1 - (0,05 * (f / 10))) * tỷ lệ sản xuất. Điều này cho tổng sản lượng (tỷ lệ * # trang trại) đạt cực đại tại f = 100.


Xin chào, cảm ơn, mặc dù tôi đang tìm kiếm các nguyên tắc chung khi đến phương trình (Như bạn có thể thấy, Toán học không phải là phù hợp mạnh mẽ của tôi)
Extrakun

2

Bạn có thể muốn xem xét một giải pháp thuật toán phù hợp với tình huống.

Đó là, xem xét lý do tại sao có lợi nhuận giảm dần trong tình huống trò chơi của bạn và mô hình hóa chúng.

Nhiều cơ sở cùng loại có thể có lợi nhuận giảm dần là có thể có các tài nguyên hoặc phương tiện khác mà họ phụ thuộc hoặc dẫn đến tắc nghẽn hoặc các tình huống hạn chế khác, như mạng lưới đường, hoặc công nhân có sẵn hoặc vận chuyển hoặc nước ngọt hoặc điện hay bất cứ thứ gì

Một trang trại có thể sản xuất 10 thức ăn mỗi ngày trong hoàn cảnh lý tưởng, nhưng nó cũng đòi hỏi hai giờ nông dân mỗi ngày. Nó cũng cần một nước sạch cho mỗi thực phẩm mỗi ngày và giếng riêng của nó chỉ cung cấp tối đa 5 nước mỗi ngày. Phần còn lại phải được lấy từ một con suối hoặc sông liền kề hoặc được đưa vào bằng phương tiện giao thông. Và việc đưa thực phẩm đến nơi cần thiết để trở nên hữu ích cũng có thể là một vấn đề. V.v. Xóa một số hoặc thêm nhiều tùy thuộc vào những gì bạn muốn đại diện, nhưng đây có thể là những lý do thú vị và có ý nghĩa hơn, làm tăng thêm sự quan tâm và giá trị cho các hệ thống trò chơi khác của bạn, trái với công thức toán học nhân tạo không dựa trên các yếu tố trò chơi khác .


1

Nếu bạn muốn một phương trình tổng quát để giải quyết, bạn có thể sử dụng biểu đồ cosine: A * cos (Bx + C) + D

Nhưng sửa đổi nó thành một nửa thời gian, vì vậy nó sẽ bao gồm sự gia tăng theo cấp số nhân giả lúc đầu, sau đó là một khoảng thời gian ngắn tăng tuyến tính, đến điểm cuối cùng giảm dần. Vấn đề duy nhất với điều này là nó sẽ yêu cầu tạo ra một trần nhà không thể vượt qua. Vì vậy, sau một số lượng trang trại nhất định, bạn sẽ không thấy tăng.

Hình ảnh dưới đây là biểu đồ tăng tốc độ trong 30 phút chạy, thực hiện cùng một bài tập luyện chuẩn bị. Rõ ràng là nó không hoàn hảo, nhưng bạn có thể tìm ra thứ này để tìm thứ bạn đang tìm kiếm.

Ví dụ về đường cong Cosine được sử dụng để xác định lợi nhuận giảm dần

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.