|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Нужно Rnd выбор в таблице, но с указанием % вероятности. к примеру значение 0% в таблице чтоб = вероятность запуска этого трека = 0 100% = RND 50% = тоже что и RND только в два раза меньшая вероятность Если сделать for f=1 to 10000: debug.print int(rnd(1)*200):next то выдаст разные числа. Мне нужно чтоб например, число №3 встречалось в два раза меньше чем обычно. Конечно количество всегда разное, но мне надо именно управлять в % соотношением. Я не знаю какой строить алгоритм. Есть музыка хорошая и не очень, старая и современная. В инструкции будет указано включить трек конкретного исполнителя, какой именно трек - выбирается по RND с учетом % вероятности. + инструкция игнорируется если обращается к тому ж исполнителю быстрее указанного времени (тайм-аут). Делать игру бег тараканов к финишу по rnd ? слишком много процессов. есть другие варианты ? я по математике не ас. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 01:24 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Получается предыдущие значения состязание "тараканов" нужно будет сохранять чтоб были шансы и в 40%, не только в 70-100%. Сохранять значения в таблице б/д - обрадует меня новыми неожиданностями, как всегда. Единственное, можно сохранять в open for random, так как записи индексирование... Только так вижу как решить задачу. А что еще можно сообразить другое ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 01:35 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
То, что вы в дискретной математике не ас - это видно хотя бы по тому, как вы вероятность делите на вероятность Вероятно, составить правильный алгоритм могла бы правильная постановка задачи... Поскольку многое зависит не только от ваших общих слов, но и от конкретной реализации. Расскажите, что вы пытаетесь сделать, что получить в результате... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 01:38 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Есть общие сценарии (база данных), управляют всем процессом. В зависимости от времени конкретные сценарии активируются либо дезактивируются. Есть сценарии с высшим приоритетом, в том случае игнорируются те которые с меньшим приоритетом. Если приоритеты равны, то они делят между собой права вот в таком варианте: Код: vbnet 1. 2. 3.
Долгий рассказ будет... Это ж серверная версия программы. Это все работает. Сценарии активируют плейлисты. В плейлистах может быть инструкция запустить трек где указан полный Path к файлу. В этом случает запускается конкретный файл. А также сделал возможность указать в плейлисте только исполнителя. Его путь известен. Запускаем програму. Слушатели не будут на все 100% довольны, так как будет играть все подряд. Не ощущается присутствия диджея. Если какие-то треки совсем исключить на времья то тоже плохо. Нужно комбинированный режим. Задача. Есть длительный интервал времени - месяц. За этот месяц например все желательные треки чтоб играли +-N раз, другие на +-N*% Уже давно не секрет, что радиостанции сами по себе работают без вмешательства. Я просто хочу сделать движок чуть по своему. Да и у нас не совсем радиостанция - телеканал (реклама, поздравление, обьявление, информация, новости/фото/видео ютуб от друзей "одноклассники", смс... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 02:07 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
я пропустил в предыдущем посте. Когда указано в инструкции только исполнителя, то нужно чтоб делался RND выбор учитывая % что любят (от 0 до 100) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 02:11 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Я постарался сделать отдельный код чтоб показать что именно у меня не получается. Создаю команду в 10 учасников. Успех первого учасника умножаю на 0%, а №3 - на 50%. В итоге я получаю почти то что хочу. Но я не понимаю почему повторяется одна и та же последовательность. Должна быть произвольная порядочность, а тут если 30 раз сделать "Забег", то увидите что через каждых 9-10 все дублируется с точностю 1 к 1 кроме №3 и №1. Если можно, давайте уже этот упрощенный пример рассматривать дальше. Качайте проэкт ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 03:34 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Кстати, хотелось бы посмотреть на схему данных в вашем MDB (можно отдельно и почтой). Возможно, будет смысл её немного поменять - например, из ваших постов (в других темах) я не совсем понял, как вы соотносите свойства самих композиций и объединение их (в плейлисты, группы, стили etc). Просто, чтобы работал ваш "виртуальный DJ", надо делать динамическое переопределение "вероятностей", причем в пределах, причем многофакторное - популярность композиции, популярность исполнителя, популярность стиля, ... причем учитывать и возможность "ручного" задания/отмены композиции - действия, которые должны тоже влиять на изменение "вероятности". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 08:35 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Я с утра подумал что пример с рулеткой тоже бы подошел. Есть там красное поле, черное... Программе задать что попадания на черное поле только 40%, красное 100% вероятности. В итоге должно быть и черное и красное, но в габаритном анализе черного должно быть конкретно меньше из сотни попыток. У меня как-бы тоже самое да только треки которые недавно играли не будут играть из-за той причины что у них сохраняется now() их запуска в базу. И есть минимальный таймаут до следующего запуска. У меня баз несколько. По этому как-бы не получится в 150Кб все + там уже другие задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 12:00 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Хорошо, я подумаю за выходные... Затем попробую показать, как я вижу методы решения. Впрочем, нормализованная схема данных не повлияет на методы анализа, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 13:26 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Попробуйте ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 15:35 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
КазанскийПопробуйте по вашему примеру всегда лидирует зеленый, но я не пробовал суммировать их в 250 раз, посмотреть будет ли повторение по стандартной схеме или случайно. в понедельник попробую, а то я в гостях, в Белоруссии сейас ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 15:48 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
по вашему примеру всегда лидирует зеленый Да, так и задумано! Вероятность выпадения цвета зависит от числа во 2-м столбце. В этом примере вероятность выпадения зеленого в 1,5 раза больше, чем красного, желтого - в 2 раза меньше, чем красного, синего - такая же, как красного и т.д. Кстати, макрос в файле оказался случайно, он не имеет отношения к теме ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2012, 18:03 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Я переделал алгоритм (после бани) У меня в примере, который я приложил к посту, там все значения повторялись один к одному. Не стал рассматривать причины, исследовать что к чему и как. Там был алгоритм такой: дано 10 участников, они бегают на перегонки (бросаем кость случайных чисел для каждого чтоб сделать какие-то шаги к финишу), первый = 0% шансов, И №3 = 50% шансов. Я просто умножал скорость их которая суммировалась на %. Но было конкретное число "бросков кости". Победитель уходил на нулевую позицию, остальные участники оставались на той же дистанции. Теперь я переделал алгоритм. Условие почти то же. 10 учасников. №1 = 0% шансов, №3 = 50% шансов. Сделал уже не на количество выпаданий случайных чисел, а конкретно пока не будет преодолена дистанция. Например если >1000 тогда участник является победителем и стает на место=место - 1000, все остальные остаются на прежних дистанциях. Результат этой уже программы лучший, но какой-то он не оживленный, случайны, но как-то то так... Игра на перегонки вышла. Попробую на практике, может и так сойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2012, 01:37 |
|
Вероятность и управление ею
|
|||
---|---|---|---|
#18+
Возвращаясь на Украину, в поезде уже исправил цикл. Теперь случайность можно считать управляемой, хотя это не та случайность когда встретится одно и то же число дважды, но для моей задачи - она меня вполне устраивает. Разброс будет зависеть в моем примере от Public Const LenTrack = 40. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2012, 23:48 |
|
|
start [/forum/topic.php?fid=60&msg=38042568&tid=2157315]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
387ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 492ms |
0 / 0 |