Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128

Задача про шары

19.05.2023, 05:06. Показов 7393. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста написать и решить задачу на питоне.
Дано: есть три коробки. В первой коробке находятся два золотых шара, во второй коробке находятся один золотой и один серебряный шары, в третьей коробке находятся два серебряных шара. Вы выбираете одну из коробок случайным образом. Засовываете в неё руку и выбираете случайный шар в ней. Это оказывается золотой шар. Какова вероятность того, что оставшийся шар в той же самой коробке окажется золотым?

Я считаю, что шанс 50%. Но хотел бы убедиться, через программирование. Сам скодить не могу, нет компьютера. Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2023, 05:06
Ответы с готовыми решениями:

Задача про шары
Добрый день! Есть школьная задачка по комбинаторике: Понятно только одно, что здесь используется формула сочетаний. Куда дальше...

задача про шары
В каждой из трех урн содержится 6 черных и 4 белых шара. Из первой урны наудачу извлечен один шар и переложен во вторую урну, после...

задача про шары
в коробке лежат 5 белых и 9 черных шаров, шары извлекают до появлению черного шара какова вероятность того, что придется сделать больше 2...

48
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
19.05.2023, 07:45
У меня 2/3 получилось:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from random import randint
zol = 'zol'
ser = 'ser'
zz = [zol, zol]
zs = [zol, ser]
ss = [ser, ser]
 
matr = [zz, zs, ss]
 
def opyt():
    kor = matr[ randint(0,2) ]
    shar = kor[ randint(0,1) ]
    return (kor, shar)
 
def opyty(n):
    res_zol_shar = 0
    res_zol_kor = 0
    for i in range(n):
        kor, shar = opyt()
        if shar == zol:
            res_zol_shar += 1
        if kor == zz:
            res_zol_kor += 1
    return res_zol_kor / res_zol_shar
 
n = 1000000
print(opyty(n))
2
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
19.05.2023, 10:34
По математике 2/3 и должно получиться
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
19.05.2023, 11:10
Логично же что в той же самой коробке будет два вероятных варианта:окажется или не окажется золотой шар.Значит вероятность 1/2.
Но есть такой парадокс коробок Бертрана,который показывает что 2/3
1
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
19.05.2023, 11:16
TimutGin, никакого парадокса здесь нет. Вероятность рассчитывается по Байесу и равна 2/3. Базовые основы тервера изучайте.
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
19.05.2023, 11:25
Цитата Сообщение от TimutGin Посмотреть сообщение
парадокс коробок Бертрана
В Википедии сказано, что это "парадокс теории вероятности")))

Добавлено через 4 минуты
Ну, это парадокс для тех, кто еще не уловил разницу между обычной и условной вероятностями. У нас вероятность при условии, что уже выпал золотой шар. Золотых шаров у нас три, и каждый может выпасть с равной вероятностью, причем два из них лежат в золотой коробке. Ясно, что вероятность выпадения шара из золотой коробки равна 2/3.

Добавлено через 2 минуты
Цитата Сообщение от Red white socks Посмотреть сообщение
TimutGin, никакого парадокса здесь нет. Вероятность рассчитывается по Байесу и равна 2/3. Базовые основы тервера изучайте.
Ну, это не он, а Бертран придумал.
1
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
19.05.2023, 12:28
Для 19 века может это и был парадокс, но сейчас с этим и первокурсники справляются)
0
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
19.05.2023, 13:49
парадокс, не парадокс, Байес, Бертран... да ну их всех
Воспользуемся логикой...
Даны три коробки:
Цитата Сообщение от yellyex Посмотреть сообщение
В первой коробке находятся два золотых шара, во второй коробке находятся один золотой и один серебряный шары, в третьей коробке находятся два серебряных шара.
Далее:
Цитата Сообщение от yellyex Посмотреть сообщение
Вы выбираете одну из коробок случайным образом. Засовываете в неё руку и выбираете случайный шар в ней. Это оказывается золотой шар.
Из чего следует, что, как минимум, мы попали в одну из двух коробок, в которых есть золотые шары. Третья коробка исключается из расчетов.
Но у нас нет точных данных, какая у нас именно коробка с золотым шаром, но точно знаем, что в ней остался один шар
Далее, наступает момент расчета случайной вероятности:
2 возможные коробки и 2 шара (один уже вытащили и второй необходимо вытаскивать из той же самой коробки), т.е. у нас выбор случайной вероятности всего из двух шаров, один из которых серебряный, а второй золотой.
И вот теперь вопрос:
Цитата Сообщение от yellyex Посмотреть сообщение
Какова вероятность того, что оставшийся шар в той же самой коробке окажется золотым?
Ответ очевиден: фифти-фифти... однако... если следовать логике...
3
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
19.05.2023, 14:34  [ТС]
Да, если бы оставшиеся шары лежали в одной коробке, где было бы два золотых и один серебряный шар, тогда было бы по 33% на каждый шар, а золотых шара два. Вот тогда было бы 2/3. А когда выбор идёт между одним нужным и не нужным шарами, то это 1/2.
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
19.05.2023, 15:51
Цитата Сообщение от YuS_2 Посмотреть сообщение
Но у нас нет точных данных, какая у нас именно коробка с золотым шаром
но мы знаем вероятность того в какой коробке мы оказались: 2/3, что в золотой!

