anonymous@RULINUX.NET~# Last login: 2024-12-26 23:48:53
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Лоровские комментаторы неспособны решить задачку правильно.

 http://www.linux.org.ru/forum/talks/4981030?lastmod=1275958551886

Помогите со следующей задачей по теории вероятности: В мешке 4 синих, 4 красных, 2 белых и 2 черных шара. Вытащили (не возвращая обратно) случайные 4. С какой вероятностью среди них будут только шары двух цветов (не важно каких именно)?

А что скажет торсионный разум по этому поводу?

anonymous(*) (2010-06-08 09:53:00)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3

[Ответить на это сообщение]
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> А что скажет торсионный разум по этому поводу?
Торсионный разум может тебе пояснить, неучу, как решаются подобные задачи, а щитать нам влом :) Перебираешь все возможные варианты вытянутых шаров и отсеивашь из них только те, которые удовлетворяют условию. Потом делишь это число на общее количество возможных вариантов вытягивания и получаешь искомую вероятность. Это ж элементарно! Можно даже написать простенькую прожку на любом ЯП.

makharadg(*)(2010-06-08 10:07:16)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

p = {С(2; 2)*С(2; 2) + С(2; 4)*С(2; 4) + 4*С(2; 2)*С(2; 4)}/{C(4; 12)}

Вродь формула такая будет. Щас посчитать попробую...

spaceivan(*)(2010-06-08 11:14:05)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

p = 0,012

spaceivan(*)(2010-06-08 11:18:22)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

FAIL - я не учел вариатны 3 + 1 шаров :)

Щас будем вносить корректировки

spaceivan(*)(2010-06-08 11:20:17)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

p = 0,29 = 29%

spaceivan(*)(2010-06-08 11:27:53)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Блин нашел еще ошибку в расчетной формуле :(

Надо поправить

spaceivan(*)(2010-06-08 11:37:37)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Я б лучше програмку написал, там один цикл с двумя сравнениями, сделать это можно на любом говновасике. Будет и точнее и быстрее :)

makharadg(*)(2010-06-08 11:44:58)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Вот что я получил:

p = {С(2; 2)*C(2; 2) + C(2; 4)*C(2; 4) + 4*C(2; 4)*C(2; 2) + 2*C(3; 4)*C(1; 4) + 4*C(3; 4)*C(1; 2)}/{C(4; 12)} = 125/495 = 0,25 = 25%

spaceivan(*)(2010-06-08 11:45:42)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> Я б лучше програмку написал, там один цикл с двумя сравнениями
Дык напиши: выяснится, правильно я посчитал или нет.

spaceivan(*)(2010-06-08 11:48:45)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Лень :)))

makharadg(*)(2010-06-08 11:49:35)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Я считал немножко по-другому:

p = {C(8;4) - 2 + 4 * (C(6;4) -1) + C(4;4)}/{C(4;12)} = 125/495.

Можно, как и лоровский аналитик размещения использовать.

Но как до такого лоровцы докатились, представить не могу.

anonymous(*)(2010-06-08 12:53:30)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

ну а я прого сотворил. Походу последний ответ самый правильный ИМХО.

lisp
(declaim (optimize (speed 3) (safety 0)))

