
- •Лекция 6: логические схемы на основе булевых функций (процедурный подход к построению сии)
- •Теорема
- •1 Способ:
- •Составление логических схем
- •Примеры синтеза контактных схем
- •1 Способ
- •2 Способ
- •Пролог. Рекурсивные методы решения задач
- •Задача о размещениях (факториал)
- •Задача о числах Фибоначчи
- •Задача о ханойской башне
Лекция 6: логические схемы на основе булевых функций (процедурный подход к построению сии)
План лекции
Теорема
Составление логических схем
Примеры синтеза логических схем
Пролог. Рекурсивные методы решения задач
Следует отметить, что кроме декларативного (описание знаний) существует также процедурный подход (логические схемы) к построению СИИ. Если связь между восприятиями и действиями является простой, то оптимальным решением можно считать логическую схему, а для реализации более сложных связей может оказаться лучшим декларативный подход. Например, в такой проблемной области, как шахматы, декларативные правила являются краткими и простыми для кодирования, а логическая схема для вычисления ходов непосредственно по данным о позиции на доске была бы невообразимо огромной.
Преимуществом подхода основанного на логической схеме, является то, что нет необходимости иметь отдельные копии "знаний", относящиеся к каждому временному интервалу. Вместо этого используются только данные, касающиеся текущего и предыдущего временных интервалов. Кроме того, вычисление значения с помощью логической схемы требует времени, линейно зависящего от размера этой схемы, тогда как логический вывод может потребовать времени, экспоненциально зависящего от количества символов.
Вычисления значений с помощью логических схем осуществляются по принципу обработки потока данных: на каждом временном интервале устанавливаются значения входных данных и по логической схеме распространяются сигналы. Каждый раз, когда некоторый логический элемент получает на входе все необходимые данные, он вырабатывает на выходе некоторое значение.
Математической основой такого подхода является теорема "О выразимости булевых функций логическими средствами".
Теорема
Теорема "О выразимости булевых функций логическими средствами"
По всякой k-местной булевой функции F можно построить такую пропозициональную формулу Q, чтобы функция F совпала с функцией x1 . . . xk Q, где x1 . . . xk список всех попарно различимых пропозициональных переменных, входящих в формулу Q.
- обозначение ввел Черч А.
Выражение x1
. . . xk
Q задает булеву
функцию, значение которой на каждом
наборе e1,
. . . , en
из m логических констант
(0, 1 или true, false)
определяется следующим образом: значение
выражения {
x1 . . . xk
Q} (e1,
. . . , en)
совпадет с валентностью (значения в
таблице истинности) {
},
где это выражение означает результат
подстановки e1,...
, em
в формулу Q вместо
переменных x1
. . . xm.
Существует 2 способа построения исходной формулы.
1 Способ:
В таблице истинности для функции F ищутся все строчки, где стоит "истина". Для каждой такой строки записывается формула
(x1 e1) & (x2 e2)& . . . & (xk ek),
где e1, . . . , ek – последовательности логических констант, находящихся на этой строке. Затем все выписанные формулы объединяются в одну путем многократного применения дизъюнкции.
Пример: Задана некоторая функция F(x1, x2), представленная в виде таблицы истинности.
|
(x11)&(x21) V (x10)&(x20) после упрощения имеем x1&x2V x1&x2, так как a true = a a false = a
|
2 способ (симметричен первому):
В таблице истинности для всех строк, где стоит "ложь" выписываем формулы
(x1 e1) V (x2 e2)V . . . V (xk ek),
где e1, . . . , ek – последовательности логических констант, находящихся на этой строке. Общая формула получается путем применения конъюнкции.
Для предыдущего примера это выглядит следующим образом:
((x11)V(x20)) & ((x10)V(x21)) = (x1V x2) & (x1V x2)