Научный форум dxdy
Последний раз редактировалось ariel777 05.07.2019, 08:13, всего редактировалось 3 раз(а).

Не могу осилить условие линейности булевой функции. Теорию на вики https://clck.ru/GvU9Q прочитал. Но не понял практическое применение, так как нигде не могу найти примеры применения этой теории.
Вот, допустим, задание:
Необходимо проверить, является ли функция линейной. Какие шаги я должен сделать при проверке и с чего начать?
Насколько я понимаю, конкретно эта функция уже представлена в виде многочлена Жегалкина. По определению функция является линейной если:
«. ее полином Жегалкина содержит только первые степени слагаемых.» вот этот момент про степень я недопонял. О какой степени речь? И пример какой-нибудь, пожалуйста.
Re: Проверка линейности логической функции
05.07.2019, 11:21
Последний раз редактировалось Connector 05.07.2019, 12:00, всего редактировалось 5 раз(а).
Кстати, если в разложении возникает конструкция вида
, то от неё всегда легко избавиться, заменив на
.
Re: Проверка линейности логической функции
Как определить линейная булева функция или нет
Такое решение:
Если выполняется условие:
f2 = АЛЬФА0 + АЛЬФА1*x1+АЛЬФА2*x2+.АЛЬФАn*xn
то функция линейная
В моем случае
АЛЬФА0 = 1
АЛЬФА1 = 1
АЛЬФА2 = 1
АЛЬФА3 = 0
f2 = 1+x1+x2(выполняется, значит линейная)
Я не пойму, что такое АЛЬФА1,АЛЬФА2, как ее находить?
Лучший ответ
Полином Жегалкина у булевой функции от трёх переменных x₁, x₂ и x₃ будет иметь вид:
f(x₁, x₂, x₃) = a₀ + a₁x + a₂x₂ + a₃x₃ + a₁₂x₁x₂ + a₁₃x₁x₃ + a₂₃x₂x₃ + a₁₂₃x₁x₂x₃, где:
коэффициенты a₀, a₁, a₂, a₃, a₁₂, a₁₃, a₂₃, a₁₂₃ ∈ .
Чтобы найти эти коэффициенты, нужно подставить в полином Жегалкина (написанный выше) значения функции на различных наборах переменных и решить систему уравнений. Далее, подставив найденные коэффициенты в полином, убеждаемся в его линейности.
f(000) = 1 → a₀ = 1
f(001) = 1 → a₀ + a₃ = 1 → 1 + a₃ = 1 → a₃ = 0
f(010) = 0 → a₀ + a₂ = 0 → 1 + a₂ = 0 → a₂ = 1
f(011) = 0 → a₀ + a₂ + a₃ + a₂₃ = 0 → 1 + 1 + 0 + a₂₃ = 0 → a₂₃ = 0
f(100) = 0 → a₀ + a₁ = 0 → 1 + a₁ = 0 → a₁ = 1
f(101) = 0 → a₀ + a₁ + a₃ + a₁₃ = 0 → 1 + 1 + 0 + a₁₃ = 0 → a₁₃ = 0
f(110) = 1 → a₀ + a₁ + a₂ + a₁₂ = 1 → 1 + 1 + 1 + a₁₂ = 1 → a₁₂ = 0
f(111) = 1 → a₀ + a₁ + a₂ + a₃ + a₁₂ + a₁₃ + a₂₃ + a₁₂₃ = 1 → 1 + 1 + 1 + 0 + 0 + 0 + 0 + a₁₂₃ = 1 → a₁₂₃ = 0
Тогда f(x₁, x₂, x₃) = 1 + x₁ + x₂ — линейный.
Остальные ответы
За вас это решать никто не будет. Если при разложении в полином Жигалкина функция не будет содержать конъюнкций нескольких переменных, то функция линейная. Для примера:
1) ПЖ линейной ф-ции: A0+A1x+A2y+A3z+A4j+A5k
2) ПЖ нелинейной ф-ции: A0+A1x+A2y+A3z+A4xy+A5yz+A6xz
http:// apollyon1986. narod. ru/docs/dm/FILES/9.html здесь почитайте
дискретная-математика — Определение, является ли функция линейной
Здравствуйте! Пусть функция задана набором из $%0$% и $%1$%: $%1001011010010110$%. Можно ли как-то быстро понять, линейная она или нет, или нужно строить полином Жегалкина?
задан 14 Окт ’15 18:00
Math_2012
1.6k ● 3 ● 34 ● 132
77% принятых
1 ответ
Можно. Для этого применяем то деление на «половинки», которое уже встречалось раньше. Если функция линейна, то левая половинка или равна правой, или противоположна ей. В данном случае половинки совпадают, то есть первый тест функция прошла. Совпадение говорит о том, что переменная $%x_1$% фиктивна (в противном случае она была бы слагаемым).
Теперь считаем, что нам дан «половинный» набор 10010110, и это функция от $%x_2$%, $%x_3$%, $%x_4$%. Снова разбиваем пополам, и видим противоположность наборов. Значит, $%x_2$% присутствует, и к ней прибавляется функция от $%x_3$%, $%x_4$%, заданная строкой 1001. По тому же принципу, это $%x_3$% плюс функция от $%x_4$%, заданная как 10. Из-за противоположности половинок мы видим, что $%x_4$% входит, и к ней прибавлена константа 1. Итого мы получаем, что функция линейна, и она задана формулой $%1+x_2+x_3+x_4$%.
Полином Жегалкина в общем случае находить сложнее, и если здесь один из тестов даёт «сбой», то мы знаем, что он нелинеен, хотя и не вычисляли его в явной форме.
отвечен 14 Окт ’15 18:41
falcao
300k ● 9 ● 38 ● 55
@falcao: А почему совпадение двух половинок говорит о том, что $%x_1$% фиктивна?
(14 Окт ’15 19:34) Math_2012
@Math_2012: это следует из устройства таблицы, то есть из порядка перечисления наборов. Проиллюстрирую на примере трёх переменных: 000, 001, 010, 011, 100, 101, 110, 111. Видно, что сначала идут наборы вида 0ab, а потом в том же порядке 1ab. Если значения на первой половине равны соответственно значениям на второй, то f(0,a,b)=f(1,a,b) при любых a, b, что в точности означает фиктивность первой переменной. Аналогично, если первая половина противоположна второй: тогда переход к противоположному набору есть прибавление 1 (первой координаты).
(14 Окт ’15 22:19) falcao
Точно, могла и сама догадаться.
Математика: как померить линейность функции заданной на кольце
Здравствуйте!
Есть такая задача: есть некоторая функция f(x,y), которая может быть линейна (т.е. имеет вид ax+by).
Нужно померить её линейность.
Если бы функция была задана на области вещественных чисел R, то задача решалась бы элементарно:
находим корреляцию функции f(x,y) с функцией (x+y) и готово — получена мера линейности со значениями от 0 до 1.
Но проблема вся в том, что f — есть фи — функция угла, т.е. функция задана на кольце (от -пи до +пи).
Как быть в этом случае?

