Cтраница 2
Кажется странным, что столь мощные процедуры выну ждены обращаться к системе доказательства теорем как подпрограмме. Так, например, программа, диагностирующая ошибки системы доказательства теорем, на самом деле будет полностью занята определением возможных путей развития доказательства. [16]
Можно, конечно, утверждать, что при наличии хороших эвристик логический вывод будет выполняться не системой доказательства теорем, а какой-то другой программой, однако при этом мы сталкиваемся с проблемами организации взаимодействия, которые обсуждаются ниже. Некая программа будет решать, что должно использоваться - эвристическая программа или система доказательства теорем, которые должны находиться во взаимодействии друг с другом. [17]
Кинга [7], который, кажется, является первой реализацией полностью автоматизированного генератора условий верификации и системы доказательства теорем. Система доказывает правильность программ, написанных на очень маленьком подмножестве языка Алгол, она была использована для доказательства правильности нескольких небольших ( менее 100 операторов) программ. Хотя эта работа ознаменовала собой определенный этап, она далека от того, чтобы иметь какое-либо практическое применение. [18]
Профессор Лонге-Хиггине отмечает, что чрезмерное упрощение базиса искусственного интеллекта может привести к тому, что все проблемы взаимодействия этого базиса с реальным миром ускользнут от нас. Упоминавшиеся выше вспомогательные программы осуществляют некоторые разновидности этого взаимодействия - и становится ясно, что они принимают очень важные решения относительно того, какую информацию следует сообщить системе доказательства теорем. Одна из этих программ даже анализирует выводы, не приведшие к получению искомого результата, с тем, чтобы определить, что следует делать дальше. Создается впечатление, что методы, используемые этими подсистемами, являются значительно более мощными, чем методы, имеющиеся в распоряжении системы доказательства теорем. В состоянии ли последняя проанализировать причины, не позволившие какой-либо другой системе доказательства теорем найти искомое доказательство. [19]
Процедуры, позволяющие строить доказательства формул такого типа, называются доказательствами посредством опровержения. Они помогают избегать менее перспективных направлений поиска. Системы доказательства теорем во многих приложениях включают формулы логики предикатов с переменными, связанными кванторами существования. В таких случаях доказательства позволяют находить конкретизации для этих переменных. [20]
Остается проделать еще большую работу по распространению понятия абстракции на другие системы правил вывода и на логики более высокого порядка. Вполне возможно, что абстракции могут дать более быстрые системы доказательства теорем даже в исчислении высказываний. Кроме того, было бы желательно соединить абстракцию с более осмысленным использованием семантики и со стратегией для равенства. [21]
Поскольку одна из форм исчисления предикатов встроена в язык Пролог вместе с системой доказательства теорем, то это представление, похоже, завоевывает все большую популярность. На некотором глубоком уровне все типы представления знания должны быть эквивалентны между собой, но лучшей рекомендацией будет выбор самого простейшего способа из тех, которые дают возможность работать. [22]
Совершенно не ясно, могут ли эти программы работать в режиме взаимодействия с системой доказательства теорем. Интересно, что попытка ввести в систему доказательства теорем чужую процедуру натолкнулась на серьезные затруднения именно из-за этого обстоятельства. [23]
Создается впечатление, что никто еще никогда не пытался получить интересную теорему, выведенную собственно системой доказательства теорем ( хотя была масса разговоров на эту тему), не считая случаев работы с такой системой в режиме взаимодействия. Препятствием служила и их непригодность для работы с множествами и арифметикой. Ни один специалист, связанный непосредственно с проектом, посвященным разработке робота, не использовал систему доказательства теорем каким-либо существенным образом. На самом деле нам известна всего одна занимающаяся искусственным интеллектом группа, в которой хоть кто-нибудь использовал бы или вообще собирался использовать систему доказатель - ства теорем. Это исключение представляет группа, работающая в Станфордском исследовательском институте. [24]
Профессор Лонге-Хиггине отмечает, что чрезмерное упрощение базиса искусственного интеллекта может привести к тому, что все проблемы взаимодействия этого базиса с реальным миром ускользнут от нас. Упоминавшиеся выше вспомогательные программы осуществляют некоторые разновидности этого взаимодействия - и становится ясно, что они принимают очень важные решения относительно того, какую информацию следует сообщить системе доказательства теорем. Одна из этих программ даже анализирует выводы, не приведшие к получению искомого результата, с тем, чтобы определить, что следует делать дальше. Создается впечатление, что методы, используемые этими подсистемами, являются значительно более мощными, чем методы, имеющиеся в распоряжении системы доказательства теорем. В состоянии ли последняя проанализировать причины, не позволившие какой-либо другой системе доказательства теорем найти искомое доказательство. [25]
Основное положение, которое мы хотели бы подчеркнуть, состоит в том, что независимо от совершенства или сложности программы ее разработка базируется на следующих двух важнейших моментах. Во-первых, практически неизбежно в программу закладывается процедура уточнения, использование которой, таким образом, не зависит от типа задачи. Во-вторых, стратегия поиска локально определяется простыми синтаксическими признаками формул. В сущности другого способа и нет, поскольку синтаксис формул - это единственный вид готовой информации специфической для конкретной задачи, которым может оперировать программа. Программа обрабатывает единообразно любые формулы независимо от того, представляют ли они высказывания из области универсальной алгебры или формирования планов у роботов. Она воспринимает лишь логическую структуру формул. В частности, если в некотором множестве формул единообразно переименовать все предикатные буквы, то система доказательства теорем окажется не в состоянии различить эти два-входные множества. [26]
Система доказательства теорем может являться частью разумной системы, но она совершенно очевидно не представляет собой всю систему. Она, в частности, не управляет двигателями робота и не может реагировать непосредственно на входную информацию, предъявляемую в виде изображений. Какой частью должна она быть. Сколь сложно организовать ее взаимодействие с остальными программами. Вполне возможно, что вывести ответ не удастся и система выдаст не знаю. После этого какая-то другая программа должна просмотреть не приведший к искомому результату процесс вывода и каким-то известным ей способом принять решение о том, что делать дальше: то ли использовать какой-либо другой метод для поиска ответа на заданный вопрос, то ли предпринять какие-либо действия, которые устранят необходимость отвечать на него. Допустим, что наше обращение к системе доказательства теорем увенчалось успехом и она сформировала соответствующий план поведения. [27]
Система доказательства теорем может являться частью разумной системы, но она совершенно очевидно не представляет собой всю систему. Она, в частности, не управляет двигателями робота и не может реагировать непосредственно на входную информацию, предъявляемую в виде изображений. Какой частью должна она быть. Сколь сложно организовать ее взаимодействие с остальными программами. Вполне возможно, что вывести ответ не удастся и система выдаст не знаю. После этого какая-то другая программа должна просмотреть не приведший к искомому результату процесс вывода и каким-то известным ей способом принять решение о том, что делать дальше: то ли использовать какой-либо другой метод для поиска ответа на заданный вопрос, то ли предпринять какие-либо действия, которые устранят необходимость отвечать на него. Допустим, что наше обращение к системе доказательства теорем увенчалось успехом и она сформировала соответствующий план поведения. Какой контроль нужно организовать для того, чтобы знать, что все идет по плану. Что следует делать, если в процессе исполнения плана выясняется, что допущена ошибка. Вероятно, план не может быть столь подробным, чтобы учитывать любую случайность. Допустим, что нам даже удалось ввести в систему доказательства теорем аксиоматическое описание картинки или сцены. [28]