Добавлено через 4 минуты
Цитата Сообщение от yellyex Посмотреть сообщение
А когда выбор идёт между одним нужным и не нужным шарами, то это 1/2.
Вероятность попадания в эти две коробки не одинаковая при условии, что один шар из коробки нам уже известен.
Вы таки не прочувствовали разницы между условной и обычной вероятностями.
2
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
19.05.2023, 17:25
Цитата Сообщение от idealist Посмотреть сообщение
2/3, что в золотой!
это не случайность и никакая не вероятность... это задано условиям.

Цитата Сообщение от idealist Посмотреть сообщение
Вероятность попадания в эти две коробки не одинаковая при условии
Вероятность уменьшилась бы, если бы в условиях был выбор второго шара из других коробок. Но в данном случае, вероятность попадания в коробку с золотым шаром не учитывается/не нужна, от слова совсем.
А так, читайте выше:
2 коробки
Выбор единственного, т.е. второго шара из той же коробки, из которой достали первый шар, ведет нас, безо всяких оговорок, только по единственному же пути: т.к. цветов у шаров всего два и существует вероятность наличия любого цвета из двух, то вероятность выбора рассчитывается: получение одного из двух возможных вариантов и это не натягивание совы на глобус, а жестко заданные условия задачи + логика.
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
19.05.2023, 17:33
YuS_2, ну да. Какова вероятность, что ракета не взлетит? 50 процентов! Либо взлетит, либо нет!
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
19.05.2023, 18:00
YuS_2, просто пронумеруйте золотые шары. В первой коробке лежат шары 1 и 2, во второй шар номер 3 и серебрянный.
У вас три равноценных варианта: шар 1, тогда другой шар тоже золотой, шар 2, тогда нам тоже повезло, и шар 3, тогда другой шар серебрянный. Из трех случаев в двух нам везет. Вероятность 2/3. Поначалу тоже подумал что 1/2, не разобравшись. Можете проверить это методом монте-карло..

Добавлено через 5 минут
Python
1
2
3
4
5
6
7
8
9
10
11
import random
d=((0,0),(0,1),(1,1))
g,h=0,0
for k in range(10000):
    i=random.randint(0,2)
    j=random.randint(0,1)
    if d[i][j]==1:
        g+=1
        if d[i][j-1]==1:
            h+=1
print(h/g)
0
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
19.05.2023, 19:06
Лучший ответ Сообщение было отмечено yellyex как решение

Решение

Цитата Сообщение от idealist Посмотреть сообщение
Либо взлетит, либо нет!
всё верно.
"Tertium non datur"

Добавлено через 4 минуты
Цитата Сообщение от u235 Посмотреть сообщение
У вас три равноценных варианта
Из чего это следует? Свои рассуждения я уже написал...
1. Коробок с золотыми шарами у нас две
2. После вытаскивания одного шара из двух, в коробке остается один. Именно этот и никакой другой шар нам надо вытащить вторым номером.
3. Один шар может иметь два цвета
4. Откуда здесь может появиться третий вариант?

Добавлено через 45 минут
Цитата Сообщение от u235 Посмотреть сообщение
В первой коробке лежат шары 1 и 2, во второй шар номер 3 и серебрянный.
Вижу, что свои рассуждения я не достаточно подробно объяснил...
Попробуем так:
Используем предложенную нумерацию...
К1 - зш1, зш2
К2 - зш3, сш
В вытаскивании золотого шара у нас нет элемента случайности. По условиям, мы уже его достали из коробки, т.е. первое действие:
или зш1|зш2, или зш3 (не суть важно, но не случайно, поэтому в расчете вероятности это не используется)
какие у нас варианты остаются?
либо зш2|зш1, либо сш
т.е. вариативность сводится к выбору из двух вариантов, именно потому, что коробок всего две, а шар в коробке один.
В любой из коробок учитывается только один шар, т.к. второй по условию из неё удален.
Итого: если, например, удален зш3, то выбор не между зш1, зш2 и сш, а именно вот в таком варианте:
зш1|зш2 и сш, т.е. номер зш не имеет значения, т.к. находятся они в разных коробках.
Ситуацию резко изменило бы нахождение всех четырех шаров в одной коробке и тогда был бы применим метод Монте-Карло.
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
19.05.2023, 19:47
YuS_2, ладно... а что насчет проверки кодом от idealist или моим? В коде, по вашему, где ошибка? Почему он выдает значение близкое к 2/3?
0
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
19.05.2023, 20:02
Если перевести всё в формулы, то:
Каждый шар - одно событие, т.е. единица
Далее:
K1 = z1 + z2, число событий 2
K2 = z3 + s , и это 2 события