unDEFER ★★★★★
14.06.06 23:30:02 MSD
← 1 2 →
Re: Математика: как померить линейность функции заданной на кольце
>Да, до чего средства телепатии дошли.. Или телепаты вышли из отпуска. Чудеса да и только! 🙂
Хорошо, пусть это будет мой вопрос (без ссылки на телепатию)
ival ★★
( 17.06.06 00:20:32 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Хорошо, пусть это будет мой вопрос (без ссылки на телепатию)
Почему? Я вовсе не против 😉
unDEFER ★★★★★
( 17.06.06 00:52:55 MSD ) автор топика
Re: Математика: как померить линейность функции заданной на кольце
>> Фабрика выпускает карандаши длиной 10, 20 и 30 сантиметра. Причем, 99% карандашей, выпущенных фабрикой, имеют длину 10 см, и по 0.5% процента — остальные.
>Ну, типа это уже не функция 🙂
Значит, я вообще ничего не понял.
Длина карандаша — случайная функция, принимающая значения 10, 20 и 30. Матожидание вычисляем, как толстый доктор прописал, 99/100*10cm + 0.5/100*20cm + 0.5/100*30cm = 10.15cm
> Хм.. цитата получена не методом copy-paste. Я такого не писал! Там написано: «мат.ожиданием этого _случайного_ процесса» 😉
Да, тут я подзапутался маленько. Но это ж надо было постараться так ключевое слово спрятать! Райкин вспоминается: «Я забрасываю снасть в воду, и этот динамит взрывается!»
Сравниваем с: «Возьмём эргодический стационарный дискретный процесс (т.е. последовательность), и его реализацию f(n). Тогда мат.ожиданием этого случайного процесса будет среднее арифметическое всех значений f(n)».
>> 2. Что такое «все значения f(n)»? (см. пример выше).
> А чтобы пример выше не работал сказано, что случайный процесс — эргодический.
Как эргодичность связана с допустимым множеством исходов?
> . я бы очень хотел узнать что мне надо бы ещё переформулировать чтобы получить этот ответ..
Сформулировать вопрос по-человечески! Мне сильно сдается, что в процессе формулировки ответ сам собой получится. Как я понял, проблема в том, что после нелинейного преобразования линейная функция перестает быть линейной (кто б мог подумать! :)) Видимо, надо соответствующие операции перевести из полярных координат в декартовы, а потом результат — обратно (если понадобится дальше с ним возиться). Впрочем, я особо не вникал. Как-то неохота гаданием заниматься 🙂
Die-Hard ★★★★★
( 17.06.06 01:31:44 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Как эргодичность связана с допустимым множеством исходов?
Она связана с тем что там не будет «99% карандашей». Т.е. будут, но для эргодического процесса берётся интеграл типа 1/T \int_0^T f(t) dt — т.е. плотности распределения или вероятности уже не учитываются. Потому, как там в этой реализации уже как надо распределено.
> Сформулировать вопрос по-человечески!
А что насчёт формулировки ival’а?
> Как я понял, проблема в том, что после нелинейного преобразования линейная функция перестает быть линейной (кто б мог подумать! :))
Это было бы смешно, если б не было так грустно. Если для фазы значение \phi от \phi+n*2*pi не различимы, но функцию a*x всё ещё хочется считать линейной..
unDEFER ★★★★★
( 17.06.06 02:11:40 MSD ) автор топика
Re: Математика: как померить линейность функции заданной на кольце
>> Как эргодичность связана с допустимым множеством исходов?
> Она связана с тем что там не будет «99% карандашей». Т.е. будут, но для эргодического процесса берётся интеграл типа 1/T \int_0^T f(t) dt — т.е. плотности распределения или вероятности уже не учитываются. Потому, как там в этой реализации уже как надо распределено.
Уверяю, описанный мною процесс совершенно эргодичен. И плотности с верояностями в эргодических процессах совершенно учитываются. И матожидание вычислено верно.
Эргодичность означает, что среднее по выборке совпадает со средним по ансамблю. В терминах графов состояний дискретных Марковских процессов это означает, что
1. Граф связан, т. е. нет нескольких несвязанных компонент.
2. Длины замкнутых циклов взаимно просты, т. е. отсутствует периодичность в компонентах.
Выюорка карандашей вообще не коррелирована, т. ч. процесс заведомо эргодичен.
>> Сформулировать вопрос по-человечески!
> А что насчёт формулировки ival’а?
Чуть понятнее, но все равно ниасилил. Наверное, туп, извиняюсь.
Die-Hard ★★★★★
( 17.06.06 04:53:00 MSD )

