Прикладная логика
ПРИКЛАДНАЯ ЛОГИКА – логический аппарат систематически используемый для решения конкретных практических задач. При этом необходимо различать прикладную логику и отдельные приложения логики. Для прикладной логики характерна именно систематичность, алгоритмизированность использования.
Первым и наиболее известным примером прикладной логики является использование логики в теории и практике аргументации. Необходимость защиты своих интересов в суде, обоснование следствий из имеющихся знаний, толкование религиозных текстов требовало систематического применения логики. При этом трудности, с которыми сталкивалась прикладная логика, служили мощным стимулом для развития и появления новых областей исследования в самой логике. Первые логические парадоксы связаны именно с практикой аргументации. Попытки разрешения логических парадоксов привели к строгому доказательству ряда фундаментальных теорем, проливающих свет на возможности человеческого познания и имеющих большое значение для философии.
Следующий этап развития прикладной логики связан с использованием аппарата алгебры логики для проектирования контактно-релейных схем. Если вначале речь шла всего лишь о проектировании относительно простых электрических цепей, то сейчас с помощью этого аппарата проектируются различные электронные микросхемы, имеющие большую степень сложности.
С появлением компьютеров значительно выросло число задач, для решения которых используется логика. Высокая сложность программ, выполняемых на компьютерах, потребовала разработки средств проверки их корректности. Это послужило толчком для активной разработки динамических логик. Как частный их случай стали разрабатываться и находить применение т.н. логики программ.
Объединение большого числа компьютеров в единые сети потребовало изучения условий их взаимодействия. Проблема в том, что каждый из компьютеров в этой сети хранит лишь небольшую часть совокупной информации. По каким правилам должен протекать обмен информацией в сети, чтобы взаимодействие было корректным? Для решения этой задачи используется многосубъектная эпистемическая логика. Такая же проблема возникла при построении многопроцессорных суперкомпьютеров, реализующих параллельные вычисления. Во всем мире для накопления и хранения разнообразной информации используются специальные программы, называемые базами данных. Чтобы накопленная информация была доступна для использования, необходимо уметь ее извлекать. Для этого используются специальные языки запросов к базам данных. В основе таких языков лежит логика вопросов (и ответов).
Одним из подходов к написанию программ является т.н. логическое программирование. Стандартный процедурный подход определяет программу в виде последовательности действий, которые должен выполнить компьютер для решения конкретной задачи. Такой подход довольно трудоемок и имеет много недостатков. С точки зрения логического программирования достаточно лишь описать с помощью логически-ориентированного языка предметную область. Это и есть программа. Для ее выполнения пользователь просто формулирует запросы к предметной области. Значительными преимуществами таких программ является их понятность и модульность. Наиболее известным языком логического программирования является Prolog. В нем ответ на запрос находится как побочный результат некоторого логического вывода. Интересным подходом в рамках логического программирования является т.н. семантическое программирование. В этом случае для ответа на запрос строится модель, выполняющая логическое описание предметной области и запрос к ней. В основе лежит уже не логический вывод, а верификация формулы в модели (см. Моделей теория).
Не все задачи могут быть решены по точным алгоритмам. Напр., задача медицинской диагностики заболеваний выходит за рамки строгого описания. Тем не менее особые алгоритмы решения таких задач существуют, и относятся они к области искусственного интеллекта. Вполне естественно, что значительная часть таких алгоритмов базируется на логике. Как правило, системы искусственного интеллекта имеют базу знаний и механизм извлечения этих знаний с целью решения конкретных задач. Иногда говорят также о рассуждениях над базами знаний. Для задания баз знаний и рассуждений над ними используется логика. Интересно то, что в зависимости от типа предметной области приходится использовать различные формализованные языки и различные правила логического вывода (см. Вероятностная логика, Паранепротиворечивая логика, Многозначные логики).
В настоящее время системы искусственного интеллекта способны не только оперировать имеющимся знанием, но и накапливать новое. В свои права вступает индуктивная логика и логика правдоподобных рассуждений. Путем анализа информации, хранящейся в базах данных, ищутся новые закономерности, которые в свою очередь используются уже для решения практических задач.
Сложность современной математики вынуждает прибегать к помощи компьютеров при доказательстве или проверке новых теорем. Аксиоматический подход (см. Аксиоматический метод) в математике напрямую связан с использованием логики. Самостоятельная область исследований искусственного интеллекта – автоматическое доказательство теорем. В этой области получены очень сильные результаты, но идут споры о статусе математических теорем, для доказательства которых в той или иной степени используется компьютер. Тем не менее тенденция обозначила себя и вряд ли удастся противостоять ей.
Многочисленные приложения логики в других областях пока не имеют систематического характера, но дают основание предположить, что использование прикладной логики не ограничится приведенными выше примерами.
В.И. Шалак
Новая философская энциклопедия. В четырех томах. / Ин-т философии РАН. Научно-ред. совет: В.С. Степин, А.А. Гусейнов, Г.Ю. Семигин. М., Мысль, 2010, т. III, Н – С, с. 344-345.