Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:25 23.09.24 
Клубове/ dir.bg / Предложения за нови клубове Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема .
Автор. (Нерегистриран) 
Публикувано01.07.05 18:31  



ICT302 - Теория на вероятностите и статистика
Метод на статистическото моделиране - Метод Монте Карло


--------------------------------------------------------------------------------

Задача:

Играта 6/49 на Българския спортен тотализатор се състои в последователното изтегляне на 6 числа, от 49 възможни. Всеки участник попълва фиш в който прави предположение какви ще бъдат 6-те изтеглени числа, в следващия тираж. Интересува ни каква е вероятността поне 5 от тях да бъдат четни.

Решение:

Търсената вероятност може да се определи, чрез формула за броя на всички благоприятни ситуации отнесен към броя на всички възможни комбинации.
P(X=5,6)=C(24,5)*C(25,1)/C(49,6)+C(24,6)*C(25,0)/C(49,6)
P(X=5,6)=(24!/(5!*19!)*25!/(1!*24!))/(49!/(6!*43!))+(24!/(6!*18!)*25!/(0!*25!))/(49!/(6!*43!)))
За целите на настоящото разглеждане ще предположим, че тази формула не ни е известна и ще реализираме експеримент, базиран на Метода на статистическото моделиране с чиято помощ ще определим приблизително търсената вероятност. За целта ще проведем N (N>10000) експериментални тегления, в които ще отчетем благоприятните случаи K (K<=N). Отношението K/N ще ни даде, с приближение, търсената вероятност.
Всяко експериментално теглене ще моделираме с помощта на генератор на псевдослучайни числа в интервала [0, 1]. С помощта на подходящи преобразувания ще получим равномерно дискретно разпределение за стойностите в интервала [1, 49]. Във всяко експериментално теглене ще следим изтеглените числа да са без повторение.
Тъй като получената оценка по същество представлява статистика по-голямо N ще води до по-точно приближение към действителната стойност.

Програмен текст:


class TOTO{
private int N;
private int K;
private int numbers[];

private boolean isOk()
{
int cnt = 0;

for(int i=0; i<6; i++)
if(numbers[i ]%2 == 0)
cnt++;

if(cnt >= 5)
return( true );
else
return( false );
}

private void takeNumbers()
{
for(int i=0; i<6; i++)
{
int rnum;
boolean isDone;

do
{
rnum = (int)(Math.random()*49+1);
isDone = true;

for(int j=0; j<i; j++)
if(rnum == numbers[j])
isDone = false;
}
while( !isDone );

numbers[ i ] = rnum;
}
}

public TOTO(int N)
{
this.N = N;
K = 0;
numbers = new int[ 6 ];
}

public void print()
{
System.out.println( (double)K/(double)N );
}

public void test()
{
K = 0;

for(int l=0; l<N; l++)
{
takeNumbers();
if( isOk() )
K++;
}
}
}


public class ICT302App{
public static void main(String[] args)
{
TOTO toto = new TOTO( 100000 );
toto.test();
toto.print();
}
}




Цялата тема
ТемаАвторПубликувано
* . .   01.07.05 18:31
. * Re: . Bълk   02.07.05 03:36
. * Не се казва "Монте Карло" Mag   02.07.05 10:26
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.