Научная статья на тему 'Алгоритмы вывода для негативных силлогистик'

Алгоритмы вывода для негативных силлогистик Текст научной статьи по специальности «Математика»

CC BY
106
14
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Красненкова Анастасия Владимировна

The author makes an attempt to create algorithm and its computer realization for different syllogistic systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithm of Conclusion for negative Syllogistics

The author makes an attempt to create algorithm and its computer realization for different syllogistic systems.

Текст научной работы на тему «Алгоритмы вывода для негативных силлогистик»

ВЕСТН. МОСК. УН-ТА. СЕР. 7. ФИЛОСОФИЯ. 2008. № 2

A.B. Красненкова

АЛГОРИТМЫ ВЫВОДА ДЛЯ НЕГАТИВНЫХ

СИЛЛОГИСТИК

Во второй половине прошлого века возникла проблема создания искусственного интеллекта, которая, в частности, была связана с автоматическим доказательством теорем и обоснованием вы-водимостей в разнообразных логико-математических системах.

На кафедре логики философского факультета МГУ были успешно построены алгоритмы для автоматического доказательства теорем в различных исчислениях. Одним из первых был создан алгоритм для натурального исчисления классической логики высказываний (А.Е. Болотов, В.А. Бочаров, А.Е. Горчаков). Позже с участием В.О. Шангина и др. был сконструирован алгоритм для классической логики предикатов (натуральное исчисление). Затем А.Е. Горчаков, В.В. Макаров, C.B. Спирин на основе предыдущих работ создали алгоритм, действующий в натуральном интуиционистском исчислении высказываний, построенном на базе соответствующего секвенциального исчисления. Данный алгоритм получил компьютерную реализацию на языке С++ и Delphi. Сейчас ведется работа над компьютерной реализацией алгоритма для классической логики предикатов и интуиционистской логики высказываний. При этом авторы активно использовали рекурсивный вызов подпрограмм, обеспечивающий корректную реализацию алгоритма1, в частности варьирование шагов и формул вывода и как следствие отсеивание неконструктивных, тупиковых вариантов.

В то же время такая древнейшая область логического знания, как силлогистика, оставалась неохваченной в данных разработках. Даже в таком серьезном исследовании по компьютеристике, как «Логика и компьютер»2, силлогистика рассматривалась либо в ракурсе других теорий — исчисления предикатов и исчисления высказываний, либо формулировалась вообще без использования исчисления высказываний (исчисления предикатов), и поэтому определение синтетического правила введения отрицания было очень сложным3.

В силу указанных обстоятельств автором данной статьи была предпринята попытка написания алгоритма и его компьютерной реализации для различных силлогистических систем (на данном этапе — позитивных и негативных, в том числе и для систем сингулярной негативной силлогистики оккамовского и аристотелев-

ского типа). При этом под позитивными силлогистиками понимаются системы, в которых отсутствует оператор терминного отрицания. Под негативными силлогистиками, наоборот, подразумеваются системы, где данный оператор присутствует и применяется к элементарным силлогистическим терминам. Сингулярными называются такие силлогистические системы, в которых допускается использование единичных терминов, или терминов-имен, таких как «автор трактата "Об истолковании"», «Луна», «Туапсе» и др. Заметим, что в негативных сингулярных силлогистиках к единичным терминам также применим оператор терминного отрицания. Под сингулярными силлогистиками аристотелевского типа имеют в виду системы, где единичные высказывания понимаются как самостоятельные высказывания, отличные от высказываний типа е, a, i и о. Оккамовскими называют системы сингулярной силлогистики, в которых единичные высказывания трактуются как общие высказывания типа е и а.

Все силлогистические системы рассматриваются как расширения натурального исчисления классической логики высказываний. Негативные силлогистики (в том числе и сингулярные) также рассматриваются алгоритмом как расширение позитивных систем. Если программную реализацию алгоритма немного дополнить, то она сможет работать и с расширенными силлогистиками, под которыми имеются в виду системы, где могут использоваться сложные термины, образованные из простых за счет применения к ним терминного отрицания, терминных сложения и умножения (ряд теорем из систем расширенной силлогистики она может доказать уже сейчас).

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

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

В результате напряженных творческих поисков («Элементы универсальной характеристики», «Элементы универсального исчисления» и «Исследования универсального исчисления», «Элементы исчисления» и «Правила, по которым можно с помощью чисел судить о правильности выводов, о формах и модусах категорических силлогизмов») Лейбниц сформулировал суть данного приписывания следующим образом: субъекту силлогистического высказывания ставится в соответствие произвольная упорядоченная пара целых чисел <+ а, — Ь>, где обязательно «а и b должны быть взаимно простыми, т.е. не иметь общего делителя»5, а предикату в свою очередь, — отличная от первой упорядоченная пара <+с d>? обладающая аналогичными первой паре свойствами.

Общеутвердительное силлогистическое высказывание истинно тогда и только тогда, когда +а без остатка делится на +с и —b без остатка делится на —d. Иначе истинным считается частноот-рицательное высказывание. Частноутвердительное высказывание истинно тогда и только тогда, когда а и d, а также b и с являются взаимно простыми числами. В противном случае истинно общеотрицательное высказывание.

Сложным терминам приписывались произведения их составных частей. Например, запись A est В, A est С |- A est ВС, где «est» обозначало связку «есть», а ВС— логическое произведение, может быть корректно проинтерпретирована следующим образом: (14— 9) est (7-3), (14-9) est (2-1) ||- (14-9) est (14-3). Как нетрудно заметить, при правильной интерпретации истинных посылок заключение также получается высказыванием, подпадающим под условия истинности указанной интерпретации.

В первую очередь Лейбниц протестировал данную модель на законах логического квадрата и обращения, а впоследствии он применил ее к более сложным силлогистическим утверждениям — силлогистическим модусам. Оказалось, что в ней истинны все 24 правильных модуса. Однако корректные с арифметической точки зрения результаты получаются и для неправильных модусов. Последнее досадное обстоятельство осложняется еще и тем, что с алгоритмической точки зрения Лейбниц не обнаружил эффективной стратегии поиска опровергающих некорректные модусы пар (т.е. таких упорядоченных пар взаимно простых чисел, которые бы правильно арифметизировали противоречащие друг другу высказывания вида SaP, SoP и SeP, SiP).

Может быть, поэтому столь продуктивная идея алгоритма проверки силлогистических доказательств далее не разрабатывалась ученым.

Однако именно Лейбниц положил начало силлогистическим исчислениям в их современном понимании.

В дальнейшем силлогистика, в том числе и негативная (следует отметить, что долгое время негативная силлогистика не рассматривалась как расширение позитивной, а исследовалась в синкретическом единстве вместе с ней, что было связано с нечетким различением понятий отрицательной предикации и отрицательного термина6), рассматривалась в алгебраическом и арифметическом ракурсе такими учеными, как Холланд, Ламберт, Жергонн и др., но попытка ее эксплицитной и детальной алгоритмизации (и даже арифметизации) не предпринималась.

Идея построения алгоритма поиска доказательств для различных силлогистических систем и его компьютерной реализации родилась на кафедре логики философского факультета МГУ. Алгоритм создан на базе метода, предложенного А.Е. Болотовым, В.А. Бочаровым, А.Е. Горчаковым, а также активно опирается на идею интерактивного взаимодействия пользователя с программой, столь успешно реализованной A.B. Смирновым и А.Е. Новодворским7.

Отличительной особенностью сконструированного нами алгоритма является то, что он не предполагает взаимодействия пользователя и компьютера на этапе непосредственного построения вывода или доказательства, как это происходит в программе Deductio, построенной A.B. Смирновым и А.Е. Новодворским, т.е. он конструирует выводы самостоятельно, после того как пользователь задаст логическую систему. Данное обстоятельство имеет свои плюсы и минусы, в частности некоторым недостатком программы является достаточно большое время (от минуты до полутора минут), требуемое для определения недоказуемости (необосновы-ваемости) очень сложных теорем или выводимостей, что связано с перебором большого количества вариантов (данный перебор необходим, чтобы со стопроцентной уверенностью убедиться в некорректности теоремы или выводимости), хотя в общем случае программа работает весьма быстро (1—20 сек).

Алгоритм и его компьютерная реализация охватывают достаточно широкий спектр систем негативной силлогистики, таких, как традиционная негативная силлогистика, фундаментальная негативная силлогистика, негативная силлогистика Аристотеля, Больцано и Кэрролла, сингулярные негативные силлогистики и др. Поэтому алгоритм допускает относительно свободное варьирование синтаксических и в итоге семантических принципов исследуемых систем. Я употребляю термин «относительное», так как алгоритм ориентирован на определенную схему, посредством которой записываются правила вывода обрабатываемой системы. Я старалась сконструировать эту схему как можно более широко, чтобы как можно более разнообразные по своим семантическим и синтаксическим свойствам системы подпадали под предложенный

