О блужданьях случайных, Посоветуйте, поделитесь идеями |
Добро пожаловать, гость ( Вход | Регистрация )
О блужданьях случайных, Посоветуйте, поделитесь идеями |
Geen |
13.2.2008, 18:58
Сообщение
#1
|
Участник Группа: Пользователи Braingames Сообщений: 52 Регистрация: 29.5.2007 Пользователь №: 1 027 |
"Задача" примерно формулируется так: нужна некоторая "сглаженная" случайная величина. Т.е. на малых "временах" значение должно меняться мало и "плавно", а на больших - не должно быть никакой корреляции. Причём, общее распределение должно быть или а) нормальным, или б) равномерным.
Понятно, что хочется чего-то достаточно простого и эффективного. Т.е. можно было бы взять 10000 случайных значений и пропустить через низкочастотный фильтр, но жаба душит хранить все эти тысячи "промежуточных" значений для каждой такой случайной величины. У меня есть две очень похожие идеи для нормального распределения. В обоих приходится хранить одно промежуточное значение ("скорость"). В одной из них берётся гармонический осциллятор с малой собственной частотой и случайной возбуждающей силой. В другой, мы задаём случайное (нормальное) "целевое" значение и из текущего положения и скорости вычисляем ускорение, необходимое, что бы попасть в целевое значение за заданное время (>>1). И, собственно, применяем это ускорение, что бы вычислить новые положение и скорость через время 1. Вторая идея удобна для получения равномерного результирующего распределения - задаётся на "целевое положение", а смещение от текущего положения (и результат берётся "по модулю"). Первая выглядит более удобной в случае более нетривиальных результирующих распределений (например, путём задания потенциального поля соответствующей формы), но мне пока не удалось добиться хороших результатов. В обоих случаях у получаемой случайной величины всё же присутствуют небольшие "дрожания" - не очень приятно. Но всё было бы терпимо, если бы требовалась скалярная величина. На самом деле требуются более сложные величины: случайный цвет - преимущественно яркий и насыщенный; случайное аффинное преобразование - необходимо наличие устойчивой стационарной точки (не в бесконечности ), но с не очень сильным сжатием; "ансамбль" случайных чисел - количество значений больших нуля должно находится в заданном диапазоне; случайная "Марковская цепь" - размер неразложимого (возвратного) класса (число посещаемых состояний) должен лежать в заданном диапазоне; С первыми двумя особых проблем нет. С цветом особенно: цвет представляем в формате hsv, первая компонента - равномерная сглаженная случайная величина (как описывалось выше); оставшиеся две - exp(-x^2), где x - нормальные сглаженные случайные величины. Ну только промасштабировать немного надо. Аффинное преобразование представляем как поворот, растяжение по осям, ещё один поворот (singular value decomposition) и сдвиг. Углы поворотов - равномерные сглаженные случайные величины, сдвиг - две нормальные сглаженные случайные величины; с коэффициентами немного изврата: tanh(x^(1/3)) - что бы ограничить единицей и редко было около нуля. С "ансамблем" возникают проблемы, если требуемый диапазон ощутимо меньше размера "ансамбля". Скажем, для случая 24 величин с требованием что бы больше 0 из них было от 1 до 3, подобрать параметры не удалось. А как поступать с "Марковской цепью" - совсем пока не придумал. Прошу сильно не пинать за невнятность изложения. |
waldian |
13.2.2008, 19:17
Сообщение
#2
|
Активный участник Группа: Пользователи Braingames Сообщений: 813 Регистрация: 20.4.2007 Из: Питер Пользователь №: 103 |
Про ансамбль. А если сначала равномерно выбрать желаемое количество чисем в диапазоне и потом генерить их до тех пор, пока в нем не будет столько, сколько желаем.. после чего сразу остановиться?
|
Geen |
13.2.2008, 19:22
Сообщение
#3
|
Участник Группа: Пользователи Braingames Сообщений: 52 Регистрация: 29.5.2007 Пользователь №: 1 027 |
Тут хочется, что бы положительные компоненты ансамбля менялись тоже плавно... Т.е. первые 50 раз положительные были, скажем, компоненты 1-2, потом через 0 (медленно) перевалила компонента 3. И, например, 100 шагов росла, а компонента 2 убывала в это время до 0. Что-то типа этого....
|
nik_vic |
14.2.2008, 7:23
Сообщение
#4
|
Активный участник Группа: Пользователи Braingames Сообщений: 753 Регистрация: 22.1.2008 Пользователь №: 6 125 |
"Задача" примерно формулируется так: нужна некоторая "сглаженная" случайная величина. Процесс? -------------------- Где это видано?
|
Geen |
14.2.2008, 11:42
Сообщение
#5
|
Участник Группа: Пользователи Braingames Сообщений: 52 Регистрация: 29.5.2007 Пользователь №: 1 027 |
Процесс? Не совсем понял вопрос... Если под "процессом" имелась ввиду непрерывность времени и возможность разрешить эту случайную величину до сколь угодно малых временных интервалов, то нет - нужна просто последовательность случайных величин (генератор случайных чисел). Аппеляция к "физике" была условной, в попытке сократить описание. |
waldian |
14.2.2008, 15:52
Сообщение
#6
|
Активный участник Группа: Пользователи Braingames Сообщений: 813 Регистрация: 20.4.2007 Из: Питер Пользователь №: 103 |
Тут хочется, что бы положительные компоненты ансамбля менялись тоже плавно... Т.е. первые 50 раз положительные были, скажем, компоненты 1-2, потом через 0 (медленно) перевалила компонента 3. И, например, 100 шагов росла, а компонента 2 убывала в это время до 0. Что-то типа этого.... Похоже на случайный процесс с плавно меняющимся МО. Т.е. МО тоже задается плавным случайным процессом. |
Geen |
14.2.2008, 18:01
Сообщение
#7
|
Участник Группа: Пользователи Braingames Сообщений: 52 Регистрация: 29.5.2007 Пользователь №: 1 027 |
Похоже на случайный процесс с плавно меняющимся МО. Т.е. МО тоже задается плавным случайным процессом. А что такое МО? Мат.ожидание? (наверное надо добавить, что номера 1-2-3 могли бы быть любыми в пределах размера "ансамбля" (не имеют ни упорядочивания, ни метрики); например 3-10-19) |
Упрощённая версия | Сейчас: 25.4.2024, 19:20 |