Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.05.2012, 12:51
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию Вероятность

Имеются четыре события с разными или равными вероятностями наступления. Например [0.5, 0.25, 0.2, 0.05]. Как сделать выборку этих событий распределенных по вероятностям?
Ответить с цитированием
  #2  
Старый 31.05.2012, 13:05
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

Цитата:
Например [0.5, 0.25, 0.2, 0.05]
можно заполнить массив [0..99] of byte: 50-нулей, 25-1, 20-2, 5-3
и выбрать из этого массива случайный элемент, это и будет индекс события
Ответить с цитированием
  #3  
Старый 31.05.2012, 13:19
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

генерируется число от 0 до 99
Будем брать 1-100 (для наглядности)

если выпадает число от 1 до 5 то произошло 4 событие
если выпадает число от 6 до 25 то произошло 3 событие
если выпадает число от 26 до 50 то произошло 2 событие
если выпадает число от 51 до 100 то произошло 1 событие

и далее идет подсчет событий, какое сколько раз выпало(собственно это и будет выборка)
хотя, может это и имел ввиду Pyro

Последний раз редактировалось Pilot_Red, 31.05.2012 в 13:22.
Ответить с цитированием
  #4  
Старый 31.05.2012, 13:28
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

Pilot_Red несколько не то, я имел ввиду, что из массива выбирается любой случайный элемент из всех, а количество разных элементов в массиве определяет вероятность, как часто он будет выбираться
Ответить с цитированием
  #5  
Старый 31.05.2012, 13:37
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от Pyro
Pilot_Red несколько не то, я имел ввиду, что из массива выбирается любой случайный элемент из всех, а количество разных элементов в массиве определяет вероятность, как часто он будет выбираться
Понял твою великую мысль
Ну... это в принципе те же яйца, только в профиль..
Только у тебя будет по-производительней, а у меня по-экономичней!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:01.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025