(defconstant *balls* '(1 1 1 1 2 2 2 2 3 3 4 4))

(defun take-four nil
        (let* (
                (pts (pairlis (mapcar #'(lambda (&optional unused) (random 1.0)) (make-list (length *balls*))) *balls*))
                (rnd (sort pts #'(lambda (x y) (> (first x) (first y))))))
                        (mapcar #'rest (subseq rnd 0 4))))

(defun only-two-kinds (inp)
        (= 2 (length (remove-duplicates inp))))

(defun simulate-forever nil
        (let (  
                (nt 0)                                                                                                                                       (ns 0))
                        (loop  
                                (incf nt)
                                (when (only-two-kinds (take-four)) (incf ns))
                                (when (integerp (/ nt 100000))
                                        (format t "found: ~A of ~A, p=~A~%" ns nt (float (/ ns nt)))))))                                                                                                                                                                                  (simulate-forever)
 

bugmaker(*)(2010-06-08 15:01:41)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Простой для понимания вариант на питоне, чтобы позлить Бугмакера.

python
from __future__ import division
import random

balls = ['blue'] * 4 + ['red'] * 4 + ['white'] * 2 + ['black'] * 2
count = 0
success = 0

for i in range(100000):
    if len(set(random.sample(balls, 4))) == 2:
        success += 1
    count += 1

print "Success rate %4.2f" % (success / count)
 

$ python balls.py
Success rate 0.25

SystemV(*)(2010-06-08 16:02:12)

Emacs-w3m/1.4.394 w3m/0.5.2
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

фу как толсто, тем более и результат неправильный даже

bugmaker(*)(2010-06-08 18:00:24)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Да, я очень толст, впрочем, я и не пытался быть тоньше :)

А вот претензии к результату я не очень понимаю. Где ошибка (если не принимать во внимание питон, естественно)?

SystemV(*)(2010-06-08 18:15:50)

Emacs-w3m/1.4.394 w3m/0.5.2
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

там получается точно - 0.(25), у меня на 100000 итерации 0.25265. То, что у тебя так мало цифр в результате - подозрительно. Ашыпку не искал, была охота с позорной змеюкою связываться.

bugmaker(*)(2010-06-08 20:49:24)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

хотя да, там формат в конце. У тебя просто печатается так мало цифр, тогда понятно.

bugmaker(*)(2010-06-08 20:50:31)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

haskell

import System.Random
import System.IO.Unsafe
import Data.List

rnd :: Int -> Int -> Int
rnd a b = x where (x,_)=randomR(a,b) (unsafePerformIO newStdGen)

getnflst :: Int -> ([a], [a]) -> ([a], [a])
getnflst n ([], []) = ([], [])  
getnflst n ([], l) = ([], l)
getnflst 0 (lst, l) = (lst, l)
getnflst n (lst, l) = let r=(rnd 1 (length lst)) in
   getnflst (n-1) ((take (r-1) lst)++(drop r lst), lst!!(r-1):l)
 
solution :: (Num t, Eq a, Num a1) => [a] -> Int -> Int -> t -> a1 -> a1
solution ballset n ngood 0 count = count
solution ballset n ngood iter count =
   if length(nub(snd(getnflst n (ballset,[])))) == ngood then
      solution ballset n ngood (iter - 1) (count + 1) else
      solution ballset n ngood (iter - 1) count

 

*Main> (solution [1,1,1,1,2,2,2,2,3,3,4,4] 4 2 100000 0)/100000 0.25202

anonymous(*)(2010-06-09 07:49:35)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

c
#include
#include

int main (int argc, char * argv []) {
        gsl_rng * g_base_rnd = gsl_rng_alloc (gsl_rng_mt19937);
        int balls [12] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3};
        int chosen [4], cnts [4], i, s;
        long total = 0, success = 0;

        while (1) {
                gsl_ran_choose (g_base_rnd, chosen, 4, balls, 12, sizeof (int));
                for (i = 0; i < 4; i++) cnts [i] = 0;
                for (i = 0; i < 4; i++) cnts [chosen [i]] = 1;
                s = 0;
                for (i = 0; i < 4; i++) s += cnts [i];
                total++;
                if (2 == s) success++;
                if (0 == total % 100000L) printf ("%ld of %ld, p = %f\n", total, success, (double) success / (double) total);
        }
        return 0;
}
 

bugmaker(*)(2010-06-09 11:56:27)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Инклуды пустые :) Видать местный движок поедает все что в :)

spaceivan(*)(2010-06-09 12:01:47)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Блин и у меня скобки съел

spaceivan(*)(2010-06-09 12:02:07)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100414 Gentoo Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

ога, извесный бага. В инклудах было stdio.h и gsl/gsl_randist.h, если кому интересно

bugmaker(*)(2010-06-09 12:25:41)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Я питона не знаю совершенно, но по-моему ты херню написал. Я так понял что тут цикл на 100000 итераций, в котором рандомно извлекаются шары? И зачем так делать? Нужно просто перебрать все возможные варианты без рандомов. Тогда и погрешности не будет. Короче, иди, переделывай!

Так, а с гуем на QT кто-то сбацает? :)

makharadg(*)(2010-06-09 12:26:23)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

>Я питона не знаю совершенно, но по-моему ты херню написал. Я так понял что тут цикл на 100000 итераций, в котором рандомно извлекаются шары? И зачем так делать?
Потому что это самое простое решение сходу, не думая. У остальных решений в треде тот же алгоритм (про хаскель умолчу - не в курсе).

Вот тебе вариант как ты хочешь:

python
from __future__ import division
import random
import itertools

balls = ['blue'] * 4 + ['red'] * 4 + ['white'] * 2 + ['black'] * 2
count = 0
success = 0

for i in itertools.permutations(balls, 4):
    if len(set(i)) == 2:
        success += 1
    count += 1

print "%i/%i, rate %f" % (success, count, (success / count))
 


$ python balls2.py
3000/11880, rate 0.252525
 

SystemV(*)(2010-06-09 13:10:47)

Emacs-w3m/1.4.394 w3m/0.5.2
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Вот, кстати, решил вспомнить си и набросал простой вариант с перебором без дополнительных библиотек:

 http://pastebin.ca/1879621

SystemV(*)(2010-06-09 13:33:48)

Emacs-w3m/1.4.394 w3m/0.5.2
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> Я так понял что тут цикл на 100000 итераций, в котором рандомно извлекаются шары? И зачем так делать?
Ты не шаришь, это моделирование процесса называется, вот зачем.

bugmaker(*)(2010-06-09 14:01:17)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

да чё там без библиотек, замена gsl_ran_choose несколькими строками в данном случае реализуется

bugmaker(*)(2010-06-09 14:03:37)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

вот кстати

c
#include <stdio.h>
#include <stdlib.h>

void choose (int * chosen, int * balls) {
        int balls_shuffled [12];
        int i, j, s, n;

        for (i = 0; i < 12; i++) balls_shuffled [i] = balls [i];
        n = 12;      
        for (i = 0; i < 4; i++) {
                s = (int) ((double) n * (rand () / (RAND_MAX + 1.0)));
                chosen [i] = balls_shuffled [s];
                for (j = s; j < n - 1; j++) balls_shuffled [j] = balls_shuffled [j + 1];
                n--;
        }  
}

int main (int argc, char * argv []) {
        int balls [12] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3};
        int chosen [4], cnts [4], i, s;
        long total = 0, success = 0;

        while (1) {
                choose (chosen, balls);
                for (i = 0; i < 4; i++) cnts [i] = 0;
                for (i = 0; i < 4; i++) cnts [chosen [i]] = 1;
                s = 0;      
                for (i = 0; i < 4; i++) s += cnts [i];
                total++;
                if (2 == s) success++;
                if (0 == total % 100000L) printf ("%ld of %ld, p = %f\n", total, success, (double) success / (double) total);
        }  
        return 0;
}
 

bugmaker(*)(2010-06-09 14:19:57)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

эх вы, рандомизаторы :) тут даже простым перебором все просто и быстро решается:

 http://pastebin.ca/1879651

lester_(*)(2010-06-09 14:25:30)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

как тут кстати в сообщение код форматированный вставлять?

lester_(*)(2010-06-09 14:30:38)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

ахаха, я ещё раз говорю, то было моделирование процесса, а не расчёт. Перебор уныло же, задача слишком проста.

bugmaker(*)(2010-06-09 14:33:21)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

вот же  http://www.lor-ng.org/page.php?id=2 гуголем нашед

bugmaker(*)(2010-06-09 14:34:53)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

спасибо

lester_(*)(2010-06-09 14:36:05)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> Перебор уныло же, задача слишком проста.
а чем тут собс-но перебор от "моделирования" отличается? в моем примере i просто будет рандомным - вот и вся разница, просто на одну строку больше кода

lester_(*)(2010-06-09 14:38:00)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

ну тогда мой вариант "моделирования", который доказывает, что С/С++ лучше всех :)

cpp
#include
#include

int BitCount( int value )
{
    int res = 0;
   
    while( value != 0 )
        { value &= value - 1; ++res; }

    return res;
}

int main( void )
{
    int all = 0;
    int count = 0;
    char black, white, red, blue;

    for( int j = 0 ; j < 100000 ; ++j )
    {
        int i = rand() % 4096;
        if( BitCount( i ) != 4 )
            continue;

        black  = i & 3 ? 1 : 0;
        white  = i & 12 ? 1 : 0;
        red    = i & 240 ? 1 : 0;
        blue   = i & 3840 ? 1 : 0;

        ++all;
        if( black + white + red + blue == 2 )
            ++count;
    }

    printf( "%.2f\n", float( count ) / all );

    return 0;
}
 

lester_(*)(2010-06-09 14:48:49)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

вот этим и отличается, что ты перебираешь все варианты по одному, считая их, а в остальном коде имеются все характерные признаки реального процесса извлечения случайных шаров и поиска вероятности как учит теория вероятностей, в виде предела отношения успешных и всего сделанных попыток при количестве последних, стремящемся к бесконечности. На практике разница в том, что вообще говоря надо обосновать, что все перебранные тобой варианты равновероятны. Если бы это условие не выполнялось, то найденное тобой значение не может называться вероятностью. А также следует учесть, что в рассуждениях относительно количества вариантов и методики подсчитывания успешных может закрасться ошибка. Хотя для такой простой задачи как эта обоснование достаточно очевидно, но в общем случае это важный методологический момент. Прямое моделирование содержит наименьшее количество допущений, поскольку это просто картина реальных событий, и может служить критерием истины для результатов, полученных более другими способами.

bugmaker(*)(2010-06-09 14:56:30)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

херня это все :) есть задача поставленная ТС - есть решение, а приплетать сюда "моделирование" и умные фразы - никому не надо

П.С. я убежал по делам

lester_(*)(2010-06-09 15:02:57)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

 http://danym.livejournal.com/8666.html

bugmaker(*)(2010-06-09 15:03:25)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

Моделирование здесь нахрен не нужно. Ибо апсолютно точный а не приблизительный процент можно высчитать аналитически. Компьютер здесь нужен только для того чтобы не составлять таблицу вариантов вручную на бумажке, вот и всё. К тому же у нас могут возникнуть сомнения относитльно случайности выдаваемых софтверным ГСЧ случайных чисел ;)

