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, подобрать параметры не удалось.
А как поступать с "Марковской цепью" - совсем пока не придумал.

Прошу сильно не пинать за невнятность изложения.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
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



QUOTE(Geen @ 13.2.2008, 18:58) *

"Задача" примерно формулируется так: нужна некоторая "сглаженная" случайная величина.

Процесс?


--------------------
Где это видано?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Geen
14.2.2008, 11:42
Сообщение #5


Участник
**

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



QUOTE(nik_vic @ 14.2.2008, 7:23) *

Процесс?

Не совсем понял вопрос...
Если под "процессом" имелась ввиду непрерывность времени и возможность разрешить эту случайную величину до сколь угодно малых временных интервалов, то нет - нужна просто последовательность случайных величин (генератор случайных чисел). Аппеляция к "физике" была условной, в попытке сократить описание.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
waldian
14.2.2008, 15:52
Сообщение #6


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

Группа: Пользователи 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
Сообщение #7


Участник
**

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



QUOTE(waldian @ 14.2.2008, 15:52) *

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

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

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

 



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