Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Нужен алгоритм - может кто придумает.....

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Max Matveyev



Зарегистрирован: 02.12.2003
Сообщения: 2

СообщениеДобавлено: Вт Дек 02 2003 12:56    Заголовок сообщения: Нужен алгоритм - может кто придумает..... Ответить с цитатой

Что-то у самого мозг уже засох а хорошего так ничего и не придумал... Может кто предложит чего-нибудь умного?
Задача следующая. Есть виртуаьный автомат куда кидаются монетки (например, 1, 3 или 5 штук за раз). После каждого броска автомат либо выдаёт
а) прибавляет число брошеных монет к "прибыли"
б) выдаёт или 0 монет (проигрыш) или определённый выигрыш из таблицы (в этом случае запи сывает число выданных монетв "убытки")
НАДО чтобы он не забывал одновременно и про маленькие и про большие выигрыши, .т.е. маленькие (например 1,2 или 3 монеты) выдавал довольно часто но и больших (напр. 500-700 монет) не приходилось ждать очень долго. При этом средняя частота выигрышей должна быть не меньше опр. величины (напр. из 100 бросков 20-25 выигрышных) а общий баланс ("прибыль"-"убытки") не должен быть менее какого-то значения (напр. 15% от "прибыли")
Всё что я придумывал или зацикливалось на больших выигрышах и не давало маленьких, или наоборот - давало только маленькие... Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алекс



Зарегистрирован: 25.06.2003
Сообщения: 2206
Откуда: Москва

СообщениеДобавлено: Вт Дек 02 2003 18:22    Заголовок сообщения: Это тебе книжку надо! Ответить с цитатой

Знаешь, что такое Теория вероятностей? Вот это оно самое, что тебе и нужно. Изучал я когда-то, но сейчас, извини, помочь так сразу "навскидку" не смогу. Тем более, что задача, как мне кажется, серьёзная - просчеты могут выйти боком!
Так что читай учебники для ВУЗов.
Если туго будет (еще туже, чем сейчас) - пиши. Посмотрим, что да как!
Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Max Matveyev



Зарегистрирован: 02.12.2003
Сообщения: 2

СообщениеДобавлено: Ср Дек 03 2003 11:01    Заголовок сообщения: Ответить с цитатой

Пробовал с применением теории вероятностей - ничего хорошего не вышло: выдаёт в основном мелкие выигрыши (перед выдачей проверяю чтобы лишнего не дал и если что не так - не выдаю) и этими мелкими выигрышами практически точно держит установленныый процент выдачи - в итоге на большие выигрыши накопить не может.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алекс



Зарегистрирован: 25.06.2003
Сообщения: 2206
Откуда: Москва

СообщениеДобавлено: Ср Дек 03 2003 12:40    Заголовок сообщения: Ну, незнаю даже... Ответить с цитатой

Max Matveyev писал(а):
Пробовал с применением теории вероятностей - ничего хорошего не вышло: выдаёт в основном мелкие выигрыши (перед выдачей проверяю чтобы лишнего не дал и если что не так - не выдаю) и этими мелкими выигрышами практически точно держит установленныый процент выдачи - в итоге на большие выигрыши накопить не может.

Все в этом мире на теории вероятностей подвязано! Алгоритм неправильно как-то составил, видно. Почитай повнимательней матчасть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Ср Дек 03 2003 12:48    Заголовок сообщения: Не в тему форума! Ответить с цитатой

Я бы тебе ответил, если бы вопрос касался темы форума. Задай эту довольно легкую задачку на другом форуме - и, я уверен, быстро получишь правильный ответ (возможно, наряду с кучей ложных ответов). Cool
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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 % приза и т. д.
- Можно получать СЧ по нормальному закону и после некоторых манипуляций также получать плавающую сумму выигрыша.
Возможны и другие варианты но в них больше математики.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...