Happy 0b100000000 day!



    Уважаемые друзья!

    От всего сердца хочу поздравить всех вас с профессиональным праздником, пожелать вам легкой отладки и отсутствия багов, желаемых результатов и заряда позитива (как, например, от просмотра картинки выше)!

    Ведь мало кто, кроме нас, программистов, может сочетать в себе технические и художественные таланты! Кто еще может придумывать софт, веб-сервисы и операционные системы будучи не художником, поэтом?

    Друзья, в этот прекрасный день, я подымаю бокал за вас, потому что было бы с современным миром, не будь программистов? Мы жили бы в совершенно другом теплом ламповом мире, но наш энтузиазм, энергия и кошелек страдали бы от вечных мук нереализованных возможностей.

    Ура!
    Метки:
    Поделиться публикацией
    Похожие публикации
    Комментарии 493
    • +14
      Еще раз поздравляю всех хабровчан с праздником!
      Удачного вам кодинга, отсутствия багов, легкой отладки!
      • +67
        p.s. за теги — зачет))
        • +2
          Ну и в честь праздика, предлагаю старую загадку!

          У нас есть три сундука, в каждом из которых лежит по две монетки.

          В первом — две золотых.
          Во втором — две серебрянных.
          В третьем — одна золотая и одна серебрянная.

          Мы выбираем сундук случайным образом и вслепую вытаскиваем от туда монетку. Она оказывается золотой. Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?
          • +3
            Или золотая или нет, 50%) С праздником нас всех!
            • –1
              1/2
              • –1
                50/50
                • 0
                  *звиняюсь, не туды тыкнул
                  • +3
                    всем вам полагается бутылочка спиртного!

                    while(getDate(«THE cool Hacker`s and guys») == true) {
                    do(get(«a cool naked gilrs») != false) {
                    fill(mug, beer|whiskey|brandy|«some poilo»){
                    dance(«beatiful girl»);
                    have(a(nice(day(«YOU!»))));
                    }
                    }
                    }
                    • 0
                      Всем по гуфу в этом баре!
                • 0
                  Так хочется напиться! но нужно оставить силы на утро с коллегами! Та пусть будет же день наш!
                  • +8
                    Выбрать сундук и достать монету можно 6 равновероятными способами:
                    -пкрвый сундук, первая монета из него (золото)
                    -первый сундук, вторая монета (золото)
                    -второй сундук, первая монета (серебро)
                    -второй сундук, вторая монета (серебро)
                    -третий сундук, первая монета (золото)
                    -третий сундук, вторая монета (серебро).
                    Из этих 6 вариантов, нас устраивают 3. Из этих трех мы в 2 вытащим золото, в 1 серебро.
                    Ответ: две трети.
                    • +1
                      интересная у вас теория вероятностей.
                      • +2
                        Обычная. Это неформальное объяснение.
                        Формальное: вероятность А при условии Б есть вероятность пересечения А и Б деленная на вероятность Б (по определению). А — выбран сундук с 2мя золотыми монетами, Б — первая вытащенная монета — золотая. Вероятность А пересеченного с Б есть 1/3, вероятность Б есть 1/2. Вероятность А при условии Б есть 2/3.
                        • +2
                          вы только одно не учли: вы применяете формулу условной вероятности независимых событий. эти же события зависимы, ибо вероятность вытянуть вторую золотую монетку изменяется, если одна уже вытянута.
                          • +1
                            Вы о чем? Вероятность события (мера соответствующего множества) не может меняться, она задается вероятностным пространством.
                            См. также: википедия: условная вероятность
                            • 0
                              весь раздел википедии о математике очень любит упускать важные мелочи.
                              > Вы о чем?
                              я об этом
                              • 0
                                В том то и парадокс, что зрелые люди применяют теорию вероятности, математическое обоснование, условную вероятность, закон Монти Холла, и т.п.!!!
                                Но тут все прозаичней. Задачка «фуфел», но просто показывает как у человека развита мышление! Да, тут одно верное решение, каждый школьник вам скажет какое, и не нужно сложных математических анализов приводить. Могу сказать ответ, хотя многие уже догадываются. Но после этого, я задам еще одну!
                                • +2
                                  Отлично. Вы придумали свою теорию вероятностей, в которой ответ на эту задачу другой. Я, пожалуй, завтра за обедом придумаю еще одну, в которой ответом будет 256 (в честь сегодняшнего дня).
                                  С точки зрения аксиоматики Колмогорова ответ 2/3. Доказательство смотрите выше.
                                  • 0
                                    Тоже сразу подумал, что 2/3. Спросил у мудрого Каа, он гарантирует.

                                    >>> from random import choice
                                    >>> from collections import Counter
                                    >>> a = ((0, 0), (1, 0), (1, 1))
                                    >>> Counter([for i in [choice(a) for i in range(100)] if choice(i)])
                                    
                                    Counter({(1, 1): 31, (1, 0): 17})
                                  • +2
                                    Задачка показала, что ваше мышление развито так себе. facepalm.

                                    Конечно же 2/3.
                                    • +1
                                      К черту математику! Я за работу интуиции! :D
                                      • +1
                                        Да не вопрос, только ракеты не запускайте.
                                        • 0
                                          Запускать — не запускал, но свое маленькое участие в строительстве космодрома Плесецк принял. Если запускают ракеты математики, то я не удивлен, что недавно улетела «не туда» ракета с него и аналогично не вышел на нужную орбиту недавно запущенный с космодрома Байконур спутник, на который были огромные надежды в сфере интернета, телевидения и прочих средств связи… (:
                                          • 0
                                            Если запускают ракеты с помощью интуиции, то я не удивлен что ракета улетела не туда.
                                            Впрочем, математика на практике не так всесильна, как в теории. Математика работает только когда ей дают точные исходные данные.
                                            Смотрите, например, «Машина которая выиграла войну» у Азимова.
                                  • +1
                                    Большое спасибо, теперь я знаю, что такое независимые события:)
                                    И что же там упущено? Возьмите любую нормальную книгу по терверу, начиная с Ширяева — там в точности такое определение (для случая событий ненулевой вероятности).
                                    Зависимость «учтена» во взятии вероятности пересечения А и Б.
                                    Давайте по шагам.
                                    Вы согласны, что условная вероятность есть вероятность пересечения деленная на вероятность условия?

                                    Еще один вариант неформального объяснения.
                                    Вероятность события есть предел отношения числа успехов к числу испытаний при числе испытаний стремящемся к бесконечности. Условная — доля успеха в испытаниях, удовлетворяющих условию.
                                    Испытание — выбрать сундук и достать монетку.
                                    Условию (монетка золотая) удовлетворяет половина испытаний. Успехов (сундук с 2мя золотыми) — треть от общего количества испытаний. Но все успехи удовлетворяют условию, так что доля успехов среди удовлетворяющих условию испытаний — 2/3.
                                    • 0
                                      тут все просто, ну нужно искать подвоха, нужно думать как малый ребёнок(или как выжравший литр виски мужик). Все просто, не надо матанализа, нужно просто «соображалка».
                                      • +2
                                        А еще «соображалка» подсказывает, что "всякая непрерывная функция дифференцируема всюду, кроме быть может особых точек" (к любой непрерывной кривой можно провести касательную почти везде), что "можно алгоритмически проверить, делает ли программа что-то нехорошее", что "сферу нельзя вывернуть наизнанку" и многое, многое другое.

                                        Есть много случаев, когда интуиция не работает. Для этого и нужна формальность. Я привел формальное доказательство своей позиции. Если моя позиция ошибочна — в доказательстве есть ошибка. Укажите ее.
                                        • +1
                                          А вот другое рассуждение, тоже попробуйте найти ошибку.
                                          Вытянули одну золотую, вероятность что вторая золотая == вероятности выбора «нужного» ящика т.к. выбор монетки — однозначное соответствие с выбором ящика, и т.к. только в одном из трех есть две золотые. P = нужный ящик / количество допустимых выборов == 1/2.

                                          • +2
                                            Вероятность выбора 1го ящика при условии что вытянули золотую не равна вероятности выбора третьего при условии что вытянули золотую.
                                            • +2
                                              блин, посчитал по формуле Байеса, получается 2/3. похоже на то что «подмена» имела место быть )
                                              • 0
                                                В тервере интуиция работает довольно плохо. Лучше, чем в ТЧ, но гораздо хуже, чем в матане. Особенно с непривычки.
                                                Бывает. Кажется, теперь уже три человека согласных с правильным решением, пора устраивать голосование:-D
                                                • +1
                                                  у вас не очень формально получилось тоже, хотя гораздо лучше, ибо правильно. я считал так:
                                                  P(a) = монета вытащена из первого ящика
                                                  P(b) = монета вытащена из второго ящика
                                                  P© = монета вытащена из третьего ящика
                                                  P(d) = вытащена золотая монета
                                                  P(d|a)= 1 (обе золотых)
                                                  P(d|b) = 0 (нет там золотых)
                                                  P(d|c) = 1/2
                                                  вероятность что мы вытянем вторую золотую = вероятности выбора нужного (первого) ящика = P(a|d) = (по ф.Байеса) = P(a)P(d|a) / ( P(a)P(d|a) + P(b)|P(d|b) + P©|P(d|c) ) = 1/3*1 / ( 1/3*1 + 1/3*0 + 1/3*1/2) = 1 / (1+1/2) = 2/3.
                                                  • +1
                                                    ох, копирайта я не ожидал, это P (… c… )
                                                    • 0
                                                      секунду. если прочитать вашу формулу, то вы дословно пощитали вероятность того, что если мы вытянули золотую монету, то мы вытянули её из первого ящика. а 2/3 у вас получается потому, что 2/3 всех золотых монет у нас в первом ящике.

                                                      в формуле нет ни слова о повторности действия.
                                                      • 0
                                                        Блин, вы меня заинтересовали, вместо того чтобы поспать пару часов, пошёл читать тред…
                                                        • 0
                                                          Что такое «повторность действия»?
                                                          • 0
                                                            то, что этот результат не по второй вынутой монетке, а по любой вынутой монетке
                                                            • 0
                                                              Я, кажется, понял. Мы с Вами решаем немного разные задачи.
                                                              Я достаю из сундука монету, вижу что она золотая, кладу в карман, после чего достаю вторую.
                                                              Вы берете из сундука монету, видите что она золотая, кладете обратно в сундук и вытаскиваете из сундука монету.
                                                              Так?

                                                              Впрочем, во втором случае вероятность еще выше. Вероятность вытащить из сундука две золотых подряд (с возвращением) есть 1/3 * 1 /*первый сундук*/ + 1/3 * 0 /*второй сундук*/ + 1/3 * 1/4 /*третий сундук*/ = 5/12. Вероятность условия, как и раньше, 1/2. Получается ответ (5/12)/(1/2) = 5/6.
                                                        • +2
                                                          Зачем тут формула Байеса?
                                                          P(a|d) = P(a⋂d) / P(d) (определение)
                                                          a⋂d = первый ящик, золотая монета
                                                          P(a⋂d) = 1/3
                                                          P(d) = 1/2
                                                          • 0
                                                            повторюсь. вы не ищете вероятность при последовательном вытаскивании монет: ваш результат означает вероятность того, что монета будет из первого ящика, при условии если вы вытащите золотую монету. присмотритесь к формуле.
                                                            • 0
                                                              а это не есть эквивалентность решения задачи. если мы подпишем ваш результат под решение, то где гарантия, что ваша вероятность не включает в себя вероятность вытащить ту же самую монету второй раз (которую мы уже вытащили)? а ведь это как раз потерянная 1/6
                                                            • 0
                                                              только тогда еще нужно объяснить почему P(d)=1/2, у меня нигде значение P(d) не используется. Но к сожалению на вопрос «зачем?» кроме как, «а почему бы и нет», не могу ответить )
                                                              • 0
                                                                Потому что у нас 6 монет, все равновероятны, 3 золотые. 3/6 = 1/2.
                                                                • 0
                                                                  У нас одна монета в выбранном ящике для которой и производятся вычисления, но шанс тот же.
                                                                  • 0
                                                                    Вероятностное пространство у нас из 6 элементов. Вероятности постоянны. Мы считаем условную вероятность.
                                                                  • 0
                                                                    Поясню.
                                                                    Условия задачи: (з,з), (з,с), (с,с). Вытянуто «з». Остается два ящика (з,з), (з,с), сокращаем вытянутую «з», остается две монеты (з), (с), а в контексте задачи — одна в выбранном ящике.
                                                                    Конец условий.
                                                                    Вопрос: какова вероятность для последней монеты в выбранном ящике быть «з»?
                                                                    • 0
                                                                      Остается 2 ящика. Но они не равновероятны.
                                                                      • 0
                                                                        Условия задачи явно говорят что ящик один, а вот вероятности монеты быть золотой/серебрянной — равны.

                                                                        Мы выбираем сундук [...] Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?
                                                                        • 0
                                                                          Мы выбираем сундук случайным образом и вслепую вытаскиваем от туда монетку

                                                                          Вы полностью игнорируете информацию о том, что монетка выбирается случайным образом. Более того, Вы еще и принудительно выкидываете второй сундук, что, впрочем, не влияет на вероятности.
                                                                          • +1
                                                                            1) Это начальные данные, которые в вопросе задачи не играют никакой роли. Вы опять не прочитали вопрос.
                                                                            2) Выкидываю, да, потому что по условиям задачи он вообще не нужен ни для чего, кроме наглядности что монетка может быть как серебрянной, так и золотой.

                                                                            Господи, вы до сих пор не понимаете что сами по себе условия задачи написаны чтобы запутать решающего?
                                                                            Что вместо тех условий можно написать «Есть монетка, которая может быть серебрянной или золотой. Какова вероятность что она золотая»?
                                                                            Условия задачи призваны запутать вас, и отвлечь от вопроса задачи. Вспомните хотя бы задачку про березу и яблоки.
                                                      • +2
                                                        ошибка в том, что по условию задачи ящик выбирали ДО вытаскивания, а теперь его выбираете опять в ваших рассуждениях,
                                                        другими словами вы подменили задачу другой и решаете уже не исходную — частая ошибка при попытке решать задачи на теор.вер интуитивно
                                                      • 0
                                                        я вам советую почитать к примеру эту страницу, а так же прочее интересное, связанное с парадоксами теории вероятностей.

                                                        большинство из подобных «парадоксов» связано с неверным выбором (или просто с возможностью разного выбора) пространства вероятностей и событий в них.

                                                        в некотором роде, мы с вами правы оба, но только в пределах своих вероятностных пространств. какое из наших пространств ближе к реальному миру — вопрос здравого смысла.
                                                        • +1
                                                          это парадоксы для детей и гуманитариев
                                                          1. вероятность выпадения комбинации 5+5 не равна вероятности выпадения комбинации 4+6
                                                          • –2
                                                            P(A5) = 1/6
                                                            P(A4) = 1/6
                                                            P(A6) = 1/6

                                                            P(A4*A6) = P(A4)*P(A6) = 1/6 * 1/6 = 1/36
                                                            P(A5*A5) = P(A5)*P(A5) = 1/6 * 1/6 = 1/36
                                                            • +2
                                                              А вас не смущает что 4+6 достигается следующими вариантами (1 кость 4, вторая кость 6; первая кость 6, вторая кость 4)
                                                              А 5+5 одним вариантом (первая кость 5, вторая кость 5)
                                                              ?
                                                              • 0
                                                                задача идентичная нашей, вы не заметили? ;)
                                                                • 0
                                                                  если вы не верите:
                                                                  (0..1000000).inject(0) { |x| rand(7) == 5 && rand(7) == 5? x + 0.000001: x }
                                                                  => 0.020417999999999766

                                                                  (0..1000000).inject(0) { |x| rand(7) == 6 && rand(7) == 4? x + 0.000001: x }
                                                                  => 0.02033299999999968
                                                                  • 0
                                                                    тут я правда с коэффициентами ошибся. так вернее:
                                                                    (0..1000000).inject(0) { |x| rand(6) == 4 && rand(6) == 4? x + 0.000001: x }
                                                                    => 0.027735000000007084
                                                                    (0..1000000).inject(0) { |x| rand(6) == 5 && rand(6) == 3? x + 0.000001: x }
                                                                    => 0.027756000000007105
                                                                    • +1
                                                                      Здорово. Теперь ответьте на один простой вопрос.
                                                                      Вы посчитали вероятность того, что на первой кости выпало 5, И на второй кости выпало пять, получили 1/36
                                                                      Вы посчитали вероятность того, что на первой кости выпало 6, И на второй кости выпало 4, получили 1/36

                                                                      Что вы предлагаете делать в случае, когда на первой кости выпало 4, И на второй выпало 6. И где расчет для этого случая?

                                                                      И еще, офтоп, но мне правда интересно.
                                                                      Высшее образование есть/нет, если да то где и когда?
                                                                      • –1
                                                                        ок, пусть будет так:
                                                                        ruby-1.9.2-p290 :120 > (0..1000000).inject(0) { |x| (rand(6) == 4 && rand(6) == 4) || (rand(6) == 4 && rand(6) == 4)? x + 0.000001: x }
                                                                        => 0.05461000000003396
                                                                        ruby-1.9.2-p290 :121 > (0..1000000).inject(0) { |x| (rand(6) == 5 && rand(6) == 3) || (rand(6) == 3 && rand(6) == 5)? x + 0.000001: x }
                                                                        => 0.0551500000000345

                                                                        видите ли, здесь такая штука: если мы «нумеруем» кости, то нам и на 5 и 5, и на 6 и 4 надо делать два «броска» с помощью rand. Если не нумеруем, то «бросков» с помощью rand надо делать по одному.

                                                                        образование — вышка, матфак.
                                                                        • 0
                                                                          Расскажите пожалуйста, почему вы думаете, что для 5 на 5 нужно делать два «броска»?
                                                                          Кости — это между прочим макрообъекты, а не фермионы какие-то :)

                                                                          Вышка, матфак — заинтриговали. а ВУЗ?)
                                                                          • 0
                                                                            ДВГУ, Владивосток.

                                                                            почему два броска очевидно комментом ниже
                                                                            • +3
                                                                              очевидно — это очень опасное слово
                                                                              при бросании одной правильной кости существует шесть равновероятных исходов {1;2;3;4;5;6}

                                                                              При одновременном броске пронумерованных костей существует 36 равновероятных исходов
                                                                              {
                                                                              1,1;1,2;1,3;1,4;1,5;1,6;
                                                                              2,1;2,2;2,3;2,4;2,5;2,6;
                                                                              3,1;3,2;3,3;3,4;3,5;3,6;
                                                                              4,1;4,2;4,3;4,4;4,5;4,6;
                                                                              5,1;5,2;5,3;5,4;5,5;5,6;
                                                                              6,1;6,2;6,3;6,4;6,5;6,6;
                                                                              }
                                                                              При игре в кости их не нумеруют, поэтому комбинации {1,2} и {2,1} неразличимы
                                                                              и составляют комбинацию 1+2 из условия задачи о костях
                                                                              комбинация 5+5 составляется лишь одной элементарной комбинацией
                                                                      • 0
                                                                        короче, вот самый наглядный вариант:
                                                                        ruby-1.9.2-p290 :130 > (0..1000000).inject(0) { |x| t1 = rand(6); t2 = rand(6); t1 == 4 && t2 == 4? x + 0.000001: x }
                                                                        => 0.02800100000000735
                                                                        ruby-1.9.2-p290 :131 > (0..1000000).inject(0) { |x| t1 = rand(6); t2 = rand(6); t1 == 5 && t2 == 3? x + 0.000001: x }
                                                                        => 0.027724000000007073
                                                                        • 0
                                                                          Можно словами, что вы посчитали?
                                                                          По коду видно, что вы посчитали вероятность того, что на двух костях выпадет четыре
                                                                          А также
                                                                          Вероятность того, что на первой кости выпадет 5, а на второй 3
                                                                          И?
                                                                          по какому праву вы отбрасываете во втором вычислении t1==3 && t2==5?
                                                                          Чем их сумма не восемь?
                                                                          Что вы получили?
                                                                          • 0
                                                                            rand выдаёт от 0 до 5, поэтому 4 и 4 в нашем случае эквивалентно 5 и 5

                                                                            я посчитал вероятности выпадения 5 и 5 и 4 и 6.

                                                                            если мы говорим о выпадении сумм, то в этом случае вы правы, ибо надо брать варианты 9 = 3+6 = 6+3 = 4+5 = 5+4 и 10 = 5+5 = 4+6 = 6+4
                                                                            • 0
                                                                              Так в итоге. Вы согласны с тем, что
                                                                              При броске двух костей
                                                                              Вероятность выпадения комбинации (5+5)/*на одной кости пять, на другой кости пять*/
                                                                              В два раза ниже вероятности выпадения комбинации (6+4)/*на одной кости четыре, на другой кости шесть*/
                                                                              ?
                                                                              • 0
                                                                                если моя тяжёлая голова в очередной раз ничего не перепутала в терминологии и разборе приложений, то да, согласен
                                                              • +1
                                                                Чуть выше я предложил одну из стандартных неформальных интерпретаций вероятности.
                                                                Давайте проведем число экспериментов (выбор ящика+вытягивание монетки), стремящееся к бесконечности. Потом выкинем те из них, в которых выкинули серебряную. Доля успехов (выбора нужного ящика) среди оставшихся экспериментов будет 2/3.
                                                          • 0
                                                            Вот такие люди пишут Hello World по паттернам…
                                                            • 0
                                                              Мы с Sev41k расходимся во мнениях по поводу ответа. Я привожу доказательство своей точки зрения. Если я неправ — в доказательстве есть ошибка. Укажите ее, или согласитесь, что мой ответ правильный.
                                                              Если что, «слишком сложно», «высшая математика не
                                                              • 0
                                                                *высшая математика не по существу" — это не ошибки.
                                                                • 0
                                                                  Просчитайте, пожалуйста, для меня, какова вероятность того что мы вытащили золутую монету за 1 попытку из:
                                                                  а. Первого сундука
                                                                  б. Второго сундука
                                                                  в. Третьего сундука
                                                                  • 0
                                                                    Если наша нумерация выбиралась принудительно такой же, как и в формулировке — то 1, 0, 1/2.
                                                                    При случайной же нумерации — по 1/3, конечно.
                                                                    • 0
                                                                      А какая вероятность того что вытянутая золотая монета происходит из
                                                                      а. Первого сундука (1з + 1з)
                                                                      б. Второго сундука (1с + 1с)
                                                                      в. Третьего сундука (1з + 1с)
                                                                      • 0
                                                                        Обратите внимание, событие уже произошло.
                                                                        • +1
                                                                          Сам себя привел к вашему ответу :) Согласен.
                                                                          • 0
                                                                            На самом деле вероятность 1/2, потому что:
                                                                            а. Первого сундука (1з + 1з)
                                                                            б. Второго сундука (1с + 1с)
                                                                            в. Третьего сундука (1з + 1с)
                                                                            Вариант б. Мы не учитываем, нем нет золотых монеток, а по условию мы вытащили золотую монетку, значит залезли либо в сундук а, либо в сундук в.
                                                                            • 0
                                                                              Да, но вероятность, что это сундук В — меньше, чем вероятность, что это сундук А. Ведь в сундуке В первая монетка могла бы быть и серебряной.
                                                                              Поэтому, 2/3 все же правильный ответ, как мне кажется.
                                                                              • 0
                                                                                Смотрите, привожу два варианта которые возможны:
                                                                                Мы вытащили из сундука А:
                                                                                Тогда вторая монета будет золотом
                                                                                Мы вытащили из сундука В:
                                                                                Тогда вторая монета будет серебром
                                                                                Мы _не можем_ вытащить из сундука Б, так как там нет золота.
                                                                                Вывод: мы вытащим либо золото, либо серебро. Ваши расчеты будут _абсолютно_ правильными _только_ при условии что мы еще не вытащили ни одной монеты. Но так как одна монета в расчетах не будет учавствовать, то расчеты немного идут по другому, как мне кажется =)
                                                                                • 0
                                                                                  Кстати, если Вы не очень еще уверены, как товариши выше, то я могу перефразировать условие задачи:
                                                                                  есть монетка, которую достали из одного сундука, она золотая. В сундуках один из двух наборов:
                                                                                  а
                                                                                  1. золото
                                                                                  2. золото/серебро
                                                                                  б
                                                                                  1. золото/золото
                                                                                  2. серебро

                                                                                  Мы вытаскиваем из того в котором одна монета, какова вероятность что монета окажется золотой?
                                                                                  Так можно перефразировать потому как золотую монету _уже достали_ и только после этого высчитываем вероятность второй.
                                                                                  • +1
                                                                                    Давайте сыграем в игру.
                                                                                    Выбираем случайный сундук, вытаскиваем из него монету. Если она серебряная — игра заканчивается, ничья.
                                                                                    Если она золотая — вытаскиваем оставшуюся. Если и она золотая — Вы платите мне рубль, если она серебряная — я плачу Вам полтора рубля. Поскольку Вы считаете, что вероятность 1/2, то Вы должны считать, что игра Вам выгодна.
                                                                                    Согласны сыграть?)
                                                                                    • 0
                                                                                      Да, в эту игру (с немного более высокими ставками, естественно) я готов сыграть с любым желающим на практике:)
                                                                                      • 0
                                                                                        Если изначально все монеты на месте, то на золото больше вероятность, но так как она уже вне сундука, то она не учавствует в расчетах
                                                                                        • 0
                                                                                          Э… А поформальнее можно?)

                                                                                          Я предлагаю следующую игру.
                                                                                          Мы берем три сундука, описанные в задаче (нумеруем). Бросаем кубик, если выпадает 1 или 2 — берем первый сундук, 3 или 4 — второй, 5 или 6 — третий.
                                                                                          После чего не глядя вынимаем из сундука монету не глядя (можно реализовать например так: вынимаем обе монеты, кладем рядом, кидаем все тот же кубик, выпадает 1, 2 или 3 — берем левую, 4,5 или 6 — правую).
                                                                                          Если выбрали серебряную монету — ничья.
                                                                                          Если выбрали золотую и вторая тоже золотая — выиграл я.
                                                                                          Если выбрали золотую и вторая серебряная — выиграли вы.
                                                                                          • 0
                                                                                            Вы опять меняете начальные условия.
                                                                                            Задача сводится к двум сундукам с четырмя монетами (з, з), (з, с), из которых одна золотая уже вытащена из сундука, и необходимо вытащить последнюю монету из этого же сундука, поэтому задача сводиться к одному сундуку с одной монетой и 50% шансом принадлежности монеты к определенному типу металла: з (вытащена), з/с.
                                                                                            • 0
                                                                                              Дополнение: вероятность рассчитывается для последней монеты при уже вытащенной золотой (внимательно читаем условие задачи), а не для картины с нуля при невытащенной золотой.
                                                                                              • 0
                                                                                                А в чем проблема? При уже вытащенной золотой и начнётся игра на деньги. При тех же условиях и идёт расчет вероятностей. Всё честно.
                                                                                                Если вытянется серебряная — ничья и начало игры заново.
                                                                                                • 0
                                                                                                  При уже вытащенной золотой монете игра и должна начаться, читайте внимательно постановку задачи.
                                                                                                  • 0
                                                                                                    Так вам и предлагат играть только если вытащена золотая. Если серебряная — то не играть.
                                                                                                    • 0
                                                                                                      Вы предлагаете ее вытаскивать. А условия говорят что она уже вытащена. Разницу улавливаете?
                                                                                                      • 0
                                                                                                        Нет. Игра и начнётся при условии, «что она уже вытащена». В противном условии — ставок нет, игры нет.
                                                                                                        • 0
                                                                                                          Тогда зачем ее вытаскивать? У вас останется только одна монета, у которой 50% шанс быть золотой. Вот ее-то и надо тянуть.
                                                                                                          • 0
                                                                                                            Ну, с Вашей точки зрения незачем, т.к. вероятность от этого не изменится. Но mihaild считает, что это существенный факт, который влияет на вероятность. Но зачем Вам противиться этому условию, если по-Вашему оно ни на что не влияет? :)
                                                                                                            • 0
                                                                                                              Я думал мы параллель проводим, но ладно.

                                                                                                              Подытожу:
                                                                                                              Вы согласны что вероятность, по условиям задачи, высчитывается для последней монеты из одного ящика при уже вытащенной золотой из этого же ящика?
                                                                                                              • 0
                                                                                                                Да. Эта вероятность будет 2/3.
                                                                                                                • 0
                                                                                                                  Объясните, как для одной монеты с двумя вариантами вероятность быть золотой будет 2/3.
                                                                                                                  • 0
                                                                                                                    Очень просто. Вариантов 2, но они неравновероятны. Точно также как с лотерейным билетом: он либо выигрышный, либо нет, но вероятности разные. :)
                                                                                                                    Подробное своё объяснение считаю лишним, т.к. уже есть хорошие объяснения mihaild, и даже 2 примера с кодом, подтверждающим верность ответа.
                                                                                                                    • 0
                                                                                                                      Да, верный ответ на неправильную задачу.
                                                                                                                      • 0
                                                                                                                        Что значит неправильную задачку? В тестовых кодах смоделированы условия от и до, ничего не выкинуто.
                                                                                                                        Я в своё время тоже не мог понять похожую задачу, пока не попробовал смоделировать её в реальности, по-моему на игральных картах. Просто взял и вживую провёл серию испытаний, включая все условия, которые мне казались несущественными (в обсуждаемой задаче сундук с двумя серебряными вам кажется несущественным, как я понял). И после пары испытаний сразу пришло понимание. Попробуйте.
                                                                                                                        • 0
                                                                                                                          habrahabr.ru/blogs/development/128279/#comment_4240312

                                                                                                                          1) По условиям задачи сундук с двумя серебрянными есть.
                                                                                                                          2) По условиям задачи выбрана золотая монета, что выкидывает из условия сундук с двумя серебрянными монетами.
                                                                                                                          3) По условиям задачи выбран рандомный сундук, из которого вытянута одна монета.
                                                                                                                          4) По условиям задачи дальнейшая работа протекает только с выбранным в п.3 сундуком.
                                                                                                                          5) Из выбранного сундука УДАЛЕНА одна монета, которая является золотой.
                                                                                                                          6) Исходя из вопроса задачи необходимо посчитать вероятность того, что оставшаяся после п.5 монета будет золотой.
                                                                                                                          7) п.5 и условия задачи позволяют мысленно убрать золотую монету из обоих оставшихся сундуков, и работать с ними, как с одним.
                                                                                                                          8) исходя из п.7 в одном из сундуков остается золотая, а во втором — серебрянная монеты.
                                                                                                                          9)исходя из пп.7,8 мы можем пологать что вероятность вытаскивания монеты по условиям задачи равносильно выбору сундука.
                                                                                                                          10) Исходя из пп. 6,7,8,9 — выбор равновероятностный между двумя объектами.

                                                                                                                          ЧЯДНТ?
                                                                                                                          • 0
                                                                                                                            Пункт 7 неверен. 1 и 3 сундуки неравновероятны при условии вытаскивания золотой монеты.
                                                                                                                            • 0
                                                                                                                              Это АБСОЛЮТНО неважно, так как это начальное условие, а не вопрос задачи. Вам не надо считать вероятность выбора сундука, потому что составитель задачи уже выбрал сундук за вас.
                                                                                                                              • 0
                                                                                                                                Задача математическая, Вы согласны? Так давайте рассуждать строго, а не на уровне «важно/неважно», «начальное условие» (мы не диффуры решаем), «вопрос задачи».
                                                                                                                                habrahabr.ru/blogs/development/128279/#comment_4242334
                                                                                                                                • 0
                                                                                                                                  Не согласен, потому что это задача-тролль, и решается не математикой, а логикой.
                                                                                                                                  • 0
                                                                                                                                    Ну тогда конечно. Логичное решение — 256, ибо задача опубликована в день программиста.
                                                                                                                                    Доказательства и формализм и нужны в том числе для определения, какой ответ правилен при возникновении сомнений в этом.
                                                                                                                                    • 0
                                                                                                                                      Эта задача ведь не только логическая и математическая, но и практическая! Это ведь прекрасно, когда на практике можно проверить своё логическое/математическое решение.
                                                                                                                              • 0
                                                                                                                                А Вы возьмите 3 коробка, 6 монеток (вытягивать с закрытыми глазами), смоделируйте, и посчитайте, сколько раз после первой золотой вторая оказывалась также золотой.
                                                                                                                                Возможно, быстрее будет. Ещё и удовольствие от просветления получите, я Вам гарантирую. :)
                                                                                                                                Если кратко — в пункте 5 удаляется не золотая монета, а случайная (см. про закрытые глаза).
                                                                                                                                • 0
                                                                                                                                  Еще раз повторяю, до того как вы будете тянуть последнюю монету золотой монеты в сундуке уже не будет. Задача спрашивает вас не о выборе сундука, а о выборе последней монеты.
                                                                                                                                  • 0
                                                                                                                                    Последняя монета оказалось золотой = был выбран сундук с двумя золотыми.
                                                                                                                                    • 0
                                                                                                                                      Да, вот только вы все равно считаете вероятность начиная с условия что сундуков три, и в них по две монеты.
                                                                                                                                  • 0
                                                                                                                                    Возьмите 3 коробка и 6 монет. Выкиньте коробок с серебрянными, остается 2 коробка и 4 монеты.
                                                                                                                                    Вытащите из обоих коробков золотую монету.
                                                                                                                                    Выберите любой коробок и просчитайте вероятность что монета в нем — золотая.
                                                                                                                                    • 0
                                                                                                                                      Да пожалуйста.
                                                                                                                                      Открыл ЗЗ, вытащил первую золотую — о, оставшаяся тоже золотая.
                                                                                                                                      Открыл ЗЗ, вытащил вторую золотую — о, оставшаяся тоже золотая.
                                                                                                                                      Открыл ЗС, вытащил серебряную. Упс…
                                                                                                                                      Все эти исходы равновероятны.
                                                                                                                                      • 0
                                                                                                                                        Тут будет 1/2, но это уже другая задача.
                                                                                                                                        А если я буду из двух коробков тянуть случайную монету, и при условии, что она окажется золотой, начну считать долю случаев, когда вторая монета также будет золотой, то эта доля будет 2/3. Ставлю пиво.
                                                                                                                                        • 0
                                                                                                                                          Господи боже ж ты мой.
                                                                                                                                          Мы выбираем сундук случайным образом и вслепую вытаскиваем от туда монетку. Она оказывается золотой. Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?

                                                                                                                                          Вопрос не спрашивает вас о выборе первой монеты. Вы читать умеете? Это уже совершенно другая задача, которая звучала бы как
                                                                                                                                          У нас есть три сундука, в каждом из которых лежит по две монетки.

                                                                                                                                          В первом — две золотых.
                                                                                                                                          Во втором — две серебрянных.
                                                                                                                                          В третьем — одна золотая и одна серебрянная.

                                                                                                                                          Мы выбираем сундук случайным образом и вслепую вытаскиваем от туда монетку. Какова вероятность того, что первая монетка окажется золотой, и что вторая монетка в этом сундуке — тоже золотая?
                                                                                                                                          • 0
                                                                                                                                            Вы зачем-то в первой задаче зачеркнули про «случайный образ» и «вслепую», а во второй некорректно поставили вопрос.
                                                                                                                                            Правильный вопрос ко второй:
                                                                                                                                            Какова вероятность того, что если первая монетка оказалась золотой, то вторая также будет золотой?
                                                                                                                                            Тогда задача будет идентична той, что задал Sev41k, и ответ будет 2/3.

                                                                                                                                            И это, поспокойнее немного. Я тоже считаю, что Вы не правы, но не говорю ведь, что у Вас отсутствует логика или что Вы плохо учили ТВиМС. Чем больше нервничаешь, тем сложнее объективно мыслить.
                                                                                                                                            • 0
                                                                                                                                              Я плохо учил ТВиМС.

                                                                                                                                              «если» в задаче нет. Есть четкое определение что первая монета золотая.

                                                                                                                                              Прошу прощения за резкость.
                                                                                                                                              • 0
                                                                                                                                                Оригинальное условие
                                                                                                                                                вслепую вытаскиваем монетку, она оказывается золотой. Какова вероятность, что вторая - золотая?
                                                                                                                                                эквивалентно
                                                                                                                                                вслепую вытаскиваем монетку. Какова вероятность, что вторая золотая, если первая золотая?
                                                                                                                                                • 0
                                                                                                                                                  Нет, не эквивалентна. Вы пораждаете вложенность.

                                                                                                                                                  Оригинал:
                                                                                                                                                  def first():
                                                                                                                                                      return 'Gold'
                                                                                                                                                  def second():
                                                                                                                                                      a = ('Gold', 'Silver')
                                                                                                                                                      return choice(a)
                                                                                                                                                  
                                                                                                                                                  def main():
                                                                                                                                                      if first == 'Gold':
                                                                                                                                                           if second() == 'Gold':
                                                                                                                                                               return True
                                                                                                                                                      return False
                                                                                                                                                  
                                                                                                                                                  if __name__ == "__main__":
                                                                                                                                                      main()
                                                                                                                                                      import sys
                                                                                                                                                      sys.exit()
                                                                                                                                                  

                                                                                                                                                  Ваш вариант:
                                                                                                                                                  def first():
                                                                                                                                                      a = ('Gold', 'Silver')
                                                                                                                                                      return choice(a)
                                                                                                                                                  def second():
                                                                                                                                                      a = ('Gold', 'Silver')
                                                                                                                                                      return choice(a)
                                                                                                                                                  
                                                                                                                                                  def main():
                                                                                                                                                      if first == 'Gold':
                                                                                                                                                           if second() == 'Gold':
                                                                                                                                                               return True
                                                                                                                                                      return False
                                                                                                                                                  
                                                                                                                                                  if __name__ == "__main__":
                                                                                                                                                      main()
                                                                                                                                                      import sys
                                                                                                                                                      sys.exit()
                                                                                                                                                  


                                                                                                                                                  Думаю понятно что варианты совершенно разные?
                                                                                                                                                  • 0
                                                                                                                                                    Ладно, зайдем с другой стороны.
                                                                                                                                                    Предположим, что монетка, которую вытащили — серебряная. Какова вероятность, что вторая монетка будет серебряной?
                                                                                                                                                    • 0
                                                                                                                                                      По условиям задачи ваш пример не может существовать. Первая вытащенная монета — всегда золотая.
                                                                                                                                                      • 0
                                                                                                                                                        Я предлагаю вам решить другую задачу, которая схожа с первой почти во всем ;)
                                                                                                                                                        • +1
                                                                                                                                                          Вы пытаетесь сократить задачу до минимума, выкидывая лишние на Ваш взгляд условия (сундук с 2 серебряными, возможность, что первая монета может быть серебряной). Но в том-то и дело, что эти условия не лишние, и влияют на результат.
                                                                                                                                                          Понимаете, то что первая монета могла быть серебряной, но оказалась золотой — это тоже информация, которая влияет на результат. Эту информацию нельзя не учитывать.
                                                                                                                                                          • 0
                                                                                                                                                            Не лишние, просто воздействия над ними в описании задачи отсекают половину первоначальных условий.
                                                                                                                                                      • 0
                                                                                                                                                        Для меня очевидно, что оригинальное, цитирую, «вслепую вытаскиваем от туда монетку» это как раз «моё»
                                                                                                                                                        def first():
                                                                                                                                                        a = ('Gold', 'Silver')
                                                                                                                                                        return choice(a)

                                                                                                                                                        а не Ваше
                                                                                                                                                        def first():
                                                                                                                                                        return 'Gold'


                                                                                                                                                        Если что, просьба ответить где-нибудь ниже со ссылкой сюда, а то лента комментариев совсем уехала.
                                                                                                                                                        • 0
                                                                                                                                                          Есть кнопочка «вверх по обсуждению» ;)
                                                                                                                                                          «Мое» описывает поставленное в задаче условие что первая монета — золотая.
                                                                                                          • 0
                                                                                                            Вы неправильно сводите задачу.
                                                                                                            • 0
                                                                                                              Аргументируйте.
                                                                                                              • 0
                                                                                                                Задача не сводится к двум сундукам. Рассматривается один сундук из трех. Первая монета — индикатор того, какой сундук вы выбрали.
                                                                                                                • 0
                                                                                                                  Первая монета — индикатор того, что сундук с только серебрянными монетами уже не учавствует. И это начальные данные, которые нам известны еще до определения самой задачи.
                                                                                                                  • 0
                                                                                                                    Это индикатор не только этого.
                                                                                                                    • +1
                                                                                                                      Да, но в расчетах сундук с чисто серебрянными монетами не должен учавствовать вообще, поскольку по определению задачи его уже нет, а есть только один ящик, с которым мы и работаем. И в нем — одна монета, для которой шанс быть золотой/серебряной — 50%.

                                                                                                                      Вообще складывается ощущение что сундук с серебрянными монетами — это явный троллинг, из-за которого и весь сыр-бор.
                                                                                                                      • 0
                                                                                                                        Да пожалуйста, давайте выкинем сундук с серебряными монетами.
                                                                                                                        Тогда вероятность выбрать сундук с двумя золотыми станет 1/2, вероятность вытащить золотую монету станет 3/4, вероятность что мы наткнулись на сундук с двумя золотыми при условии что вытащили золотую есть (1/2)/(3/4) = 2/3.

                                                                                                                        Скажите пожалуйста, что Вы понимаете под вероятностью?
                                                                                                                        • 0
                                                                                                                          Вы уже выбрали сундук. Рандомный. Одна из монет — золотая. В обоих сундуках. Вытаскиваем ее.
                                                                                                                          Начинаем анализировать отсюда, а не от выбора ящика. Вероятность выбора сундука считать не надо, надо считать выроятность выбора монеты.
                                                                                                              • 0
                                                                                                                Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?
                                                                                                                Причем тут остальные два сундука?
                                                                                                                • 0
                                                                                                                  Рассматривайте либо 1 сундук, либо все три сразу. Рассматривать 2 сундука — ошибка.
                                                                                                                  • 0
                                                                                                                    1, второй просто промежуточный чтобы была понятна логика моего рассуждения.
                                                                                                              • 0
                                                                                                                Это Вы меняете условия.
                                                                                                                Мы выбираем сундук случайным образом и вслепую вытаскиваем от туда монетку. Она оказывается золотой. Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?

                                                                                                                Да, если монета не золотая, пролетаем мимо и не играем. Рассматриваем только случаи, в которых первая монета не золотая.
                                                                                                                • 0
                                                                                                                  Перечитайте условия задачи. Мы вообще их не должны рассматривать, нам нужно тянуть только последнюю монету.
                                                                                                          • 0
                                                                                                            OP here.
                                                                                                            Я согласен.
                                                                                                            • 0
                                                                                                              Отлично. Теперь осталось придумать, как это реализовать технически:)
                                                                                                              Предложенная мной в habrahabr.ru/blogs/development/128279/#comment_4241890 реализация Вас устраивает?
                                                                                                              Тогда можно заменить кубик на рандом из stdlib с каким-нибудь сидом по договоренности (чтобы получить один результат) и начать.
                                                                                  • 0
                                                                                    Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?

                                                                                    Сундук уже выбран! Значит это или первый, или третий! Это значит, что вторая монета в нём в половине случаев — золотая, т.е. 50%…
                                                                                    К сожалению не знаю термина, т.к. не учил вероятность на русском, но есть такое понятие как вероятность при заданных входных данных! И она меняется!
                                                                                    • 0
                                                                                      А на каком учили? Приведите формулу из теории вероятностей, в которую членом входит «сундук уже выбран» :)
                                                                                      • 0
                                                                                        Учил на иврите. Каким членом, пардон? :) Вы о чем? Это же начальное условие, уже одна монета в руке и она золотая ( что в принципе симметрично и для серебрянной). Т.е. след. монета будет или золотая или серебрянная в равной вероятности, т.к. вероятность что это был первый сундур равна вероятности что это был третий. Плюс нулевая вероятность что это был второй, т.к. в нём не было золотых монет.
                                                                                        • +2
                                                                                          Ладно, вот вам факт. Вот программа на python, которая воспроизводит ситуацию (не могу вставить красиво, карма низкая):

                                                                                          import random

                                                                                          first = 0
                                                                                          second = 0
                                                                                          a = [['gold', 'gold'], ['gold', 'silver'], ['silver', 'silver']]

                                                                                          for i in range(1, 1000000):
                                                                                          ....chest = random.choice(a)
                                                                                          ....random.shuffle(chest)
                                                                                          ....if chest[0] == 'gold':
                                                                                          ........first += 1
                                                                                          ........if chest[1] == 'gold':
                                                                                          ............second += 1

                                                                                          print float(second) / float(first)

                                                                                          Печатает 0.666339313037

                                                                                          Где ошибка здесь?
                                                                                          • –1
                                                                                            Ошибка в том, что вы не читаете вопрос ( к сожалению сам этим грешу )! Не надо выбирать первую монету, её выбрали до вас! Вопрос только про вероятность второй!
                                                                                            • 0
                                                                                              Это учитывается — мы же не считаем случаи, в которых первая монета не золотая. Так где ошибка? )
                                                                                              • 0
                                                                                                2/3 может быть только в том случае, если дано что золотые (и серебрянные) монеты между собой тоже различаются. Тогда действительно из 6 комбинаций ЗЗ ЗЗ ЗС СС СС СЗ мы берем только первые три, с первой золотой. Но этого не дано ( по умолчанию сундуки и монеты имеют одинаковый «вес» ), поэтому варианты ЗЗ[1] и ЗЗ[2] равноценны и не считаются за 2. Получаем ЗЗ, ЗС что и дает 1/2.
                                                                                                • 0
                                                                                                  Ну и всё-таки, почему моя программа выводит 2/3?
                                                                                                  • 0
                                                                                                    Может по тому что у вас считается вероятность выбора того или иного Сундука (действительно 2/3) а в условиях необходимо вычислить вероятность выбора Монеты (1/2 — так как к моменту вычисления вероятности сундуков уже остается только 2)
                                                                                                    • +1
                                                                                                      Вероятности сундуков: 2/3 1/3 0. Вот почему-то 0 вы учитываете, а разницу между 2/3 и 1/3 нет.
                                                                                                      Полный ответ такой: это совершенно точно не сундук с двумя монетами, маловероятно, что это сундук с золотой и серебряной и высоковероятно, что это сундук с двумя золотыми монетами. А уже отсюда понятно, что выше вероятность того, что вторая монета будет золотой.
                                                                                                      • +1
                                                                                                        Если брать оба этапа условия в расчет, то да, если брать лишь последнее, что сундук может быть: либо с двумя, либо с одной золотой, то выходит, что ответ на вопрос:
                                                                                                        «Какова вероятность того, что вторая монетка в этом сундуке — тоже золотая?» — вероятность этого 50%.
                                                                                                        • 0
                                                                                                          А нельзя не брать первый этап в расчет! Вы же берете его в расчет, когда говорите, что возможны лишь два сундука! Если уж берете в расчет — то берите правильно, а не на уровне «может быть» = 50%
                                                                                                          • 0
                                                                                                            Как раз не на уровне может быть: у меня в руках одна монета как сказано в задаче, и у меня спрашивают какая вероятность Сейчас, что вторая монета будет золотой.
                                                                                                            У меня есть еще одна попытка вытащить из Этого же самого сундука еще одну монету она с вероятность 50% будет либо золотой либо серебряной.
                                                                                                            • +2
                                                                                                              Э нет, как раз таки на уровне может быть.
                                                                                                              Поменяем условие.
                                                                                                              Есть три сундука, в каждом по миллиону монет. В одном все золотые, в другом все серебряные. В третьем — одна золотая, а все остальные серебряные.
                                                                                                              Дальше все по-прежнему.

                                                                                                              Ну что, какая будет вероятность того, что вторая монета, которую вы вытащите будет золотой?

                                                                                                              Суть в том, что первая монета — это индикатор, который указывает на вероятность последующего события, и два события (одна монета и вторая монета) между собой связаны.