Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Max Matveyev
Зарегистрирован: 02.12.2003 Сообщения: 2
|
Добавлено: Вт Дек 02 2003 12:56 Заголовок сообщения: Нужен алгоритм - может кто придумает..... |
|
|
Что-то у самого мозг уже засох а хорошего так ничего и не придумал... Может кто предложит чего-нибудь умного?
Задача следующая. Есть виртуаьный автомат куда кидаются монетки (например, 1, 3 или 5 штук за раз). После каждого броска автомат либо выдаёт
а) прибавляет число брошеных монет к "прибыли"
б) выдаёт или 0 монет (проигрыш) или определённый выигрыш из таблицы (в этом случае запи сывает число выданных монетв "убытки")
НАДО чтобы он не забывал одновременно и про маленькие и про большие выигрыши, .т.е. маленькие (например 1,2 или 3 монеты) выдавал довольно часто но и больших (напр. 500-700 монет) не приходилось ждать очень долго. При этом средняя частота выигрышей должна быть не меньше опр. величины (напр. из 100 бросков 20-25 выигрышных) а общий баланс ("прибыль"-"убытки") не должен быть менее какого-то значения (напр. 15% от "прибыли")
Всё что я придумывал или зацикливалось на больших выигрышах и не давало маленьких, или наоборот - давало только маленькие... |
|
Вернуться к началу |
|
|
Алекс
Зарегистрирован: 25.06.2003 Сообщения: 2206 Откуда: Москва
|
Добавлено: Вт Дек 02 2003 18:22 Заголовок сообщения: Это тебе книжку надо! |
|
|
Знаешь, что такое Теория вероятностей? Вот это оно самое, что тебе и нужно. Изучал я когда-то, но сейчас, извини, помочь так сразу "навскидку" не смогу. Тем более, что задача, как мне кажется, серьёзная - просчеты могут выйти боком!
Так что читай учебники для ВУЗов.
Если туго будет (еще туже, чем сейчас) - пиши. Посмотрим, что да как!
Удачи! |
|
Вернуться к началу |
|
|
Max Matveyev
Зарегистрирован: 02.12.2003 Сообщения: 2
|
Добавлено: Ср Дек 03 2003 11:01 Заголовок сообщения: |
|
|
Пробовал с применением теории вероятностей - ничего хорошего не вышло: выдаёт в основном мелкие выигрыши (перед выдачей проверяю чтобы лишнего не дал и если что не так - не выдаю) и этими мелкими выигрышами практически точно держит установленныый процент выдачи - в итоге на большие выигрыши накопить не может. |
|
Вернуться к началу |
|
|
Алекс
Зарегистрирован: 25.06.2003 Сообщения: 2206 Откуда: Москва
|
Добавлено: Ср Дек 03 2003 12:40 Заголовок сообщения: Ну, незнаю даже... |
|
|
Max Matveyev писал(а): | Пробовал с применением теории вероятностей - ничего хорошего не вышло: выдаёт в основном мелкие выигрыши (перед выдачей проверяю чтобы лишнего не дал и если что не так - не выдаю) и этими мелкими выигрышами практически точно держит установленныый процент выдачи - в итоге на большие выигрыши накопить не может. |
Все в этом мире на теории вероятностей подвязано! Алгоритм неправильно как-то составил, видно. Почитай повнимательней матчасть. |
|
Вернуться к началу |
|
|
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Ср Дек 03 2003 12:48 Заголовок сообщения: Не в тему форума! |
|
|
Я бы тебе ответил, если бы вопрос касался темы форума. Задай эту довольно легкую задачку на другом форуме - и, я уверен, быстро получишь правильный ответ (возможно, наряду с кучей ложных ответов). |
|
Вернуться к началу |
|
|
s_key Гость
|
Добавлено: Вт Дек 09 2003 22:11 Заголовок сообщения: это точно теория вероятности |
|
|
Я так понимаю, тебе просто нужен генератор случайных чисел с нужным распределением вероятности. Это распределение должно быть либо задано заранее, либо придумано произвольно, чтобы хотя бы примерно поддерживать соотношение между "мелкими" и "крупными" выигрышами. Если распределение есть, дальше уже проще. См. книги, например алгоритм Метрополиса. |
|
Вернуться к началу |
|
|
Andy_user
Зарегистрирован: 03.12.2003 Сообщения: 382 Откуда: Санкт-Петербург
|
Добавлено: Ср Дек 10 2003 12:48 Заголовок сообщения: |
|
|
Примерно так:
Нужно 2 датчика случайных чисел:
1. Для определения наступления самого события "выигрыш".
Равномерное распределение на интервале 0.0 - 1.0 Подкидываем монетку и проверяем, если меньше 0.20 (0.25), то выигрыш, если больше, то проигрыш;
2. Для определения величины выигрыша (если такое событие наступило в результате работы первого ДСЧ.
Параметры этого ДСЧ будут зависеть от величины "прибыли" (т.е. сколько в автомате монет есть на данный момент). Например, равномерный закон распределения 1.0 - N/(1.00 - 0.15) (N - текущая прибыль). И сколько выпало, столько монет отдать (естественно, округлив). |
|
Вернуться к началу |
|
|
s_key Гость
|
Добавлено: Пт Дек 12 2003 15:05 Заголовок сообщения: |
|
|
To Andy_user
Это тоже вариант, конечно.
Только величина выигрыша будет сильно
зависеть от того, сколько денег в "кассе".
По моему, это несправедливо. |
|
Вернуться к началу |
|
|
Andy_user
Зарегистрирован: 03.12.2003 Сообщения: 382 Откуда: Санкт-Петербург
|
Добавлено: Сб Дек 13 2003 17:53 Заголовок сообщения: |
|
|
Я рад, что Вы не возражаете против 2-х ДСЧ, хотя в своем посте имели ввиду 1.
Также, прочитав Ваше "По моему, это несправедливо", я умилился Вашему следованию заветам Робин Гуда.
Но есть такая вещь, как условие задачи, поставленное автором топика:
"общий баланс ("прибыль"-"убытки") не должен быть менее какого-то значения (напр. 15% от "прибыли")"
На этом позвольте проститься с Вами.
Andy_user, эсквайр. |
|
Вернуться к началу |
|
|
Гость
|
Добавлено: Чт Дек 18 2003 20:45 Заголовок сообщения: |
|
|
Предлагаю вариант:
1. Если проигрыш то бросаем или в "банк" или в "прибыль"
В "прибыль" попадают (15%) монет и она не используется на оплату
выигрышей.
В "банк" попадают монеты которые пойдут на оплату выигрышей
2. Если выигрыш (20-25%) то определяем сумму выигрыша:
Однако весь банк сразу не отдаем а отдаем например 80-85 % банка остальное на следующие выигрыши.
Возможны варианты:
- Например можно просто получать случайное число ( например в диапазоне 1-100) и если оно больше или равно 98 отдаем 100% приза,
если больше 80 то 80 % приза и т. д.
- Можно получать СЧ по нормальному закону и после некоторых манипуляций также получать плавающую сумму выигрыша.
Возможны и другие варианты но в них больше математики. |
|
Вернуться к началу |
|
|
|