|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--eNTitanok.util.Veletlen
Egy olyan (pszeudo)véletlenszám-generátor, amely determinisztikussá tehető, azaz megmondható neki, hogy a következő néhány ,,véletlenszám'' mi legyen. Ezeket a fix számokat az ún. determinizáló sorból veszi. Egyetlen generátorhoz egyetlen determinizáló sor tartozik, ami kezdetben üres.
A generált véletlenszámok 0 és N-1 közé eső int-ek, ahol N a kovetkezo() hívás paramétere.
Random
Inner Class Summary | |
static interface |
Veletlen.CsakDetException
Akkor váltódik ki, ha véletlenszámot kell generálni, `csakDet' igaz, továbbá `kovetkezo' üres. |
static interface |
Veletlen.DetHatarException
Akkor váltódik ki, ha a `kovetkezo'-ben szereplő szám nem esik a megadott határok közé. |
static class |
Veletlen.Egyenletes
[a,b)-n egyenletes eloszlású számokat generál. |
static class |
Veletlen.Exponencialis
[d,b+d)-n lambda paraméterű, exponencialis eloszlású számok egészre kerekítettjeinél $d$-vel nagyobb számokat generál. |
static interface |
Veletlen.Generalo
Az őt megvalósító objektumok képesek int típusú
véletlenszámokat generálni. |
static class |
Veletlen.Normalis
[a,b)-n m várható értékű, sigma szórású, normális eloszlású számok egészre kerekítettjeinél $d$-vel nagyobb számokat generál. |
static class |
Veletlen.Poisson
[d,b+d)-n lambda paraméterű, Poisson-eloszlású számoknál $d$-vel nagyobb számokat generál. |
static class |
Veletlen.Veges
A megadott diszkrét, véges eloszlású, nemnegatív értékű számokat generál. |
Field Summary | |
protected boolean |
csakDet
Pontosan akkor `true', ha a generált számokat kizárólag a determinizáló sorból szabad venni. |
protected Sor |
kovetkezo
A determinizáló sor. |
protected java.util.Random |
random
A használt pszeudovéletlenszám-generátor. |
Constructor Summary | |
Veletlen()
Egy új véletlenszám-generátort hoz létre, amely a Java alapértelmezés szerinti véletlenszám-generátorát használja. |
|
Veletlen(java.util.Random random,
boolean csakDet)
Egy új véletlenszám-generátort hoz létre, amely a megadott véletlenszám-generátort használja, és a megadott számú determinizáló sort kezel. |
Method Summary | |
protected java.lang.Integer |
csakDetet(int a,
int b)
aasdasd-nál nagyobb-egyenlő, de b-nél kisebb véletlenszámot vesz ki `kovetkezo' elejéről. |
int |
egyenletes(int n)
0 és n-1 közötti, egyenletes eloszlású, egész értékű ,,véletlenszámot'' generál (a határokat is beleértve), az értéket a megadott determinisztikus sorból véve, ha az nem üres. |
int |
egyenletes(int a,
int b)
a és b-1 közötti, egyenletes eloszlású, egész értékű ,,véletlenszámot'' generál (a határokat is beleértve), az értéket a megadott determinisztikus sorból véve, ha az nem üres. |
int |
exponencialis(double lambda)
Csakúgy, mint kétparaméteres változata, de a felső határ Integer.MAX_VALUE . |
int |
exponencialis(double lambda,
int felso)
Exponenciális eloszlású (lambda paraméterrel) ,,véletlenszám'' kerekített ( Math.round() ), egész értékét generálja. |
java.util.Random |
getRandom()
|
int |
getUtolso()
|
int |
normalis()
Csakúgy, mint kétraméteres változata, de standard normális eloszlás szerint generál (m=0, sigma=1). |
int |
normalis(double m,
double sigma)
Csakúgy, mint háromparaméteres változata, de a felső határ Integer.MAX_VALUE . |
int |
normalis(double m,
double sigma,
int also,
int felso)
Normális (Gauss-)eloszlású (m várható értékű, sigma szórású) ,,véletlenszám'' kerekített ( Math.round() ), egész értékét generálja. |
int |
poisson(double lambda)
Csakúgy, mint kétparaméteres változata, de a felső határ Integer.MAX_VALUE . |
int |
poisson(double lambda,
int felso)
Poisson-eloszlású (lambda paraméterrel), egész értékű ,,véletlenszámot'' generál. |
void |
sorba(int ujertek)
Új értéket fűz a determinizáló sor végéhez. |
void |
sorbaDelta(int ujertek)
Új értéket fűz a determinizáló sor végéhez, de kivonja belőle az utolsó elemet. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected Sor kovetkezo
protected boolean csakDet
protected java.util.Random random
Constructor Detail |
public Veletlen()
Random
public Veletlen(java.util.Random random, boolean csakDet)
Method Detail |
public void sorba(int ujertek)
protected java.lang.Integer csakDetet(int a, int b)
public int egyenletes(int n)
n
- ennél határozottan kisebb lesz a generált szám. Ne legyen
nagyobb Integer.MAX_VALUE/2-nél!public int egyenletes(int a, int b)
n
- ennél határozottan kisebb lesz a generált szám. Ne legyen
nagyobb Integer.MAX_VALUE/2-nél!public int poisson(double lambda, int felso)
See Knuth, ACP, Section 3.4.1 Paragraph F.
public int poisson(double lambda)
Integer.MAX_VALUE
.public int exponencialis(double lambda, int felso)
Math.round()
), egész értékét generálja.
Csak felso-nél kisebb (nemnegatív) számot ad vissza.
A futásidő O(1). Várható érték: 1/lambda.
Szórás: 1/lambda. Minimum: 0. Maximum: amennyi belefér.java.lang.Math#round
public int exponencialis(double lambda)
Integer.MAX_VALUE
.public int normalis(double m, double sigma, int also, int felso)
Math.round()
), egész értékét generálja.
Csak `felso'-nél kisebb számot ad vissza.
Csak `also'-nél nagyobb-egyenlo számot ad vissza.
A futásidő JRE-függő.java.lang.Math#round
public int normalis(double m, double sigma)
Integer.MAX_VALUE
.public int normalis()
public java.util.Random getRandom()
public int getUtolso()
public void sorbaDelta(int ujertek)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |