Şimdi Ara

1'den 100'e kadar level algoritması oluşturma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
12
Cevap
0
Favori
402
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Elimde bir kullanıcının belirli kategorilerdeki dataları var. Yani mesela açtığı konu sayısı, verdiği cevap sayısı gibi:

    X=float bir data (en önenmli faktör)
    Y=number
    Z=number
    T=float

    bu pozitif dataları kullanarak nasıl bir algoritma ile 1-100 arasında "level" algoritması yapabilirim?
    IMDB'nin de kullandığı Bayes teoremine baktım fakat bu konuya hakim olmadığım için çözüme ulaşamadım.

    Yol gösterirseniz sevinirim.



    < Bu mesaj bu kişi tarafından değiştirildi -w K- -- 2 Aralık 2014; 17:27:46 >
    < Bu ileti m.bolumsonucanavari.com kullanılarak atıldı >



    _____________________________
  • Level algoritmasindan kastin nedir tam olarak? Yani adamin actigi konudan, verdigi cevaba kadar herseyi harmanlayip 1 100 arasi bir sayi mi generate etmek istiyorsun?

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • O değerleri örnek olarak "açtığı konu sayısı" gibi örnek verdim ama sanırım gerçek dataları vermekte fayda var.

    X = Sitede oynadığı miktar (float) // en önemli faktör
    Y = Yolladığı mesaj (number)
    Z = Diğer kullancılara yolladığı miktar (float)
    T = Diğer bir değişken (number)

    Şuanda bunları kullanarak 1-100 arasında olmasa da 100'e ulaşması zor bir formül kullanıyorum:

    level = (X*10000 + 0.0001) * (Y/300 + 0.01) * (T/200 + 0.01) * (Z + 0.0001)/ 1.1

    Ama istediğim daha stabil bir çözüm.



    < Bu mesaj bu kişi tarafından değiştirildi -w K- -- 2 Aralık 2014; 19:48:38 >
    < Bu ileti mini sürüm kullanılarak atıldı >
    _____________________________
  • Dostum benim mantığıma göre;
    Levelının bir sınırı var, 1-100 ama faktörlerinin sınırı yok, dolayısıyla matematiksel olarak oran-orantı yöntemi kullandığın sürece stabil bir sonuç alabileceğini sanmıyorum. Onun yerine şöyle bir şey yapabilirsin;
    O faktörlerin en fazla etkisi nedir? Örneğin geçirdiği süre kullanıcıya en fazla 40 (maxLevelX diyelim) level verebiliyorsa;
    x süre geçirmiş birinin alması gereken seviyeyi şöyle hesaplayabilirsin;
    sitede her kullanıının geçirdiği sürelerin ortalaması averageX olsun (forumda bir kişiinin en fazla geçirdiği süre üzerinden, ortalama üzerinden, vb. birçok yöntemden faydanalabilirsin burada, ortalama bana mantıklı gelen olduğu için ortalama dedim).

    LevelFromX = maxLevelX * x / averageX

    Eğer "sınırı olmayan bir spacedeki bir değerin, sınırı olan bir spacedeki karşılığını bulma" gibi bir yöntem varsa ben de öğrenmek isterim
    _____________________________




  • Ilk baslarda hizli, sonralardan da yavaslayan bir level atlama mantigi kullaniliyor genelde her yerde.
    Bunu da soyle yapabilirsin.
    Yapilan her hareket belirli miktarda experience verecek.
    Experience belirli bir siniri gecince, gectigi sinira gore de level alacak.
    Experience sinirini da logaritmik bir fonksiyona baglamak gerek ki, basta hizli sonradan duragan artsin.
    Soyle mesela.
    x level olmak kaydi ile bir level a erismek icin gerekli xp degeri 1000 * 2^x formulu ile bulunsun.
    Actigi konuya her cevap gelmesinde 500 , her cevapta 100 , her begenilmesinde 50, her begenilmemesinde 10 vs vs gibi xp kazansin. Bu sekilde stabil bir deger elde edilebilir, tabi ki benim formulume gore level 100 olmak biraz imkansiz gibi. Ama mantik bu sekilde.
    Eger lineer artmasini istiyorsan level in, o halde seninki zaten uygun buna. Ama ilk baslarda kolay, sonradan zorlasan bir level atlama algoritmasi daha mantikli.
    _____________________________
  • vaktim az ilk yazıyı okudum şunu anladım

    for(int i = 0;i<=100;i++){

    if(msjSayisi > i*10)
    {
    level = i;
    }

    }
    _____________________________
    Flash Tv'de Halay Bende Kod Anladınmı usta
    www.webtehayat.com
  • Teşekkürler arkadaşlar. Logaritmik artış daha mantıklı, çözüme ulaştığımda ilk mesajı güncellerim. İyi forumlar.

    < Bu ileti mini sürüm kullanılarak atıldı >
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    25.000'e kadar 2. el veya 0 araç
    11 yıl önce açıldı
    Lol e win 8.1 ile girme
    2 yıl önce açıldı
    Daha Fazla Göster
  • Sınırsız verilerle sınırlı bi sonuç elde etmek için sistemdeki kullanıcıları birbiriyle kıyaslayabilirsin. Yani level dediğin şey rütbe olur mesela darkorbit kullanmakta bu sistemi
    _____________________________
  • quote:

    Orijinalden alıntı: greencraft

    Sınırsız verilerle sınırlı bi sonuç elde etmek için sistemdeki kullanıcıları birbiriyle kıyaslayabilirsin. Yani level dediğin şey rütbe olur mesela darkorbit kullanmakta bu sistemi

    Zaten benim önerim de oydu, ama matematiksel olark yapılan işlem şu olmuyor o durumda da;
    0-----------------A-------------------------------------->+inf
    0----------x-------------------------|MaxLimit
    Böyle bir oran - orantı yapılmıyor o işlemde. Sınırsız veri yok yani, sınır en rütbeli kişi ( en çok mesajı olan vs.)
    _____________________________
  • quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: greencraft

    Sınırsız verilerle sınırlı bi sonuç elde etmek için sistemdeki kullanıcıları birbiriyle kıyaslayabilirsin. Yani level dediğin şey rütbe olur mesela darkorbit kullanmakta bu sistemi

    Zaten benim önerim de oydu, ama matematiksel olark yapılan işlem şu olmuyor o durumda da;
    0-----------------A-------------------------------------->+inf
    0----------x-------------------------|MaxLimit
    Böyle bir oran - orantı yapılmıyor o işlemde. Sınırsız veri yok yani, sınır en rütbeli kişi ( en çok mesajı olan vs.)

    Sınırsız veriden kastım mesaj sayısı ve diğer değerlerdi. Sınırlı sonuçtan kastım ise leveldi.
    İşlem içinse ortalama standar sapma gibi istatiksel veriler kullanılarak sonuç elde edilebilir gibime geliyo
    _____________________________




  • quote:

    Orijinalden alıntı: greencraft

    quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: greencraft

    Sınırsız verilerle sınırlı bi sonuç elde etmek için sistemdeki kullanıcıları birbiriyle kıyaslayabilirsin. Yani level dediğin şey rütbe olur mesela darkorbit kullanmakta bu sistemi

    Zaten benim önerim de oydu, ama matematiksel olark yapılan işlem şu olmuyor o durumda da;
    0-----------------A-------------------------------------->+inf
    0----------x-------------------------|MaxLimit
    Böyle bir oran - orantı yapılmıyor o işlemde. Sınırsız veri yok yani, sınır en rütbeli kişi ( en çok mesajı olan vs.)

    Sınırsız veriden kastım mesaj sayısı ve diğer değerlerdi. Sınırlı sonuçtan kastım ise leveldi.
    İşlem içinse ortalama standar sapma gibi istatiksel veriler kullanılarak sonuç elde edilebilir gibime geliyo

    Sınırsız değerden kastını anladım (a kullanıcısının x verisinin bir sınırı yok, onu diyorsun sanırım? ) benim kastettiğim matematiksel olarak çözümü olmayan birşey zaten, örneğin konu sahibinin ilk mesajda (veya ikinci) kullandığı yöntem aslında yapay bir sonsuz belirlemek, hiç 0.0001 gibi katsayılar kullanarak, x değeri belirli bir değer ulaşsa aslında lkullanıcının levelı 100'ü geçer. Benim sonsuzla ilgili kastettiğim bu sorundu.
    Site işiyle hiç uğraşmadığım için ne tarz sorunlarla karşılaşılıyor bilmiyorum ama bu yöntemde şöyle bir sorun çıkabilir gibi geliyor;
    Ortalamanın, standart sapmanın, en büyük, en küçük değerlerin değişmesi nedeni ile örneğin bir gün önce 10 rütbeli olan bir kullanıcı bir sonraki gün 8 rütbeye düşebilir (veya level). Mesela DarkOrbit bunu nasıl çözmüş bilmiyorum, ben karşılaşsam nasıl çözerdim onu da bilmiyorum :)
    _____________________________




  • quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: greencraft

    quote:

    Orijinalden alıntı: welrocken

    quote:

    Orijinalden alıntı: greencraft

    Sınırsız verilerle sınırlı bi sonuç elde etmek için sistemdeki kullanıcıları birbiriyle kıyaslayabilirsin. Yani level dediğin şey rütbe olur mesela darkorbit kullanmakta bu sistemi

    Zaten benim önerim de oydu, ama matematiksel olark yapılan işlem şu olmuyor o durumda da;
    0-----------------A-------------------------------------->+inf
    0----------x-------------------------|MaxLimit
    Böyle bir oran - orantı yapılmıyor o işlemde. Sınırsız veri yok yani, sınır en rütbeli kişi ( en çok mesajı olan vs.)

    Sınırsız veriden kastım mesaj sayısı ve diğer değerlerdi. Sınırlı sonuçtan kastım ise leveldi.
    İşlem içinse ortalama standar sapma gibi istatiksel veriler kullanılarak sonuç elde edilebilir gibime geliyo

    Sınırsız değerden kastını anladım (a kullanıcısının x verisinin bir sınırı yok, onu diyorsun sanırım? ) benim kastettiğim matematiksel olarak çözümü olmayan birşey zaten, örneğin konu sahibinin ilk mesajda (veya ikinci) kullandığı yöntem aslında yapay bir sonsuz belirlemek, hiç 0.0001 gibi katsayılar kullanarak, x değeri belirli bir değer ulaşsa aslında lkullanıcının levelı 100'ü geçer. Benim sonsuzla ilgili kastettiğim bu sorundu.
    Site işiyle hiç uğraşmadığım için ne tarz sorunlarla karşılaşılıyor bilmiyorum ama bu yöntemde şöyle bir sorun çıkabilir gibi geliyor;
    Ortalamanın, standart sapmanın, en büyük, en küçük değerlerin değişmesi nedeni ile örneğin bir gün önce 10 rütbeli olan bir kullanıcı bir sonraki gün 8 rütbeye düşebilir (veya level). Mesela DarkOrbit bunu nasıl çözmüş bilmiyorum, ben karşılaşsam nasıl çözerdim onu da bilmiyorum :)

    Darkorbitde rütbe düşüyo zaten her rütbeden belirli yüzdelik var toplam üyenin %0.1 i gibisinden



    < Bu mesaj bu kişi tarafından değiştirildi Guest-42B93504E -- 4 Aralık 2014; 14:09:33 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.