IPB

Добро пожаловать, гость ( Вход | Регистрация )

> О блужданьях случайных, Посоветуйте, поделитесь идеями
Geen
13.2.2008, 18:58
Сообщение #1


Участник
**

Группа: Пользователи Braingames
Сообщений: 52
Регистрация: 29.5.2007
Пользователь №: 1 027



"Задача" примерно формулируется так: нужна некоторая "сглаженная" случайная величина. Т.е. на малых "временах" значение должно меняться мало и "плавно", а на больших - не должно быть никакой корреляции. Причём, общее распределение должно быть или а) нормальным, или б) равномерным.
Понятно, что хочется чего-то достаточно простого и эффективного. Т.е. можно было бы взять 10000 случайных значений и пропустить через низкочастотный фильтр, но жаба душит хранить все эти тысячи "промежуточных" значений для каждой такой случайной величины.

У меня есть две очень похожие идеи для нормального распределения.
В обоих приходится хранить одно промежуточное значение ("скорость"). В одной из них берётся гармонический осциллятор с малой собственной частотой и случайной возбуждающей силой. В другой, мы задаём случайное (нормальное) "целевое" значение и из текущего положения и скорости вычисляем ускорение, необходимое, что бы попасть в целевое значение за заданное время (>>1). И, собственно, применяем это ускорение, что бы вычислить новые положение и скорость через время 1.
Вторая идея удобна для получения равномерного результирующего распределения - задаётся на "целевое положение", а смещение от текущего положения (и результат берётся "по модулю").
Первая выглядит более удобной в случае более нетривиальных результирующих распределений (например, путём задания потенциального поля соответствующей формы), но мне пока не удалось добиться хороших результатов.
В обоих случаях у получаемой случайной величины всё же присутствуют небольшие "дрожания" - не очень приятно. Но всё было бы терпимо, если бы требовалась скалярная величина.

На самом деле требуются более сложные величины:
случайный цвет - преимущественно яркий и насыщенный;
случайное аффинное преобразование - необходимо наличие устойчивой стационарной точки (не в бесконечности smile.gif), но с не очень сильным сжатием;
"ансамбль" случайных чисел - количество значений больших нуля должно находится в заданном диапазоне;
случайная "Марковская цепь" - размер неразложимого (возвратного) класса (число посещаемых состояний) должен лежать в заданном диапазоне;

С первыми двумя особых проблем нет.
С цветом особенно: цвет представляем в формате hsv, первая компонента - равномерная сглаженная случайная величина (как описывалось выше); оставшиеся две - exp(-x^2), где x - нормальные сглаженные случайные величины. Ну только промасштабировать немного надо.
Аффинное преобразование представляем как поворот, растяжение по осям, ещё один поворот (singular value decomposition) и сдвиг. Углы поворотов - равномерные сглаженные случайные величины, сдвиг - две нормальные сглаженные случайные величины; с коэффициентами немного изврата: tanh(x^(1/3)) - что бы ограничить единицей и редко было около нуля.

С "ансамблем" возникают проблемы, если требуемый диапазон ощутимо меньше размера "ансамбля". Скажем, для случая 24 величин с требованием что бы больше 0 из них было от 1 до 3, подобрать параметры не удалось.
А как поступать с "Марковской цепью" - совсем пока не придумал.

Прошу сильно не пинать за невнятность изложения.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Geen
13.2.2008, 19:22
Сообщение #2


Участник
**

Группа: Пользователи Braingames
Сообщений: 52
Регистрация: 29.5.2007
Пользователь №: 1 027



Тут хочется, что бы положительные компоненты ансамбля менялись тоже плавно... Т.е. первые 50 раз положительные были, скажем, компоненты 1-2, потом через 0 (медленно) перевалила компонента 3. И, например, 100 шагов росла, а компонента 2 убывала в это время до 0. Что-то типа этого....
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
waldian
14.2.2008, 15:52
Сообщение #3


Активный участник
***

Группа: Пользователи Braingames
Сообщений: 813
Регистрация: 20.4.2007
Из: Питер
Пользователь №: 103



QUOTE(Geen @ 13.2.2008, 19:22) *
Тут хочется, что бы положительные компоненты ансамбля менялись тоже плавно... Т.е. первые 50 раз положительные были, скажем, компоненты 1-2, потом через 0 (медленно) перевалила компонента 3. И, например, 100 шагов росла, а компонента 2 убывала в это время до 0. Что-то типа этого....

Похоже на случайный процесс с плавно меняющимся МО. Т.е. МО тоже задается плавным случайным процессом.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Geen
14.2.2008, 18:01
Сообщение #4


Участник
**

Группа: Пользователи Braingames
Сообщений: 52
Регистрация: 29.5.2007
Пользователь №: 1 027



QUOTE(waldian @ 14.2.2008, 15:52) *

Похоже на случайный процесс с плавно меняющимся МО. Т.е. МО тоже задается плавным случайным процессом.

А что такое МО? Мат.ожидание?
(наверное надо добавить, что номера 1-2-3 могли бы быть любыми в пределах размера "ансамбля" (не имеют ни упорядочивания, ни метрики); например 3-10-19)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщения в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



- Упрощённая версия Сейчас: 13.7.2025, 10:28
Яндекс.Метрика