makharadg(*)(2010-06-09 15:42:01)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

C_i - что мойшина за дверью i, i=1,2,3 H_ij - ведущий открывает дверь j, после того, как игрок указал на дверь i, i=1,2,3

Допустим, что машина с одинаковой вероятностью может находиться за любой дверью. Тогда P(C_1) = P(C_2) = P(C_3) = 1/3

Затем найдем вероятность того, что ведущий открывает дверь j после того, как игрок указал на дверь i, при условии, что машина находится за дверью k P(H_ij | C_k), i,j,k=1,2,3

P(H_ij | C_k) = 0, если i=j или j=k 1/2, если i=k и i!=j 1, в остальных случаях.

Чтобы найти вероятность того, что находится за дверью k, при условии что ведущий открывает дверь j после того как игрок указал на дверь i воспользуемся формулой Байеса:

P(C_k | H_ij) = P(H_ij | C_k) * P(C_k) / P(H_ij)

Так как гипотезы несовместные, то для вычисления P(H_ij) воспользуемся формулой полной вероятности.

P(H_ij) = \sum_{k=1}^n P(H_ij | C_k)*P(C_k)

Например, игрок выбрал дверь 1, а ведущий открыл дверь 3. H_13 = (1/2) * (1/3) + 1*1/3 + 0 = 1/2

