Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2013, 18:11   #1
znt
Новичок
Джуниор
 
Регистрация: 26.03.2013
Сообщений: 2
По умолчанию Вероятность победы + random

Нужна помощь написал программу,расчёт вероятности победы с учётом предыдущих противостояний и ещё решил реализовать random,как сделать что бы при нажатии на RdioBautton1(это значит команда №1 играет дома) к её вероятности победы прибавлялся random(15),а при нажатии RdioBautton2 к команде №2. Пытался подобное реализовать,но диапазон вероятности ничьи превышал 100%
Вложения
Тип файла: rar Задачка.rar (254.5 Кб, 5 просмотров)
znt вне форума Ответить с цитированием
Старый 22.05.2013, 21:12   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Через Random вы вероятность не прощитаете. Каждый новый рандом задействует GetTickCount который всегда увеличивается(это счетчик тактов процессора) а затем умножается на некоторое число. По этому каждое Random-число - всегда уникально.

Теорию вероятности примените.
Человек_Борща вне форума Ответить с цитированием
Старый 23.05.2013, 16:00   #3
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Общая вероятность всегда равна 100%, т.е. по 50% на команду. Если у одной команды вероятность победы увеличивается на 15%, то у другой она снижается на эти же 15%.
Ну тут еще тот факт, что у нас 3 исхода: 1 команда победит, 2 команда победит, ничья; т.е. на 3й исход тоже надо некий процент, допустим вероятность ничьи 20%, то вероятность победы каждой команды (а они у меня равные) по умолчанию будет 40% (100=20+40+40).
Если мы увеличиваем вероятность победы одной из команд на 15%, получится (40+15)% / (20-15)% / 40%, из ничьи вычитаем, потому что понижается именно вероятность ничьи, если вероятность ничьи=0, то вычитаем из вероятности победы второй команды. Т.е. если мы захотим увеличить вероятность победы на 37%, то получится (40+37)% / (20-20)% / (40-17)%. Первая команда победит 77%, вторая команда победит 23%, ничья 0%.
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 23.05.2013, 16:42   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Допустим вероятность победы одной команды на 15% больше вероятности победы другой. Другими словами в 115 случаях из 215 победа 1-ой, в 100 из 215 - второй

Randomize;
...
i=1+Random(215);
если 1<=i<=115 - победа 1-ой, иначе 2-ой
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С Днем Победы! Баламут Свободное общение 29 10.05.2014 00:12
Расчёт вероятности победы znt Общие вопросы Delphi 4 28.03.2013 18:22
С Днём Победы! eoln Свободное общение 41 09.05.2012 20:56
С Днём Победы Яр|/||< (^_^) Свободное общение 18 10.05.2010 17:31
С днем Победы! type_Oleg Свободное общение 23 09.05.2009 12:53