powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вероятность и управление ею
14 сообщений из 14, страница 1 из 1
Вероятность и управление ею
    #38042335
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно Rnd выбор в таблице, но с указанием % вероятности.
к примеру значение 0% в таблице чтоб = вероятность запуска этого трека = 0
100% = RND
50% = тоже что и RND только в два раза меньшая вероятность

Если сделать for f=1 to 10000: debug.print int(rnd(1)*200):next то выдаст разные числа. Мне нужно чтоб например, число №3 встречалось в два раза меньше чем обычно. Конечно количество всегда разное, но мне надо именно управлять в % соотношением. Я не знаю какой строить алгоритм. Есть музыка хорошая и не очень, старая и современная. В инструкции будет указано включить трек конкретного исполнителя, какой именно трек - выбирается по RND с учетом % вероятности. + инструкция игнорируется если обращается к тому ж исполнителю быстрее указанного времени (тайм-аут).

Делать игру бег тараканов к финишу по rnd ? слишком много процессов. есть другие варианты ? я по математике не ас.
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042341
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается предыдущие значения состязание "тараканов" нужно будет сохранять чтоб были шансы и в 40%, не только в 70-100%. Сохранять значения в таблице б/д - обрадует меня новыми неожиданностями, как всегда. Единственное, можно сохранять в open for random, так как записи индексирование...
Только так вижу как решить задачу. А что еще можно сообразить другое ?
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042342
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что вы в дискретной математике не ас - это видно хотя бы по тому, как вы вероятность делите на вероятность

Вероятно, составить правильный алгоритм могла бы правильная постановка задачи... Поскольку многое зависит не только от ваших общих слов, но и от конкретной реализации. Расскажите, что вы пытаетесь сделать, что получить в результате...
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042359
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть общие сценарии (база данных), управляют всем процессом. В зависимости от времени конкретные сценарии активируются либо дезактивируются. Есть сценарии с высшим приоритетом, в том случае игнорируются те которые с меньшим приоритетом. Если приоритеты равны, то они делят между собой права вот в таком варианте:
Код: vbnet
1.
2.
3.
   vMin = PBGrupsSpisok(f1).Fields("PoslidMin")
   vMax = PBGrupsSpisok(f1).Fields("PoslidMax")
   vOprKst = Int(Rnd() * ((vMax - vMin) + 1)) + vMin


Долгий рассказ будет... Это ж серверная версия программы. Это все работает. Сценарии активируют плейлисты. В плейлистах может быть инструкция запустить трек где указан полный Path к файлу. В этом случает запускается конкретный файл. А также сделал возможность указать в плейлисте только исполнителя. Его путь известен. Запускаем програму. Слушатели не будут на все 100% довольны, так как будет играть все подряд. Не ощущается присутствия диджея. Если какие-то треки совсем исключить на времья то тоже плохо. Нужно комбинированный режим.
Задача.
Есть длительный интервал времени - месяц. За этот месяц например все желательные треки чтоб играли +-N раз, другие на +-N*%

Уже давно не секрет, что радиостанции сами по себе работают без вмешательства. Я просто хочу сделать движок чуть по своему. Да и у нас не совсем радиостанция - телеканал (реклама, поздравление, обьявление, информация, новости/фото/видео ютуб от друзей "одноклассники", смс...
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042360
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пропустил в предыдущем посте.
Когда указано в инструкции только исполнителя, то нужно чтоб делался RND выбор учитывая % что любят (от 0 до 100)
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042384
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я постарался сделать отдельный код чтоб показать что именно у меня не получается.
Создаю команду в 10 учасников. Успех первого учасника умножаю на 0%, а №3 - на 50%. В итоге я получаю почти то что хочу.
Но я не понимаю почему повторяется одна и та же последовательность. Должна быть произвольная порядочность, а тут если 30 раз сделать "Забег", то увидите что через каждых 9-10 все дублируется с точностю 1 к 1 кроме №3 и №1.

Если можно, давайте уже этот упрощенный пример рассматривать дальше. Качайте проэкт
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042419
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, хотелось бы посмотреть на схему данных в вашем MDB (можно отдельно и почтой).
Возможно, будет смысл её немного поменять - например, из ваших постов (в других темах) я не совсем понял, как вы соотносите свойства самих композиций и объединение их (в плейлисты, группы, стили etc).

Просто, чтобы работал ваш "виртуальный DJ", надо делать динамическое переопределение "вероятностей", причем в пределах, причем многофакторное - популярность композиции, популярность исполнителя, популярность стиля, ... причем учитывать и возможность "ручного" задания/отмены композиции - действия, которые должны тоже влиять на изменение "вероятности".
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042454
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с утра подумал что пример с рулеткой тоже бы подошел. Есть там красное поле, черное... Программе задать что попадания на черное поле только 40%, красное 100% вероятности. В итоге должно быть и черное и красное, но в габаритном анализе черного должно быть конкретно меньше из сотни попыток. У меня как-бы тоже самое да только треки которые недавно играли не будут играть из-за той причины что у них сохраняется now() их запуска в базу. И есть минимальный таймаут до следующего запуска.
У меня баз несколько. По этому как-бы не получится в 150Кб все + там уже другие задачи
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042506
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, я подумаю за выходные... Затем попробую показать, как я вижу методы решения.
Впрочем, нормализованная схема данных не повлияет на методы анализа, конечно.
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042568
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042573
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийПопробуйте
по вашему примеру всегда лидирует зеленый, но я не пробовал суммировать их в 250 раз, посмотреть будет ли повторение по стандартной схеме или случайно. в понедельник попробую, а то я в гостях, в Белоруссии сейас
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042631
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по вашему примеру всегда лидирует зеленый
Да, так и задумано! Вероятность выпадения цвета зависит от числа во 2-м столбце. В этом примере вероятность выпадения зеленого в 1,5 раза больше, чем красного, желтого - в 2 раза меньше, чем красного, синего - такая же, как красного и т.д.

Кстати, макрос в файле оказался случайно, он не имеет отношения к теме ;)
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38042934
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я переделал алгоритм (после бани)
У меня в примере, который я приложил к посту, там все значения повторялись один к одному. Не стал рассматривать причины, исследовать что к чему и как. Там был алгоритм такой: дано 10 участников, они бегают на перегонки (бросаем кость случайных чисел для каждого чтоб сделать какие-то шаги к финишу), первый = 0% шансов, И №3 = 50% шансов. Я просто умножал скорость их которая суммировалась на %. Но было конкретное число "бросков кости". Победитель уходил на нулевую позицию, остальные участники оставались на той же дистанции.

Теперь я переделал алгоритм. Условие почти то же. 10 учасников. №1 = 0% шансов, №3 = 50% шансов. Сделал уже не на количество выпаданий случайных чисел, а конкретно пока не будет преодолена дистанция. Например если >1000 тогда участник является победителем и стает на место=место - 1000, все остальные остаются на прежних дистанциях.

Результат этой уже программы лучший, но какой-то он не оживленный, случайны, но как-то то так... Игра на перегонки вышла. Попробую на практике, может и так сойдет
...
Рейтинг: 0 / 0
Вероятность и управление ею
    #38044751
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаясь на Украину, в поезде уже исправил цикл. Теперь случайность можно считать управляемой, хотя это не та случайность когда встретится одно и то же число дважды, но для моей задачи - она меня вполне устраивает. Разброс будет зависеть в моем примере от Public Const LenTrack = 40.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вероятность и управление ею
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]