Тогда вероятность того, что мойшина находится за дверью 1 будет равна P(C_1|H_13) = (1/6) / (1/2) = 1/3, а вероятность того, что мойшинка за дверью номер 2: P(C_2|H_13) = (1/3) / (1/2) = 2/3.

Таки в два раза больше.

anonymous(*)(2010-06-09 16:03:19)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

>Моделирование здесь нахрен не нужно. Ибо апсолютно точный а не приблизительный процент можно высчитать аналитически. Компьютер здесь нужен только для того чтобы не составлять таблицу вариантов вручную на бумажке, вот и всё. К тому же у нас могут возникнуть сомнения относитльно случайности выдаваемых софтверным ГСЧ случайных чисел ;)
Ты опять ничего не понял. Тебе объясняли, что при решении вероятностных задач легко допустить в рассуждениях ошибку, например забыв учесть какой-либо случай, как это сделали лоровские аналитики, или, наоборот, один и тот же благоприятный исход был посчитан дважды. Моделирование помогает найти такие ошибки. А софтверный генератор таки выдает равномерное распределение, что для моделирования и нужно.

anonymous(*)(2010-06-09 16:11:53)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> Ты опять ничего не понял.
Всё я прекрасно понял, не переживай, я решал такие задачи когда ты ещё пешком под стол ходил :)