Re: Математика: как померить линейность функции заданной на кольце
Чё, корреляция в полярных координатах не жывёт чтоли?
bugmaker ★★★★☆
( 17.06.06 05:07:23 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Уверяю, описанный мною процесс совершенно эргодичен. Верю, но если взять одну единственную его реализацию, то там уже будет всё как надо распределено, там уже будет 99% карандешей нужной длины, и в формуле "среднего по выборке", плотность распределения не участвует: T / 1 [ - I f(t) dt T ] / 0 Тут есть только сама реализация. > Чуть понятнее, но все равно ниасилил. Жаль.. А меня между тем формулировка ival всё же натолкнула на мысль: надо попробовать определять a и b так как я это сейчас делаю (я всего лишь складываю несколько разниц углов функции двигаясь по оси X и делю её на подобную разницу функции f(x)=x -- так получается a), а корреляцию считать уже с функцией ax+by.
unDEFER ★★★★★
( 17.06.06 13:05:31 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
Живёт, но не так как нам нужно 🙂
unDEFER ★★★★★
( 17.06.06 13:06:16 MSD ) автор топика
Re: Математика: как померить линейность функции заданной на кольце
>> А что насчёт формулировки ival’а?
>Чуть понятнее, но все равно ниасилил. Наверное, туп, извиняюсь.
таблица значений функции
h(k1,k2) = exp (-2*pi*sqrt(-1)*(k1*u/N+k2*v/M)
k1,k2 — натуральные числа 0
N,M — известные числа
ival ★★
( 17.06.06 17:23:28 MSD )

Re: Математика: как померить линейность функции заданной на кольце
>> Чуть понятнее, но все равно ниасилил. Наверное, туп, извиняюсь.
> Что за издевка.
Я думаю Die-Hard просто не заинтересован.
unDEFER ★★★★★
( 17.06.06 17:54:11 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
Странно, а как вам нужно? Корреляция есмь грубо говоря сумма расстояние в от каждой из множества точек до заданной линии, кривой или прямой. Если совокупность точек дана и линия определена, всё остальное должно быть как два бита абассать.
bugmaker ★★★★☆
( 17.06.06 17:56:17 MSD )
Re: Математика: как померить линейность функции заданной на кольце
>Странно, а как вам нужно? Корреляция есмь грубо говоря сумма расстояние в от каждой из множества точек до заданной линии, кривой или прямой. Если совокупность точек дана и линия определена, всё остальное должно быть как два бита абассать.
Там фишка в том, что у него отображения (Z/NZ)x(Z/MZ)->U(1)
Я сначала хотел взять евклидовое расстояние на U(1) с плоскости, сказать, чтобы параметры бегали по тору и забацать метод минимальных квадратов. Только там уравнение получилось сложное, я его ниасилил.
На мой делитанский вгляд намного проще за расстояния между функцими взять супремум модуля разности значений функции по всей группе. В этом случае FFT будет равномерно непрерырным (как линейное отображение в конечномерном векторном пространстве). И оценивать будет просто:
Норма от FFT(f) не больше чем норма f умноженной на константу (супремум норм характеров)
ival ★★
( 17.06.06 20:07:32 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Корреляция есмь грубо говоря сумма расстояние в от каждой из множества точек до заданной линии, кривой или прямой.
Что-то вы тут совсем напустали: «сумма расстояние», «в от».
А проблема в том, что если функция a*x линейна, то она коррелирует с функцией x на множестве вещественных чисел.
Но когда функция a*x — это функция угла, и угол изменяется от -pi до pi, то функция a*x превращается в «пилу» с периодом скажем T, а функция x — в «пилу» с периодом a*T. Но эти «пилы» не коррелируют!
Может быть имеет смысл поискать какую-нить меру периодичности.
unDEFER ★★★★★
( 17.06.06 20:11:20 MSD ) автор топика
Re: Математика: как померить линейность функции заданной на кольце
Ну почему Вы не пользуетесь услугами телепатов?
ival ★★
( 17.06.06 20:21:52 MSD )

Re: Математика: как померить линейность функции заданной на кольце
если есть функция угла r (phi) то она задана в полярных координатах. Если ты хош произвести корреляцию с например прямой y = ax+b, те нужно поместить их обеих в одинаковые координаты, а прямая задана на декартовых. Если они обе не будут заданы в одних и тех же, расстояние вычислять безсмысленно. Переводи либо прямую в полярные координаты, либо полярную функцию в декартовое. Если первое — уравнение прямой в полярных будет r=b/(sin(phi) — a*cos (phi)) а квадрат расстояние между (r1, phi1), (r2, phi2): r^2 = r1^2 + r2^2 — 2*r1*r2*(sin(phi1)*sin(phi2) + cos(phi1)*cos(phi2)) , может можно как-то упростить, я нестал заморачиваться. Если те нужно просто проверить, что зависимоть r от угла линейна, т.е. имеет вид r=a*phi+b и найти коэффициенты, тогда вообще не заморачиаешся, просто ограничиваеш облась корреляции промежутком (-pi, pi).
bugmaker ★★★★☆
( 17.06.06 21:53:42 MSD )

Re: Математика: как померить линейность функции заданной на кольце
телепаты ещё не все отпускные истратили.
bugmaker ★★★★☆
( 17.06.06 21:54:25 MSD )

Re: Математика: как померить линейность функции заданной на кольце
Когда я начал писать то сообщение, вашего ещё не было.
unDEFER ★★★★★
( 17.06.06 22:05:42 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
> Если те нужно просто проверить, что зависимоть r от угла линейна, т.е. имеет вид r=a*phi+b и найти коэффициенты, тогда вообще не заморачиаешся, просто ограничиваеш облась корреляции промежутком (-pi, pi).
У меня не зависимость r от phi и не наоборот — у меня зависимость phi от (x,y).
Т.е. функция phi(x,y) — она сама угол.
И нужно каким-то образом измерить её линейность, т.е. соответствие формуле
phi(x,y) = a*x + b*y.
Проблема в том, что линейность для такой функции теряется из-за ограниченности (верней закольцованности, зацикленности) области_значений, а не области определения.
unDEFER ★★★★★
( 17.06.06 22:09:07 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
Аха, теперь и до мя дошло. Попробуй производить корреляцию не с самой ax+by а брать от этой модуль по pi : (defun mod-pi (x) (if (< (abs x) PI) x (mod-pi (- x (* PI (signum x))))))
bugmaker ★★★★☆
( 17.06.06 22:46:42 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Попробуй производить корреляцию не с самой ax+by а брать от этой модуль по pi
Да в том то и дело, что корреляцию надо бы брать с x+y..
И фигня в том, что две «пилы» с разной частотой коррелируют очень слабо.
unDEFER ★★★★★
( 17.06.06 23:00:32 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
> Да в том то и дело, что корреляцию надо бы брать с x+y..
Почему так? В лучшем случае это возможно если только один зубец пилы взять.
> И фигня в том, что две «пилы» с разной частотой коррелируют очень слабо.
Ещё бы! Они и должны. Предложенное в предыдущем моём посту, функция будет иметь вид пилы тоже, её частота зависит от коэффициентов а и b. Совпадение частот и будет означать что двои данные кореллируют с функцией с этими коэффициентами, т.е. частота и угл наклона совпадают только одновременно. Ещё, может быть потребен третий, f=ax*by+c.
bugmaker ★★★★☆
( 17.06.06 23:13:48 MSD )
Re: Математика: как померить линейность функции заданной на кольце
>> Уверяю, описанный мною процесс совершенно эргодичен.
> Верю, но если взять одну единственную его реализацию, то там уже будет сё как надо распределено, там уже будет 99% карандешей нужной длины, и в формуле «среднего по выборке», плотность распределения не участвует:
Вообще ни слова не понял!
Наверное, мы, все же, на разных языках говорим.
Извиняюсь, но за 20 лет активной научной деятельности я ни разу не сталкивался с подобными проблемами.
Попробуйте понять меня правильно.
Я слышу некие термины, каждый из которых мне понятен. Но уже рамдонное сочетание меня слегка вводит в ступор. А в ответ на вопросы я слышу ИМЕННО стохастику.
Попытки намекнуть на то, что определения должны быть ХОТЯ БЫ строгими, вызывает недоумение.
Вам есть о чем поговорить, так что ж — общайтесь! Я сюда больше не захожу (в смысле, как оппонент. Если правила нарушать начнете — удалю, как модеротор).
Die-Hard ★★★★★
( 17.06.06 23:38:23 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Вообще ни слова не понял!
🙂 :-/ :-
Я ж говорю, вы скорее просто не заинтересованы.
Вот, ival заинтересовался и потому проявляет чудеса телепатии 😉
unDEFER ★★★★★
( 17.06.06 23:57:27 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
> Ещё бы! Они и должны. Предложенное в предыдущем моём посту, функция будет иметь вид пилы тоже, её частота зависит от коэффициентов а и b. Совпадение частот и будет означать что двои данные кореллируют с функцией с этими коэффициентами, т.е. частота и угл наклона совпадают только одновременно.
То-то и оно что нужно независимо от частоты/наклона считать такую функцию «линейной» (или псевдо-линейной не знаю как это назвать, но главное что любая такая «пила» получается из функции a*x + b*y взятой по модулю pi) и получать коэффициент корреляции 1.
А вот, если там уже какие-то нелинейные отклонения от этой пилы есть, то корреляция д.б.
unDEFER ★★★★★
( 18.06.06 00:03:01 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
Ну всё правильно, если в точности одинакова пиле, максимум будет 1, а если слегка искривлена, найдутся параметры, которые максимально соответствуют, и значение коэффициента корреляции покажет, насколько это близко к предложенной модели.
bugmaker ★★★★☆
( 18.06.06 00:08:49 MSD )
Re: Математика: как померить линейность функции заданной на кольце
Прошу прощения, крайне неудачно выразился:
> Вам есть о чем поговорить, так что ж — общайтесь! Я сюда больше не захожу (в смысле, как оппонент. Если правила нарушать начнете — удалю, как модеротор).
Если кто обиделся — я извиняюсь.
Я просто имел в виду, что я не отлыниваю от обязанностей. 🙂
Я совершенно никому не угрожаю. И, более того, в рамках данной дискуссии все развивается на редкость корректно. Впрочем, все оставшиеся активными, думается, поняли меня правильно.
Die-Hard ★★★★★
( 18.06.06 00:25:21 MSD )

Re: Математика: как померить линейность функции заданной на кольце
Модеротор это сильно! А кто будет модестатор?
bugmaker ★★★★☆
( 18.06.06 00:49:27 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Впрочем, все оставшиеся активными, думается, поняли меня правильно.
Да, да 😉
unDEFER ★★★★★
( 18.06.06 00:50:32 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
> Ну всё правильно, если в точности одинакова пиле, максимум будет 1,
Правильно, но не так как нужно!
Нужно для _любой_ «пилы» иметь этот максимум 1!
А если эта пила отличается не только периодом то только тогда меньше.
unDEFER ★★★★★
( 18.06.06 00:53:13 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
Ты чёто сильно путаеш ИМХО. Суть корреляции в том, что для набора данных ты предлагаеш параметризованную модель, например пилу, параметризованную a и b. 1 ты получиш только если существуют такие параметры a и b, при которых твои данные в точности соответствуют модели. Если нет, 1 ты не получиш. В данной задаче при ограничении по модулю pi, ты получиш 1 если период совпадёт, т.к. при этом должен совпасть обязательно и наклон, они взаимосвязаты. Можно причинить преобразование, при котором пила с другим наклоном будет иметь одинаковый период или соответственно наоборот, но тогда заведомо не получиш 1, т.к. зависимось наклона пилы от периода будет иная чем предполагаемая для данных. Если чёто идёт не так — подумай о соответствии предполагаемой модели.
bugmaker ★★★★☆
( 18.06.06 01:03:02 MSD )

Re: Математика: как померить линейность функции заданной на кольце
> Суть корреляции в том, что для набора данных ты предлагаеш параметризованную модель, например пилу, параметризованную a и b.
Суть корреляции в том, что для функции f(x) полностью коррелированной с ней будет признана лишь функция вида g(x)=a*f(x);
Если при этом f(x,y)=x+y то коррелированной с ней будут лишь функции вида a*x+b*y. Таким образом мы можем использовать корреляцию (с функцией x+y) как меру линейности, но лишь в области вещесвенных чисел.
Только из-за того, что значения функции g(x,y) берутся по модулю pi, я не могу воспользовать корреляцией как мерой её линейности.
Вопрос заключается именно в том, какой бы ещё такой хитрый коэффициент посчитать, чтобы я мог даже для функции g(x,y) со значениями взятыми по модулю pi померить её соответсвие форме a*x+b*y (также взятой по модулю pi).
unDEFER ★★★★★
( 18.06.06 01:38:31 MSD ) автор топика

Re: Математика: как померить линейность функции заданной на кольце
> Суть корреляции в том, что для функции f(x) полностью коррелированной с ней будет признана лишь функция вида g(x)=a*f(x); Если при этом f(x,y)=x+y то коррелированной с ней будут лишь функции вида a*x+b*y.
не, не так. Для набора данных (x, y)_i предлагаеш модельную функцию y=f(x,p), где р — набор параметров. Корреляция проверяет, насколько твой набор данных соответствует модели при данном наборе параметров р. Например, есть набор значений (0, 1), (1, 0.6), (2, -0.1). Ты предполагаеш что он соответствует линейной вида y=ax+b, и соответствующим методом ищещ такие a и b при которых твои данные наиболее близко к этой прямой. По коэффициенту видиш, насколько плох наилучший результат, т.е. насколько далеко точки есть от полученной прямой.
> Только из-за того, что значения функции g(x,y) берутся по модулю pi, я не могу воспользовать корреляцией как мерой её линейности.
Тож не так. Сам по себе вид функции не способен препятствовать корреляции. Препятствует несоответствие набора данных и модели. Например, ты не можеш воспользоваться линейной функцией если точки исходных данных расположены по кругу, но если модельная функция — окружнось, сможеш найти радиус и центр окружности наиболее близкой к точкам исходных данных.
> Вопрос заключается именно в том, какой бы ещё такой хитрый коэффициент посчитать, чтобы я мог даже для функции g(x,y) со значениями взятыми по модулю pi померить её соответсвие форме a*x+b*y (также взятой по модулю pi).
Корреляция — общий метод, лишние коэффициенты бесполезно. Убедись, что существует такие a и b, при которых твои данные полностью ложатся на функцию. Если нету — значит выбрал неладную модель, ищи другое функцию.