DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   random koji favorizuje (http://www.devprotalk.com/showthread.php?t=2799)

kodi 26. 04. 2007. 21:02

holly ****, izgleda da radi :)
(doduse za 1/n favorizuej vece a za n manje brojeve, nisam uradio onaj deo gde inverzujes)
Kôd:


$f=0;
$t=1;
$n=1/10;

$my_to=10;

$q = 2/(($n+1)*($t-$f));
$a = ($n-1) / ($t-$f) * $q;
$b = ($t - $n*$f) / ($t-$f) * $q;

$u=rand(0,1000) / 1000;
$my_rand=round($u*$my_to);

echo "<hr />";
echo "rand(u): $my_rand";
echo "<hr />";
echo "H(u)". round(($a/2*(pow($u,2)-pow($f,2)) + $b*($u-$f))*$my_to);

ocekivao sam malo vece promene za velike vrednosti n, nadam se da nisam pogresio negde.
Kôd:

0        0
1        2
2        4
3        5
4        6
5        7
6        8
7        9
8        10
9        10
10        10

ovo mi je za n=1000
za 1 se svaki mapira na sebe
Da probam jos jednom da objasnim zasto mi je ovo bitno (osim sto sam istripovao da je bitno :) )
zato sto hocu da jednom kad popunim tu tabelu proizvodima, i odredim tezine, posle samo menjam taj jedan parametar, tako da ako je 1 onda radi obican random (testirao sam sa ovom F-jom, radi) a ako hocu da favorizujem neke proizvode, samo malo podignem n, bez potrebe da cackam po bazi.

a takodje se moze iskoristiti kod za prokazivanje oglasa i baner-a (valjda)


Elem ovo sasvim radi posao, sad samo da vidim kako da ga mapiram na bazu. :D

zira 26. 04. 2007. 21:40

Zanimljiva ideja, samo pazi da ne smoris one koji ce azurirati takav sajt. U praksi je uglavnom dovoljno oznaciti neki proizvod kao "promovisani" i takve proizvode gurati u prvi plan. Znaci, bas mi je zanimljivo to kako si zamislio, samo ne znam koliko ce to biti lako odrzavati sa par hiljada proizvoda npr.

kodi 26. 04. 2007. 21:42

opusteno, moj projekat :D

edit: naravno, filmil ima pice+klopu kad dodje ovde.. :)

Pedja 26. 04. 2007. 21:54

Jednom davno sam radi onesto slicno i primenio sam nesto drugaciju logiku. Naime, moj radnom gneerator je morao da ispuni uslov da obezbedi da se svaki elemnet prikaze dovoljan broj puta. Zbog toga nisam ostavljao da sve prosto zavisi od matematike nego sam uradio sledece:

Uveo sam pojam kruga, definisan kao broj prikazivanja dok svi elementi nisu prikazani bar jednom. Standardno se element prikazuje jednom u jednom krugu.

Za svaki elemnt se definise koliko puta cesce se pojavljuje od standardnog.
Ako je 1 onda se element pojavljuje standradno ucestano, ako je 2, dva puta, 5 pet puta, a moze da se koriste i decimalni brojevi za profinjenije odnose.

Imam jedan brojac koji broji "krugove" Jedan krug se zavrsava kada su svi elementi prikazani bar jednom. Za svaki element se pamti i koliko je puta prikazan.

Imajuci ove podatke, relativno je jednostavno izvlaciti elemente koji su za prikazivanje.

MrSteel 29. 04. 2007. 20:39

heh, ja sam ladno sinoc sanjao random funkciju
cilj random funkcije je da bude takva da sa njom moze da se dobije recimo random n lica razlicite starosne dobi ali tako da odgovara trenutnom preseku populacije

i resenje je tu negde bilo al kao i svaki san najbolje se zaboravi ;)
verovatno je poruka - moze to i na javi )

zira 29. 04. 2007. 20:55

LOL, vrlo zanimljiv san :)

pcigre 29. 04. 2007. 21:09

Citat:

Originalno napisao MrSteel
heh, ja sam ladno sinoc sanjao random funkciju
cilj random funkcije je da bude takva da sa njom moze da se dobije recimo random n lica razlicite starosne dobi ali tako da odgovara trenutnom preseku populacije

i resenje je tu negde bilo al kao i svaki san najbolje se zaboravi ;)
verovatno je poruka - moze to i na javi )

pravo vreme da pocnes da razmislja o odmoru :) makar to bilo i par dana oko "praznika" da malo :1074: :1074: :1074:

A onda lepo nazad na random :1042:


Vreme je GMT +2. Trenutno vreme je 07:22.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.