Точно так же как можно накосячить при переборе, допустив ошибку, точно так же можно накосячить и при "моделировании". Ведь код, который определяет благоприятный/неблагоприятный исход по сути один и тот же. Разница в алгоритмах только в том, что в одном случае делается последовательный перебор вариантов а в другом тупо извлекается рандомное значение. Вот и всё! :)

makharadg(*)(2010-06-09 16:19:19)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

в догонку.

А рандомное "моделирование" реализуется чуть проще чем перебор вариантов. Поэтому местные кодеры его и выбрали. А вся твоя философия по сравнению вероятности допущеных ошибок в двух алгоритмах есть не больше чем просто болтовня, ты это лучше школьнегам на лоре порассказывай. Ага :))))

makharadg(*)(2010-06-09 16:23:39)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> А рандомное "моделирование" реализуется чуть проще чем перебор вариантов. Поэтому местные кодеры его и выбрали. А вся твоя философия по сравнению вероятности допущеных ошибок в двух алгоритмах есть не больше чем просто болтовня, ты это лучше школьнегам на лоре порассказывай. Ага :))))
Не пустая, для того чтобы перебор без ошибок написать нужно как минимум знать основы комбинаторики. На лоре я в рид-онли, так что сам рассказывай школоте.

anonymous(*)(2010-06-09 16:52:55)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> для того чтобы перебор без ошибок написать нужно как минимум знать основы комбинаторики
Нет, нужно просто иметь мозги. Хотя бы немножко. :)

makharadg(*)(2010-06-09 16:55:30)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> Не пустая, для того чтобы перебор без ошибок написать нужно как минимум знать основы комбинаторики
я их уже давно забыл за ненадобностью - а решение написал без ошибок

lester_(*)(2010-06-09 16:56:31)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

>Точно так же как можно накосячить при переборе, допустив ошибку, точно так же можно накосячить и при "моделировании"
Если допустить, что это несовместные события (человек не клинический дебил), то вероятность получить одинаковый неверный ответ в обоих случаях меньше. А чем тебе слово моделирование не нравится? То что модель простенькая?

anonymous(*)(2010-06-09 16:59:11)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

>я их уже давно забыл за ненадобностью - а решение написал без ошибок
в твоем случае их знает библиотека на питоне.

anonymous(*)(2010-06-09 17:01:13)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

> в твоем случае их знает библиотека на питоне.
o_O, я на С++( С по сути ) вообще-то привел решение

lester_(*)(2010-06-09 17:02:09)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
avatar
Скрыть

Re: Лоровские комментаторы неспособны решить задачку правильно.

>Нет, нужно просто иметь мозги. Хотя бы немножко. :)
Да, с мозгами велосипеды можно заново переоткрыть.

anonymous(*)(2010-06-09 17:03:51)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!