Математические основы логического программирования

Принципы логического программирования

Из аристотелевской логики вытекает математическая логика — наука о правильном построении умозаключений, т.е. цепочек суждений, которые доказываются (вытекают) одна из другой. В отличие от классической математики, которая оперирует с переменными, которые могут принимать бесконечное число значений, математическая логика чаще всего оперирует с бинарными переменными, принимающими значения истина или ложь. Таким образом, если некоторая предметная область (домен) описывается п логическими переменными, то максимально возможное число состояний равно 2″. Ограниченное число состояний домена делает возможным доказательство на основе таблиц истинности, которые хорошо знакомы тем, кто изучал дискретную математику, в которой булевы функции определяются исключительно с помощью таблиц истинности.

В интеллектуальных системах чаще всего находят применение две разновидности логики: пропозициональная логика и логика первого порядка.

Пропозициональная логика (логика нулевого порядка) —

логика, оперирующая с бинарными высказываниями, которые могут принимать значение истина или ложь, от внутренней структуры которых мы абстрагируемся. Пропозициональная формула состоит из атомов и логических связок, включающих в себя конъюнкцию, дизъюнкцию, отрицание, а также скобки, определяющие порядок применения логических связок.

Логика первого порядка — логика, также оперирующая с бинарными высказываниями (предикатами), которые имеют один или более аргументов. Число аргументов предиката называется его арностью. Принципиальное отличие логики первого порядка от пропозициональной логики состоит в том, что предикат представляет собой множество экземпляров, которые определяются значениями аргументов. Следовательно, здесь уже невозможно обойтись булевыми связками, а необходимо использовать кванторы существования (3) и всеобщности (V).

Рассмотрим классический пример, используемый практически во всех учебниках: если яблоко красное и ароматное, то оно вкусное. Для тех, кто изучал булеву алгебру, очевидно, что данное правило содержит конъюнкцию входных переменных. Определим переменные A, R и Т, которые отвечают соответственно за аромат, цвет и вкус, и составим таблицу истинности, используя функцию конъюнкции (табл. 1.1).

Читайте также:  Исходная и двойственная задачи линейного программирования

Источник

Оцените статью