поскольку вытаскивание золотого шара у нас неслучайная величина, то после выполнения условий задачи, у нас должно получиться вот это:

K1 = K1 - z1 ≡ K1 - z2 , т.е. 1 событие
K2 = K2 - z3 , и здесь 1 событие

а далее, классическое P(A) = n/m
то бишь, рассчитывается вероятность между K1 и K2, каждая из которых имеет значением единицу
n = 1, нужное нам, единственное событие
m = K1 + K2 = 1 + 1 , число всех возможных событий
P(A) = 1/2
Бинго!
Как-то так...

Вот это надо перевести на код и тогда результат сойдется...

Добавлено через 1 минуту
Цитата Сообщение от u235 Посмотреть сообщение
Почему он выдает значение близкое к 2/3?
Потому, что неверные предпосылки, при верном алгоритме, приводят к неверному результату...
2
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
19.05.2023, 20:39
Цитата Сообщение от YuS_2 Посмотреть сообщение
Потому, что неверные предпосылки, при верном алгоритме, приводят к неверному результату...
В коде нет никаких предпосылок. Все по условию: случайно выбирается коробка i. Из нее выбирается случайный шар j, если шар не золотой 1, то все начинается сначала, если золотой, тогда (g - удачная попытка, вытащили первый золотой шар инкрементируется) проверяется какой другой шар в этой же коробке, в случае удачи, инкрементируется h. Соотношение h к g при большом количестве попыток будет стремится к вероятности. По-моему, все очевидно.
0
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
19.05.2023, 20:55
Цитата Сообщение от u235 Посмотреть сообщение
В коде нет никаких предпосылок.
предпосылки не в коде, а в неверном переносе условий задачи в код...
Код построен для одной коробки, d, а у нас их две и в случайном выборе участвует не 1 + 2, а 1 + 1 шар, т.к. первичное вытаскивание золотого шара - величина неслучайная, поэтому при вытаскивании этого шара из одной коробки, для приведения опыта с условиями задачи, необходимо вытащить неслучайный золотой шар и из второй коробки... ну, я не знаю, как ещё объяснить... в каждой коробке должно остаться по одному шару, потому, что выбор коробки -случайность, а вот вытаскивание первого золотого шара - условная закономерность , а уже когда в каждой коробке осталось по одному шару, наступает возможность посчитать вероятность того, какую коробку мы выбрали... т.е. какой там будет шар.
0
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 128
20.05.2023, 00:14  [ТС]
idealist,
Вероятность попадания в эти две коробки не одинаковая при условии, что один шар из коробки нам уже известен.

Вот тут ошибка. После того, как коробка выбрана мы не имеем право её менять.

Вот картинка задачи:
https://ibb.co/WcJ2kH2
Миниатюры
Задача про шары  
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
20.05.2023, 00:25
Цитата Сообщение от yellyex Посмотреть сообщение
После того, как коробка выбрана мы не имеем право её менять.
Ну, условная вероятность отличается от обычной тем, что вычисляется уже при условии наступления некоторого события.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2023, 00:25
Помогаю со студенческими работами здесь

Задача про шары
Уважаемые форумчане! Помогите пожалуйста с решением следующей задачи: В ящике 10 красных, 15 желтых и 20 зеленых шаров. Их вытаскивают...

Задача про шары
В ящике находится 5 белых, 7 черных и 7 красных шаров. Наудачу извлечены 3 шара. Найти вероятности следующих событий: - извлечен по крайней...

задача про шары
В ящике находится белых, черных и красных шаров. Наудачу извлечены 3 шара. Найти вероятности следующих событий: - извлечен по...

Задача про шары
Помогите решить задачку, не знаю с чего начать В коробке 10 белых, 12 черных и 8 красных шаров. Шары извлекаются до появления красного....

задача про шары
В урне 8 черных и 7 белых шаров. случайным образом вынимают 6 шаров. найти вероятность того, что среди них имеются а) только 4 белых шара...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru