Basit bir azalan dönüş denklemi ile nasıl ortaya çıkabilir?


25

Azalan bir geri dönüş denklemi için orada formüller vardır; ancak, bunlar genellikle üstel içerir. Böyle bir denklemi bulmak için başka hangi yollar vardır? Örneğin, aşağıdaki test örneğini alın - Bir çiftlik 10 yemek üretiyor, üretilen her 10 çiftlik için üretim oranı% 5 düşüyor.


1
Üstelik neden üstelikten kaçınmak istediğinizi bize söylerseniz yardımcı olabilir . Özel olarak, bir şekilde ifadesidirler x ^ y ( x yükseltilmiş y (bilgisayarlar genellikle bu kullanılarak üstel hesaplamak için, tam sayı olmayan en az çok üzerinden inci güç) y )?
Ilmari Karonen,

7
"Üretilen her on çiftlikte, üretim oranı% 5 azaldı." Bu, esas olarak üstel: y = 0.9 ^ (kat (x / 10)). @IlmariKaronen'ın dediği gibi, üstelin nesi var?
wchargin

1. Geliştiricilere açıklamak zor (ve bazı geliştiricilerin üstel ile ilgili sorunları var) 2. Pahalı olduğu izlenimindeyim
Extrakun

2
Üstel denklemleri kullanmada kesinlikle verimsiz bir şey yoktur. Düşündüğünüzün , adım sayısının girişin boyutuna göre (örneğin sıralamak istediğiniz bir dizinin boyutu) katlanarak arttığı algoritmalar olduğunu düşünüyorum . Buna "O" denir, örneğin belirli bir algoritmanın (veya fonksiyonun) çalıştırılması için O (n) adım attığını söyleyebilirsiniz. Adımların üssel olarak arttığı bir algoritma, örneğin O (n kare) adımların atılması olarak tanımlanabilir. Bu, içinde üstel bir terim olan tek bir denklemden tamamen farklıdır.
Max Williams

1
Bence Extrakun bu tür "pahalı:" bir şeyler düşünüyor olabilir . Stackoverflow.com/questions/2940367/… . Herkesin söylediklerini tekrarlamak: pahalı değil. Üstel olanlardan rahatsızsanız, erişilebilir açıklamalarını arayın (belki de daha iyiexplained.com/articles/… ), onlardan kaçının.
kristina

Yanıtlar:


30

Azalan bir geri dönüş denklemi oluşturmak için hemen kesirleri düşünürdüm.

1 / F grafiği Bu bir grafiktir y=1/F

yolarak küçülerek Fdaha büyük oluyor. Bu size asla 0'a ulaşamayan sabit bir düşüş verecektir. Bundan ondan istediğiniz eğriyi elde etmek için dönüştürebilirsiniz. > 0 sayılarının kullanılması her zaman asla 0 olmayan pozitif çıktı verir .

Dürüst olmak gerekirse, WolframAlpha'ya gidip bazı denklemler koymanızı ve istediğiniz eğriyi verip vermediğini görmek için çizdiği grafiğe bakmanızı öneririm . Bunun dışında, bir formülde ne değiştirmek istediğinizi hızlı bir şekilde anlayabilmek için doğrusal ve ikinci dereceden denklemleri okuyun . Bunun nedeni, grafikleri denklemler aracılığıyla modellemenin büyük bir konudur ve burada bunu mükemmel bir şekilde açıklayabilseydim, bu açıklamayı ilk önce bazı matematik öğretmenlerine satardım.

Temel olarak, doğrusal grafikler için unutmayın y=mx+c. mdegrade olur ve gerekenler bağlı pozitif veya negatif olabilir ve cbu yakaladığını noktadır y axis. xGiriş değişkeniniz ve yçıkışınızdır.

y = mx + c Bu y=mx+cnerede m=1ve neredec=0

İkinci dereceden grafikler için biraz daha karmaşık hale gelir, bu yüzden biraz belirsiz olacağım ve kendiniz hakkında bilgi okumalısınız. Khan Academy bunu öğretmek için gerçekten iyi bir kaynak. Genel biçime sahip y=ax²+bx+c. chala y kesişimidir ve grafiği "kaldırmak" için ince ayar yapabilirsiniz. ave bher ikisi de eğriyi benzer şekilde, ancak farklı derecelerde etkiler.

