Коэффициент Уолша

Материал из testwiki
Перейти к навигации Перейти к поиску

Коэффициент Уолша Wf(u) булевой функции f — это величина ∑x∈F2n(−1)f(x)+<u,x>, где <a,b>=∑i=1naibi. Коэффициенты Уолша являются спектральной характеристикой булевой функции, то есть являются аналогом коэффициентов Фурье.

Вычисление коэффициентов Уолша

Коэффициенты Уолша могут быть вычислены за O(n2n) действий. Для этого нужно в начале проинициализировать массив a: a[x]=(−1)f(x). После чего для каждой координаты i и для каждой пары точек x и y, отличающихся по i-й координате, нужно заменить значения a[x] и a[y] на a[x]+a[y] и a[x]−a[y] (считаем, что у x i-й бит сброшен, а у y установлен). Окончательное состояние массива a и будет коэффициентами Уолша.

Свойства коэффициентов Уолша

  1. Формула обращения: (−1)f(x)=2−n∑u∈F2nWf(u)(−1)<u,x>.
  2. Равенство Парсеваля: ∑u∈F2nWf2(u)=22n.
  3. Формула для автокорреляционных коэффициентов (Δf(u)=∑x∈F2n(−1)f(x)+f(x+u)): Δf(u)=−2n+21−n∑x∈F2n,2|<x,u>Wf2(x).
  4. Выражение коэффициентов Уолша через автокорреляционных коэффициенты: Wf2(x)=∑u∈F2n(−1)<x,u>Δf(u).
  5. Формула для нелинейности булевой функции: nl(f)=2n−1−12maxu∈F2n|Wf(u)|.
  6. Теорема Титсворта: ∑u∈F2nWf(u)Wf(u+s)=0. Вместе с равенством Парсеваля это тождество является необходимым и достаточным условием того, что набор коэффициетов Уолша задает какую-то булеву функцию.
  7. Тождество Саркара: ∑u∈F2n,u∈wWf(u)=2n−2|w|+1wt(fw), где u∈w означает доминирование, то есть что все единичные биты u содержатся среди единичных битов w, wt(f) означает вес функции (количество наборов, на которых функция равна 1), fw означает функцию полученную подстановкой вместо xi нуля для всех i при которых wi=1.

См. также

Шаблон:Math-stub Шаблон:Нет ссылок