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

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

Коэффициент Уолша Wf(u) булевой функции f — это величина xF2n(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)=2nuF2nWf(u)(1)<u,x>.
  2. Равенство Парсеваля: uF2nWf2(u)=22n.
  3. Формула для автокорреляционных коэффициентов (Δf(u)=xF2n(1)f(x)+f(x+u)): Δf(u)=2n+21nxF2n,2|<x,u>Wf2(x).
  4. Выражение коэффициентов Уолша через автокорреляционных коэффициенты: Wf2(x)=uF2n(1)<x,u>Δf(u).
  5. Формула для нелинейности булевой функции: nl(f)=2n112maxuF2n|Wf(u)|.
  6. Теорема Титсворта: uF2nWf(u)Wf(u+s)=0. Вместе с равенством Парсеваля это тождество является необходимым и достаточным условием того, что набор коэффициетов Уолша задает какую-то булеву функцию.
  7. Тождество Саркара: uF2n,uwWf(u)=2n2|w|+1wt(fw), где uw означает доминирование, то есть что все единичные биты u содержатся среди единичных битов w, wt(f) означает вес функции (количество наборов, на которых функция равна 1), fw означает функцию полученную подстановкой вместо xi нуля для всех i при которых wi=1.

См. также

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