y = -x² + 2x + 10 Bu y=-x²+2x+10. -x²Eğriyi ters çeviren, not edin .

Temel olarak, istediğinizi elde edene kadar grafiklerle oynayın, ancak deneyimi hızlı ve temiz bir şekilde tasarlamak istiyorsanız daha fazlasını okumanızı tavsiye ederim. Temel denklemler oyunlar için önemlidir ve gerçekten ilginçtir.

Nota Diğer şeylerdir üstel ve logaritmik grafikler, yani grafikleri y=e^xve y=ln(x)dönüşüm sürecine bağlı olarak hızla artmaktadır almak ve hızla azalan grafikler. Bunun yanı sıra, "baz" grafiğini ne yaptığınızı tarif ettikleri gibi vektörler ve dönüşümler de faydalıdır.


6
Yazıdaki birkaç kez "grafik teorisi" kullanıyorsunuz; Bu tamamen başka bir şey . OP'nin aradığı şeyin modellemeye daha yakın olduğunu düşünüyorum.
0

1
@ Chaosed0 Kesinlikle haklısın, ben derped. Düzenlendi, ta :)
Yann

+1, bazı istatistiklerin etkisinin temelde olduğu birkaç oyun oynadım 1/x. Açıkçası böyle bir eğri için istediğiniz asla xüzere eşit olsa da, sıfır!
Brian S

1
Fonksiyonları tasarlarken Desmos'u WA üzerinden öneririm . İki ana sebep, gerçek zamanlı olması ve manipüle edilebilir olmasıdır. Yani, ayarlanır y = a^xve aişlevle oynamak için bir kaydırıcı ekleyebilirsiniz . İstediğiniz kadar bunlara sahip olabilirsiniz. Kaydırıcıları bile canlandırabilirsiniz. Aslında oldukça hoş. (Mathematica'nın eşdeğeri Manipulate.)
14'te

1
Grafik Oyuncak (birkaç yıldan beri var olan) bazı denklemleri denemek için güzel bir araçtır. Ben her zaman kullanırım.
08'de tigrou

20

Azalan getiriler = azalan türev

  • Hala daha yüksek seviyelerde bile bazı geri dönüşler istediğiniz için türevin pozitif olması gerektiği anlamına gelir, aksi takdirde daha fazla çiftlik inşa etmek gıda üretimini azaltacaktır (lojistik ve maliyetleri dikkate alırsanız bile mantıklı olabilir)
  • Sıfır assimptotik olarak yaklaşmalıdır, sıfır olmayan bir değere doğru giderse çiftlik başına sabit bir artışla sonuçlanır
  • sıfıra ne kadar hızlı gittiğine bağlı olarak üst limit veya sınırsız bir işleve sahip olabilirsiniz

yani ne yapman gerekiyor? Yukarıdaki kriterlere uyan bir fonksiyon seçin ve entegre edin.
Bu görev için en basit seçimdir g(t,n) = 1/(t+1)^nnerede n=1işaretleri artan ve sınırlı fonksiyonları arasındaki sınır.
0'dan x'e g'nin integrali ihtiyacınız olan şeydir: f(x,n) = ((x+1)**(1-n) - 1)/(1-n)
Farklı göründüğü gibin

görüntü tanımını buraya girin
Ve burada aynı son değere normalize oldu

görüntü tanımını buraya girin
Üs değiştirerek ndengelemeyi kolayca ayarlayabilirsiniz
Not: Buradaki türev, çiftlik başına üretimdir, entegral ise birkaç çiftlik için toplam üretimdir.


5

Genel olarak, bir doğrusal denklem ile başlar y = mx + b, bbaşlangıç ​​değeriniz mxnerededir ve başlangıç ​​değerini xartış olarak nasıl ayarlarsınız .

Denkleminizi ilk bölümü Yani b, olacak 10size çiftlikleri 10 yiyecek başlamak istiyorum çünkü.

y = mx + 10

