Как создать смещенную монету с вероятностью успеха 1/3, используя только & ldquo; честные монеты & rdquo;

Мое приложение не использует образ запуска. Установка «Запустить экранный файл» в файл «main.storyboard» исправила проблему для меня.

Этот параметр можно найти в разделе «Целевые -> Общие -> Иконки приложений и запуск изображений»

Используйте следующую ссылку для получения дополнительной информации: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

-3
задан Kiana Mills 16 January 2019 в 00:06
поделиться

2 ответа

Надеюсь, я правильно понял вопрос.

Я собираюсь использовать T для успеха, F для неудачи. Я поместил следующий бит в поле кода для правильного форматирования. Он показывает, каков будет результат и каковы кумулятивные вероятности, если вы дадите рефлекс только для определенных результатов.

.                                     T %       F %
First fair coin flip                  50%       50%
Reflip only if the result was T       25%       75%
Reflip AGAIN only if F                37.5%     62.5%
Reflip AGAIN only if T                31.25%    68.75%
etc, etc

Вы видите, куда я иду? Если вы это сделаете, иди код сейчас.

Вам нужна функция Reflip, которая принимает в качестве аргументов результат последнего броска и честную монету. Он подбрасывает монету и возвращает результат, если он совпадает с последним, в противном случае он вызывает себя снова с новым результатом. При первом обращении к нему следует использовать F в качестве начального результата. Теоретически, функция может продолжаться бесконечно, но это то, что вам нужно, чтобы сгенерировать 1/3, поскольку она не рациональна.

0
ответ дан DoctorOrrery 16 January 2019 в 00:06
поделиться

Так как это ваша домашняя работа, я не собираюсь давать вам ответ, но здесь есть хорошая визуализация бросания монет в питоне.

import matplotlib.pyplot as plt
import random
import numpy as np

number_of_toss=1000

def fairCoin():
    return random.choice([0,1])  

toss=[]
for i in range(number_of_toss):
    toss.append(fairCoin())    
    coins=np.bincount(np.array(toss))
    label=["heads","tails"]
    index = np.arange(len(label))
    if i>2:  
        Ph=np.around(coins[0].astype("float")/coins.sum().astype("float"),3)
        Pt=np.around(coins[1].astype("float")/coins.sum().astype("float"),3)
        plt.title("Heads:"+str(Ph)+"    Tails:"+str(Pt))
    plt.bar(index, coins)
    plt.xticks(index, label, fontsize=15)  
    plt.pause(0.05)

plt.show()
0
ответ дан Eka 16 January 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: