Пороговая функция — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
Булева функция <tex>f(A_1,A_2,...,A_n)</tex> называется '''пороговой''', если ее можно представить в виде <tex>f(A_1,A_2,...,A_n) = [A_1 a_1+A_2 a_2+...+A_n a_n=\sum_{i=1}^n A_i a_i \ge T]</tex>,
+
Булева функция <tex>f(A_1,A_2,...,A_n)</tex> называется '''пороговой''', если ее можно представить в виде <tex>f(A_1,A_2,...,A_n) = [A_1 a_1+A_2 a_2+...+A_n a_n=\sum_{i=1}^n A_i a_i \ge T]</tex>, где <tex>a_i</tex> {{---}} '''вес''' аргумента <tex>A_i</tex>, а <tex>T</tex> {{---}} '''порог''' функции <tex>f</tex>; <tex>a_i, T \in R</tex>
 
 
где <tex>a_i, T \in R</tex>
 
 
}}
 
}}
  
Строка 27: Строка 25:
 
Для  всякой  пороговой  функции  справедливо
 
Для  всякой  пороговой  функции  справедливо
 
:<tex>[a_1,a_2,a_3,...,a_n;T]=[ka_1,ka_2,ka_3,...,ka_n;kT]</tex>,
 
:<tex>[a_1,a_2,a_3,...,a_n;T]=[ka_1,ka_2,ka_3,...,ka_n;kT]</tex>,
где k — натуральное число. Чтобы убедиться в этом достаточно записать
+
где k — положительное вещественное число. Чтобы убедиться в этом достаточно записать
 
: <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n \ge kT</tex>
 
: <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n \ge kT</tex>
 
: <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n < kT</tex>
 
: <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n < kT</tex>
Строка 36: Строка 34:
 
Примером непороговой функции может служить Сложение по модулю 2 (<tex>XOR</tex>).
 
Примером непороговой функции может служить Сложение по модулю 2 (<tex>XOR</tex>).
  
При аргументах (0, 1) значение функции <tex>XOR</tex> равно 1. Тогда, по определению пороговой функции выполняется неравенство <tex>A_1 x+A_2 x>T</tex>, подставляя значения аргументов, получаем <tex>A_2>T</tex>. Аналогично, при аргументах (1, 0) получаем <tex>A_1>T</tex>. Отсюда следует, что <tex>A_1+A_2>T</tex>. Но это неравенстово не выполняется при аргументах (1, 1). Значит, функция <tex>XOR</tex> непороговая.
+
При аргументах <tex>(0, 0)</tex> значение функции <tex>XOR</tex> равно 0. Тогда, по определению пороговой функции должно выполняться неравенство <tex>A_1 x_1+A_2 x_2 < T</tex>. Подставляя значение аргументов, получаем, что <tex>T>0</tex>. При аргументах <tex>(0, 1)</tex> и <tex>(1, 0)</tex> значение функции <tex>XOR</tex> равно 1. Тогда, по определению выполняется неравенство <tex>A_1 x_1+A_2 x_2 \ge T</tex>, подставляя  в которое значения соответствующих аргументов, получаем <tex>A_1 \ge T, A_2 \ge T</tex>. Отсюда следует, что <tex>A_1>0, A_2>0</tex> и <tex>A_1+A_2 \ge 2T</tex>. Но это неравенстово не выполняется при аргументах <tex>(1, 1)</tex>. Значит, функция <tex>XOR</tex> непороговая.
  
 
== Источники ==
 
== Источники ==
 
* [http://www.simvol.biz/uploadfiles/File/sostav/books/Diskret_mat1.pdf пороговая функция]
 
* [http://www.simvol.biz/uploadfiles/File/sostav/books/Diskret_mat1.pdf пороговая функция]

Версия 01:54, 11 октября 2011

Определение:
Булева функция [math]f(A_1,A_2,...,A_n)[/math] называется пороговой, если ее можно представить в виде [math]f(A_1,A_2,...,A_n) = [A_1 a_1+A_2 a_2+...+A_n a_n=\sum_{i=1}^n A_i a_i \ge T][/math], где [math]a_i[/math]вес аргумента [math]A_i[/math], а [math]T[/math]порог функции [math]f[/math]; [math]a_i, T \in R[/math]


Обычно пороговую функцию записывают в следующим виде: [math]f = [a_1,a_2,a_3,...,a_n;T][/math].

Для примера рассмотрим функцию трёх аргументов [math]f(A_1,A_2,A_3)=[3,4,6;5][/math]. Согласно этой записи имеем

[math]a_1=3; a_2=4; a_3=6; T=5[/math].

Все наборы значений аргументов [math]A_1, A_2, A_3[/math] на которых функция принимает единичное (либо нулевое) значение, можно получить из соотношения вида [math]A_1 3+A_2 4+A_36\gt 5[/math].

Если [math]A_1=0;A_2=0;A_3=0, то 0\lt 5 и f=0[/math].
Если [math]A_1=0;A_2=0;A_3=1, то 6\gt 5 и f=1[/math].
Если [math]A_1=0;A_2=1;A_3=0, то 4\lt 5 и f=0[/math].
Если [math]A_1=0;A_2=1;A_3=1, то 10\gt 5 и f=1[/math].
Если [math]A_1=1;A_2=0;A_3=0, то 3\lt 5 и f=0[/math].
Если [math]A_1=1;A_2=0;A_3=1, то 9\gt 5 и f=1[/math].
Если [math]A_1=1;A_2=1;A_3=0, то 7\gt 5 и f=1[/math].
Если [math]A_1=1;A_2=1;A_3=1, то 13\gt 5 и f=1[/math].

Таким образом, заданная функция принимает единичное значение на наборах 001, 011, 101, 110, 111. Её минимальная форма имеет вид

[math]f=A_1 A_2 + A_3[/math].

Для всякой пороговой функции справедливо

[math][a_1,a_2,a_3,...,a_n;T]=[ka_1,ka_2,ka_3,...,ka_n;kT][/math],

где k — положительное вещественное число. Чтобы убедиться в этом достаточно записать

[math]ka_1 A_1+ka_2 A_2+...+ka_n A_n \ge kT[/math]
[math]ka_1 A_1+ka_2 A_2+...+ka_n A_n \lt kT[/math]

и разделить обе части неравенства на [math]k[/math].

Пример непороговой функции

Примером непороговой функции может служить Сложение по модулю 2 ([math]XOR[/math]).

При аргументах [math](0, 0)[/math] значение функции [math]XOR[/math] равно 0. Тогда, по определению пороговой функции должно выполняться неравенство [math]A_1 x_1+A_2 x_2 \lt T[/math]. Подставляя значение аргументов, получаем, что [math]T\gt 0[/math]. При аргументах [math](0, 1)[/math] и [math](1, 0)[/math] значение функции [math]XOR[/math] равно 1. Тогда, по определению выполняется неравенство [math]A_1 x_1+A_2 x_2 \ge T[/math], подставляя в которое значения соответствующих аргументов, получаем [math]A_1 \ge T, A_2 \ge T[/math]. Отсюда следует, что [math]A_1\gt 0, A_2\gt 0[/math] и [math]A_1+A_2 \ge 2T[/math]. Но это неравенстово не выполняется при аргументах [math](1, 1)[/math]. Значит, функция [math]XOR[/math] непороговая.

Источники