Sonra, sizin durumunuzda, her on çiftliğin ürettiği yiyecekleri ayarlamak istersiniz. Bu nedenle, her on çiftlikte işe yarayan bir denklem elde etmek için on'a bölünmeniz gerekir ( x / 10örneğin, bir tamsayı döndürdüğü varsayılarak , örneğin 13 / 10 = 1:

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

Sonunda, yiyeceğin her x / 10çiftlik için nasıl değişmesini istediğimizi bulmamız gerekiyor . Senin durumunda, doğrusal olan 0.5 (10'un% 5'i) oranında azalmasını istiyorsun. Yani biz alırız:

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

Yani çiftlik için x = 5anlıyoruz 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10. x = 11Aldığımız çiftlik için 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5, 23 numaralı çiftlik için 9,0 alacaktık.

O zaman sadece tüm çiftlikler için toplam gıdaları hesaplamanız gerekir.

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

Fakat belki% 5 oranında, önceki değerin% 5 oranında düşmesini istediniz. Yani, 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025(bu durumda, azalttığımız miktar azalıyor). Yani denklemi değiştirelim. 5%üstel bir tip artış ve üstel formül y = b*m^x.

Hala sahibiz b = 10ve bölünmemizi 10 numara yapmamız gerekiyor. Yani biz var y = 10*m^(x/10). molduğunu 0.95biz değerin 95% her zaman almak istiyorum çünkü. Yani çiftlik için denklem xolduğunu y = 10*0.95^(x/10).


4

Doğrusal azalan bir dönüş olur mu? çiftlik başına üretim = (1 - (0.05 * (f / 10))) * üretim oranı. Bu, f = 100'de toplam üretim (oran * çiftlik sayısı) zirvesi verir.


Ben denklemin gelen genel ilkeler arıyorum olsa Teşekkürler, (Gördüğünüz gibi, Matematik benim güçlü takım değil)
Extrakun

2

Durumla eşleşen algoritmik bir çözüm düşünebilirsiniz.

Yani, oyun durumunuzda neden azalan getiriler olduğunu düşünün ve bunları modelleyin.

Aynı tipteki birden fazla tesis azalan getirilere sahip olabilir, bağlı oldukları ya da tıkanıklıklara neden olabilecek başka kaynaklar veya tesisler olabileceği ya da karayolu ağı veya mevcut çalışanlar veya ulaşım veya tatlı su veya elektrik ya da her neyse.

Bir çiftlik ideal koşullarda günde 10 yemek üretebilir, ancak aynı zamanda günde iki çiftçi gerektirir. Aynı zamanda günlük yemek başına bir tatlı su gerektirir ve kendi kuyusu yalnızca günde 5 su sağlar. Gerisi bitişik bir dereden veya nehirden alınmalı veya nakliye ile getirilmelidir. Yiyeceğin faydalı olması gereken yere götürülmesi de bir sorun olabilir. Vb. Neyi temsil etmek istediğinize bağlı olarak bir kısmını kaldırın veya daha fazlasını ekleyin, ancak bunlar diğer oyun öğelerine dayanmayan yapay bir matematik formülünün aksine, diğer oyun sistemlerinize ilgi ve değer katan çok daha ilginç ve anlamlı nedenler olabilir. .


1

Genel bir denklemin etrafa karışmasını istiyorsanız, bir kosinüs grafiğini kullanabilirsiniz: A * cos (Bx + C) + D

Ancak bunu yarım periyotta değiştirin, böylece başlangıçta sahte üstel artış, ardından kısa süreli doğrusal artışlar, sonunda azalan geri dönüş noktalarına dahil olacaktır. Bununla ilgili tek sorun geçilmez bir tavan oluşturmayı gerektirmesidir. Yani, belirli bir miktar çiftliğin ardından artış göremezsiniz.

Aşağıdaki resim, hazırlık aşamasında da aynı antremanı yaparak 30 dakika boyunca hızda artış gösteren bir grafiktir. Belli ki mükemmel değil, ama aradığınızı bulmak için bu konuda çalışabilirsiniz.

Azalan getirileri belirlemek için kullanılan Cosine eğrisi örneği

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.