алгоритм. Однако, например, включение в поле действия алгоритма систем расширенных силлогистик требует некоторой коррекции самого алгоритма, внутренних принципов его работы8.

Все системы рассматриваются как натуральные исчисления, дедуктивно эквивалентные соответствующим аксиоматическим системам.

Алгоритм работает следующим образом.

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

Затем алгоритм формирует две последовательности формул — стек целей и стек вывода, на которых базируется вся его работа.

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

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

Приведем теперь примеры аналитических и синтетических правил вывода.

Примеры аналитических правил вывода: А & В е стеку целей ||- А е стеку целей (построено на основе правила А & В ||- А); С з В е стеку целей ||- В е стеку целей, С е стеку вывода (правило В ||- С з В).

е

- е - е

вывода |- А & В е стеку вывода (правило А, В ||- А & В).

Если текущая на данный момент цель достигнута, то алгоритм применяет подходящее синтетическое правило вывода и переходит к надстоящей, т.е. к расположенной непосредственно над текущей, цели. Так же алгоритм пытается достигнуть главной цели.

8 ВМУ, философия, № 2

113

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

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

целей: А V В е стеку вывода ||--1 А е стеку далей; А з В е стеку

вывода ||- А е стеку целей. В случае добавления новых формул в стек целей алгоритм вновь применяет соответствующие аналитические правила, пытаясь достигнуть этих целей.

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

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

е

числу правил целей. Это единственное множество меток, задействованное в данном алгоритме. Данное обстоятельство позволяет избежать использования рекурсивного вызова подпрограмм при компьютерной реализации алгоритма и связанных с этим затруднений9.

С новой текущей целью, подлежащей удалению, алгоритм проводит уже описанные выше действия.

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

Программная реализация алгоритма была выполнена в системе программирования Delphi (язык Object Pascal), обладающей богатыми программистскими возможностями и обширными динамическими библиотеками программных средств, позволяющими со-

здавать приложения, работающие не только под ОС Windows, но и под ОС Linux, что не может не рассматриваться как положительный момент данной системы программирования.

Программа имеет удобный пользовательский интерфейс, работает, как уже было указано выше, достаточно быстро (1— 20 сек), и к ней прилагаются текстовые файлы, содержащие правила вывода для традиционной негативной силлогистики, фундаментальной негативной силлогистики, чистых негативных силло-гистик Больцано, Кэрролла и Аристотеля. Пользователь может по своему желанию задавать в новых текстовых файлах другие системы чистой и сингулярной негативной силлогистик и работать в них так же, как с уже заданными автором. Программу планируется использовать в обучающих целях.

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

ПРИМЕЧАНИЯ

1 См.: Горчаков А.Е., Макаров В.В., Спирин C.B. О некоторых особенностях построения компьютерной реализации алгоритма автоматического доказательства теорем в натуральном исчислении // Логические исследования. М., 1998. (http://www.logic.i-u).

2 Логика и компьютер. Вып. 3. Доказательство и его поиск (курс логики и компьютерный практикум). М., 1996.

3 Там же.

4 См:. Горчаков А.Е., Макаров В.В., Спирин C.B. Указ. соч.

5 Лейбниц Г.В. Соч.: В 4 т. Т. 3. Правила, по которым с помощью чисел можно судить о правильности выводов, о формах и модусах категорических силлогизмов. М., 1984. С. 539.

6 Подробнее об этом см.: Логика и компьютер. Вып. 5. Пусть докажет компьютер. М., 2004.

7 Логика и компьютер. Вып. 3.

8 См.: Буркова И.А., Деменкова Т. А., Семенов Н.В. и др. Страшны ли роботам фреймы? Философия и будущее цивилизации // Тезисы докладов и выступлений IV Российского философского конгресса (Москва, 24^28 мая, 2005 г.). Т. 1. М., 2005.

9 См:. Горчаков А.Е., Макаров В.В., Спирин C.B. Указ. соч.

i Надоели баннеры? Вы всегда можете отключить рекламу.