Пороговая функция — различия между версиями
(→Пример непороговой функции) |
|||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Булева функция <tex>f(A_1,A_2,...,A_n)</tex> называется '''пороговой''', если ее можно представить в виде <tex>f(A_1,A_2,...,A_n) = [\sum\limits_{i=1}^n A_i a_i \ | + | Булева функция <tex>f(A_1,A_2,...,A_n)</tex> называется '''пороговой''', если ее можно представить в виде <tex>f(A_1,A_2,...,A_n) = [\sum\limits_{i=1}^n A_i a_i \geqslant T]</tex>, где <tex>a_i</tex> {{---}} '''вес''' аргумента <tex>A_i</tex>, а <tex>T</tex> {{---}} '''порог''' функции <tex>f</tex>; <tex>a_i, T \in R</tex> |
}} | }} | ||
Строка 11: | Строка 11: | ||
Согласно этой записи имеем | Согласно этой записи имеем | ||
:<tex>a_1=3; a_2=4; a_3=6; T=5</tex>. | :<tex>a_1=3; a_2=4; a_3=6; T=5</tex>. | ||
− | Все наборы значений аргументов <tex>A_1, A_2, A_3</tex>, на которых функция принимает единичное (либо нулевое) значение, можно получить из соотношения вида <tex>3A_1+4A_2+6A_3\ | + | Все наборы значений аргументов <tex>A_1, A_2, A_3</tex>, на которых функция принимает единичное (либо нулевое) значение, можно получить из соотношения вида <tex>3A_1+4A_2+6A_3 \geqslant 5</tex>. |
:Если <tex>A_1=0,A_2=0,A_3=0</tex>, то <tex>0<5 \Rightarrow f=0</tex>. | :Если <tex>A_1=0,A_2=0,A_3=0</tex>, то <tex>0<5 \Rightarrow f=0</tex>. | ||
− | :Если <tex>A_1=0,A_2=0,A_3=1</tex>, то <tex>6\ | + | :Если <tex>A_1=0,A_2=0,A_3=1</tex>, то <tex>6 \geqslant 5 \Rightarrow f=1</tex>. |
:Если <tex>A_1=0,A_2=1,A_3=0</tex>, то <tex>4<5 \Rightarrow f=0</tex>. | :Если <tex>A_1=0,A_2=1,A_3=0</tex>, то <tex>4<5 \Rightarrow f=0</tex>. | ||
− | :Если <tex>A_1=0,A_2=1,A_3=1</tex>, то <tex>10\ | + | :Если <tex>A_1=0,A_2=1,A_3=1</tex>, то <tex>10 \geqslant 5 \Rightarrow f=1</tex>. |
:Если <tex>A_1=1,A_2=0,A_3=0</tex>, то <tex>3<5 \Rightarrow f=0</tex>. | :Если <tex>A_1=1,A_2=0,A_3=0</tex>, то <tex>3<5 \Rightarrow f=0</tex>. | ||
− | :Если <tex>A_1=1,A_2=0,A_3=1</tex>, то <tex>9\ | + | :Если <tex>A_1=1,A_2=0,A_3=1</tex>, то <tex>9 \geqslant 5 \Rightarrow f=1</tex>. |
− | :Если <tex>A_1=1,A_2=1,A_3=0</tex>, то <tex>7\ | + | :Если <tex>A_1=1,A_2=1,A_3=0</tex>, то <tex>7 \geqslant 5 \Rightarrow f=1</tex>. |
− | :Если <tex>A_1=1,A_2=1,A_3=1</tex>, то <tex>13\ | + | :Если <tex>A_1=1,A_2=1,A_3=1</tex>, то <tex>13 \geqslant 5 \Rightarrow f=1</tex>. |
Таким образом, заданная функция принимает единичное значение на наборах <tex>001</tex>, <tex>011</tex>, <tex>101</tex>, <tex>110</tex>, <tex>111</tex>. Её [[Сокращенная и минимальная ДНФ|минимальная форма]] имеет вид | Таким образом, заданная функция принимает единичное значение на наборах <tex>001</tex>, <tex>011</tex>, <tex>101</tex>, <tex>110</tex>, <tex>111</tex>. Её [[Сокращенная и минимальная ДНФ|минимальная форма]] имеет вид | ||
Строка 30: | Строка 30: | ||
где k — положительное вещественное число. | где k — положительное вещественное число. | ||
|proof=Чтобы убедиться в этом достаточно записать | |proof=Чтобы убедиться в этом достаточно записать | ||
− | : <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n \ | + | : <tex>ka_1 A_1+ka_2 A_2+...+ka_n A_n \geqslant 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> | ||
и разделить обе части неравенства на <tex>k</tex>. | и разделить обе части неравенства на <tex>k</tex>. | ||
Строка 42: | Строка 42: | ||
:<tex>A_1=0,A_2=1</tex>, то <tex>1<2 \Rightarrow f=0</tex>. | :<tex>A_1=0,A_2=1</tex>, то <tex>1<2 \Rightarrow f=0</tex>. | ||
:<tex>A_1=1,A_2=0</tex>, то <tex>1<2 \Rightarrow f=0</tex>. | :<tex>A_1=1,A_2=0</tex>, то <tex>1<2 \Rightarrow f=0</tex>. | ||
− | :<tex>A_1=1,A_2=1</tex>, то <tex>2\ | + | :<tex>A_1=1,A_2=1</tex>, то <tex>2 \geqslant 2 \Rightarrow f=1</tex>. |
Таблица значений совпадает с таблицей истинности функции <tex> \operatorname{AND} </tex>, следовательно <tex> \operatorname{AND} </tex> {{---}} пороговая функция. | Таблица значений совпадает с таблицей истинности функции <tex> \operatorname{AND} </tex>, следовательно <tex> \operatorname{AND} </tex> {{---}} пороговая функция. | ||
Строка 48: | Строка 48: | ||
Аналогично докажем, что это пороговая функция: | Аналогично докажем, что это пороговая функция: | ||
:<tex>A_1=0,A_2=0</tex>, то <tex>0<1 \Rightarrow f=0</tex>. | :<tex>A_1=0,A_2=0</tex>, то <tex>0<1 \Rightarrow f=0</tex>. | ||
− | :<tex>A_1=0,A_2=1</tex>, то <tex>1\ | + | :<tex>A_1=0,A_2=1</tex>, то <tex>1 \geqslant 1 \Rightarrow f=1</tex>. |
− | :<tex>A_1=1,A_2=0</tex>, то <tex>1\ | + | :<tex>A_1=1,A_2=0</tex>, то <tex>1 \geqslant 1 \Rightarrow f=1</tex>. |
− | :<tex>A_1=1,A_2=1</tex>, то <tex>2\ | + | :<tex>A_1=1,A_2=1</tex>, то <tex>2 \geqslant 1 \Rightarrow f=1</tex>. |
Таблица значений совпадает с таблицей истинности функции <tex> \operatorname{OR} </tex>, следовательно <tex> \operatorname{OR} </tex> {{---}} пороговая функция. | Таблица значений совпадает с таблицей истинности функции <tex> \operatorname{OR} </tex>, следовательно <tex> \operatorname{OR} </tex> {{---}} пороговая функция. | ||
Строка 58: | Строка 58: | ||
Функция <tex> \operatorname{XOR} </tex> {{---}} непороговая. | Функция <tex> \operatorname{XOR} </tex> {{---}} непороговая. | ||
|proof= | |proof= | ||
− | Предположим, что <tex> \operatorname{XOR} </tex> {{---}} пороговая функция. При аргументах <tex>(0, 0)</tex> значение функции <tex> \operatorname{XOR} </tex> равно <tex>0</tex>. Тогда по определению пороговой функции неравенство <tex>A_1 x_1+A_2 x_2 \ | + | Предположим, что <tex> \operatorname{XOR} </tex> {{---}} пороговая функция. При аргументах <tex>(0, 0)</tex> значение функции <tex> \operatorname{XOR} </tex> равно <tex>0</tex>. Тогда по определению пороговой функции неравенство <tex>A_1 x_1+A_2 x_2 \geqslant T</tex> не должно выполняться. Подставляя значение аргументов, получаем, что <tex>T>0</tex>. При аргументах <tex>(0, 1)</tex> и <tex>(1, 0)</tex> значение функции <tex> \operatorname{XOR} </tex> равно <tex>1</tex>. Тогда по определению выполняется неравенство <tex>A_1 x_1+A_2 x_2 \geqslant T</tex>, подставляя в которое значения соответствующих аргументов, получаем <tex>A_1 \geqslant T, A_2 \geqslant T</tex>. Отсюда следует, что <tex>A_1>0, A_2>0</tex> и <tex>A_1+A_2 \geqslant 2T</tex>. При аргументах <tex>(1, 1)</tex> значение функции <tex> \operatorname{XOR} </tex> равно 0, следовательно неравенство <tex>A_1 x_1+A_2 x_2 \geqslant T</tex> выполняться не должно, то есть <tex>A_1+A_2 < T</tex>. Но неравенства <tex>A_1+A_2 \geqslant 2T</tex> и <tex>A_1+A_2 < T</tex> при положительных <tex>A_1,A_2</tex> и <tex>T</tex> одновременно выполняться не могут. Получили противоречие, следовательно, функция <tex> \operatorname{XOR} </tex> {{---}} непороговая. |
}} | }} | ||
Версия 19:17, 19 ноября 2014
Определение: |
Булева функция | называется пороговой, если ее можно представить в виде , где — вес аргумента , а — порог функции ;
Обычно пороговую функцию записывают в следующим виде: .
Содержание
Пример
Рассмотрим функцию трёх аргументов
. Согласно этой записи имеем- .
Все наборы значений аргументов
, на которых функция принимает единичное (либо нулевое) значение, можно получить из соотношения вида .- Если , то .
- Если , то .
- Если , то .
- Если , то .
- Если , то .
- Если , то .
- Если , то .
- Если , то .
Таким образом, заданная функция принимает единичное значение на наборах минимальная форма имеет вид
, , , , . Её- .
Утверждение: |
Для всякой пороговой функции справедливо
|
Чтобы убедиться в этом достаточно записать |
Примеры пороговых функций
Примерами пороговых функций служат функции
и . Представим функцию в виде . Докажем, что это именно пороговая функция, подставив все возможные значения аргументов:- , то .
- , то .
- , то .
- , то .
Таблица значений совпадает с таблицей истинности функции
, следовательно — пороговая функция.Функцию
представим в виде . Аналогично докажем, что это пороговая функция:- , то .
- , то .
- , то .
- , то .
Таблица значений совпадает с таблицей истинности функции
, следовательно — пороговая функция.Пример непороговой функции
Утверждение: |
Функция — непороговая. |
Предположим, что | — пороговая функция. При аргументах значение функции равно . Тогда по определению пороговой функции неравенство не должно выполняться. Подставляя значение аргументов, получаем, что . При аргументах и значение функции равно . Тогда по определению выполняется неравенство , подставляя в которое значения соответствующих аргументов, получаем . Отсюда следует, что и . При аргументах значение функции равно 0, следовательно неравенство выполняться не должно, то есть . Но неравенства и при положительных и одновременно выполняться не могут. Получили противоречие, следовательно, функция — непороговая.
Значимость пороговых функций
Пороговые функции алгебры логики представляют интерес в связи с простотой технической реализации, в связи со своими вычислительными возможностями, а также благодаря возможности их обучения. Последнее свойство с успехом применяется на практике при решении плохо формализуемых задач. Пороговые функции применяются в качестве передаточных функций в искусственных нейронах, из которых состоят искусственные нейронные сети. А так как искусственный нейрон полностью характеризуется своей передаточной функцией, то пороговые функции являются математической моделью нейронов.