Читать книгу Романтика искусственного интеллекта - Виталий Потопахин, В. В. Потопахин - Страница 7
Глава 1
Задача тысячелетия
Формализация мышления
ОглавлениеОтметим сразу, что единственное устройство, позволяющее моделировать искусственный интеллект, – это компьютер, работающий под управлением алгоритмов, представляющих собой последовательность команд, каждая из которых должна быть однозначно понимаема. Плюс к этому компьютер способен выполнять в одно и то же время только одну команду алгоритма. Существование параллельных вычислений в этом смысле мало что меняет. Возможность параллельных алгоритмов означает существование внутри алгоритма независимых частей, что-то вроде более простых алгоритмов. Эти технические ограничения мы обязаны иметь в виду при всех дальнейших рассуждениях. Системотехнические ограничения очерчивают жесткие границы возможного. А надо сказать, что архитектура вычислительной системы – на самом деле главный фактор эффективности. Настолько важный, что суперкомпьютеры стали таковыми не столько за счет высокой скорости работы процессоров, сколько за счет усложнения конструкции. Но пока даже нейронные сети – это не всегда реальные технические устройства, а лишь модели на базе традиционных компьютеров. И, несмотря на то что современная наука, электроника и теория алгоритмов уже уверенно видят новые горизонты производительности, старая добрая архитектура фон Неймана является основным техническим решением.
Первую попытку формализации мышления следует признать за Аристотелем. Конечно, вряд ли древний грек формулировал задачу построения искусственного интеллекта. В античности такая задача не являлась актуальной хотя бы потому, что для древних Земля была населена массой различных мыслящих существ. Современное желание разобраться в вопросе разума, как мне кажется, произошло от осознания уникальности человеческого мышления. И логику силлогизмов, созданную Аристотелем, следует признать попыткой математически точного описания мыслительных процессов. И попыткой, достаточно успешной для того времени.
Рис. 1.3. Аристотель
Для справки. Аристотель – древнегреческий философ. Ученик Платона. С 343 г. до н. э. – воспитатель Александра Македонского. В 335 г. до н. э. основал Ликей (др.-греч. Λύκειο – Лицей), или перипатетическую школу. Натуралист классического периода. Наиболее влиятельный из философов древности; основоположник формальной логики. Создал понятийный аппарат, который до сих пор пронизывает философский лексикон и стиль научного мышления. Аристотель был первым мыслителем, создавшим всестороннюю систему философии, охватившую все сферы человеческого развития: социологию, философию, политику, логику, физику. Скульптура на рис. 1.3 естественно представляет предполагаемый облик философа.
Логика Аристотеля еще называется логикой силлогизмов. Силлогизм есть дедуктивное доказательство, состоящее из трех частей: большой посылки, меньшей посылки и заключения. Часто, иллюстрируя логику Аристотеля, в качестве примера приводят следующий силлогизм:
Все люди смертны (большая посылка).
Сократ – человек (меньшая посылка).
Следовательно, Сократ смертен (умозаключение).
Силлогистическая форма вывода истинных заключений присутствует во многих логических выкладках в более сложной форме. Мы не будем углубляться в развитие теории, заметим только следующее.
Интуитивно ясно, что силлогизмы дают слишком бедный аппарат для описания мышления. Чтобы в этом убедиться, достаточно посмотреть внимательно на доказательство любой сложной математической теоремы. Не так уж часто можно сделать вывод простым переходом от общего (Все люди смертны) к частному (Сократ смертен). В эту схему, например, не укладываются индуктивные рассуждения (переход от частного к общему). Совершенно не понятно, как логику силлогизмов использовать для доказательства простого утверждения «Ряд натуральных чисел бесконечен» или «√2 является иррациональным числом». Математика, по своей сути, не силлогистична. Еще менее полезна логика силлогизмов для естествоиспытателя, в чьей деятельности, например, есть такой внелогичный метод, как метод проб и ошибок, при использовании которого выдвигаются гипотезы, проверяемые экспериментом.
Логика силлогизмов не была успешна в полной формализации человеческого мышления, но начиная с Аристотеля стало ясно, что интеллект – не совсем целостная вещь. В нем есть различные компоненты, например способность к логическому выводу. Для изучения этой способности начала развиваться наука – логика. Со временем логика смогла объяснить многое и выработать точные методы и принципы правильного логического мышления. Вот некоторые их них.
1. Из утвердительных (не путайте с истинными) суждений не может быть сделан отрицательный (не путайте с ложным) вывод.
2. Если одно из суждений отрицательно, то общий вывод будет отрицательным.
3. Закон тождества. Всякое суждение тождественно самому себе.
4. Закон непротиворечия. Два противоречащих суждения не могут быть одновременно истинными, одно из них обязательно ложно.
5. Закон исключенного третьего. Два противоречащих суждения не могут быть одновременно ложными. Одно из них необходимо истинно, другое ложно, третье исключено.
6. Закон достаточного основания. Всякая истина имеет достаточное основание.
О чем говорит, например, первый закон? Сколько бы у вас ни было о некоей вещи или ситуации утвердительных высказываний, ни одно из них не даст основания для отрицания. Например:
• Это яблоко красное.
• Это яблоко сладкое.
• Это яблоко кубанское.
• Это яблоко весит 200 граммов.
Ясно, что мы не можем на основании сказанного утверждать, что яблоко не круглое, но, может быть, можно утверждать, что оно не желтое? Не это ли означает красный цвет яблока, о чем утвердительно заявляется? С позиции обычной бытовой логики да, так, но с позиции строго формальной силлогизм тогда должен выглядеть следующим образом:
Это яблоко красное (большая посылка).
Красный цвет не есть желтый (малая посылка).
Следовательно, это яблоко не желтое (следствие).
Как видите, для необходимого отрицательного вывода в исходном наборе утверждений не хватает посылки «Красный цвет не есть желтый», а значит, построенный силлогизм не законен. Можно ли алгоритмизировать первый принцип из списка? Очевидно, да. Если в результате цепочки логического вывода получилось отрицательное суждение, то достаточно проверить набор исходных суждений, и если среди них нет отрицательного, то логический вывод следует признать ошибочным. Единственно, заметим, что наличие отрицательных суждений в исходном наборе посылок еще не гарантирует истинности отрицательного заключения.
Разберем еще один закон. Последний, шестой – закон достаточного основания. Его можно интерпретировать следующим образом: если некоторое суждение истинно, то существуют набор истинных суждений и логическая цепочка, приводящая к искомому суждению от исходного набора. Этот закон также достаточно легко алгоритмизируется. Множество исходных суждений конечно. Следовательно, множество возможных логических цепочек (разумной конечной длины), которые можно построить на данном наборе суждений, так же конечно, а значит, достаточно построить все возможные логические цепочки и посмотреть, появится ли искомое суждение среди результатов. Если количество исходных суждений велико, то вычислительный процесс может занять время, столь длительное, что реально эта проверка окажется бессмысленной, но мы сейчас рассматриваем лишь теоретическую возможность, а вообще процесс когда-нибудь закончится, и мы получим вполне определенный результат.
Безусловно, современная формальная логика не исчерпывается шестью законами, это довольно развитая и сложная наука. Но раз нам удалось показать алгоритмизируемость двух законов, то можно надеяться, что алгоритмизация всей формальной логики – скорее дело большого труда, нежели принципа. Но вот беда – формальной логики для описания интеллектуальной деятельности явно недостаточно.
Во-первых, есть проблема целеполагания.
Как поставить правильную цель, и что такое вообще правильная цель?
Рассмотрим простую ситуацию. Пусть процесс логического вывода имеет в своем начале только пять суждений. Для упрощения положим, что вывод осуществляется лишь в форме силлогизмов, и каждое исходное суждение может быть как малой, так и большой посылкой. Тогда имеем 25 = 32 следствия. Теперь добавим эти следствия как возможные посылки к исходным и получим на втором шаге 232+5 логических следствий. Это уже астрономическое число. Вывод неутешителен. Развивать любую науку во всех возможных и мыслимых направлениях невозможно. Процесс очень быстро потребует ресурсов, которых нет и никогда не будет у человечества.
Наша же наука способна развиваться и получать результаты за осмысленное время потому, что люди умеют ставить перед собой конкретную цель и определять направление исследований, продвигающее к поставленной цели. Ясно, что формальная логика не дает никаких средств для постановки цели, для выделения промежуточных целей, оценки полученного результата. Постановка цели – задача внелогическая, выполняемая какими-то другими механизмами, возможно, находящимися за пределами чистого мышления.
Во-вторых, не любая задача логически разрешима
Методы формальной логики ограничены в своем применении даже в очень простых задачах. Для иллюстрации рассмотрим ставшую уже классической проблему парикмахера. Эта задача достаточно сложно излагается в терминах теории множеств, но для ее популяризации придумана очень интересная и простая формулировка. Итак.
Рис. 1.4. Деревенский парикмахер
Условие (рис. 1.4 – внешний вид предполагаемого парикмахера). В некоей деревне живут мужчины. Женщины и дети там тоже живут, но нас интересуют только мужчины. Все мужчины делятся строго на две категории: мужчины, которые бреются сами, и мужчины, которых бреет парикмахер, других видов мужчин нет. Парикмахер – тоже мужчина, он тоже живет в этой деревне, и он один. Вопрос: кто бреет парикмахера?
Из условия задачи ясно, что есть возможность применить закон исключенного третьего. Действительно, для парикмахера есть только две возможности: либо он бреется сам, либо он не бреется сам. Это взаимоисключающие суждения, поэтому с необходимостью одно из них ложно, а другое истинно, третьего не дано. Так нам говорит закон исключенного третьего. Однако проведем рассуждения:
Суждение первое. Парикмахер бреется сам.
В этом случае парикмахер – это мужчина, который бреется сам, а таких мужчин не бреет парикмахер, а так как он и есть парикмахер, то, следовательно, он сам себя брить не может, следовательно, это суждение ложно.
Суждение второе. Парикмахер не бреется сам.
В этом случае парикмахер – это мужчина, которого бреет кто-то другой, но это означает, что его бреет парикмахер, а так как он и есть парикмахер, то получается, что он бреется сам, и мы получили противоречие. Следовательно, и это суждение ложно.
Итак, два суждения взаимоисключающие, оба ложны, а третьего не дано. Как быть в такой ситуации, формальная логика ничего сказать не может. Теоретически проблема решена Давидом Гильбертом, но способом, который просто ограничивает сферу деятельности формальной логики, а значит, решает задачу, убивая окончательно наши надежды положить формальную логику в основу искусственного интеллекта.
Вообще, вопрос, что делать с задачей, которая не решаема, – возможно, один из самых интересных в истории и философии человеческой науки. В этом отношении очень показателен разговоров двух героев братьев Стругацких из романа «Понедельник начинается в субботу» – двух магов: Федора Симеоновича Киврина и Кристобаля Хозевича Хунты:
– Г-голубчики, – сказал Федор Симеонович озадаченно, разобравшись в почерках. – Это же проблема Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет решения.
– Мы сами знаем, что она не имеет решения, – сказал Хунта, немедленно ощетиниваясь. – Мы хотим знать, как ее решать.
– К-как-то ты странно рассуждаешь, К-кристо… К-как же искать решение, к-когда его нет? Б-бессмыслица какая-то…
– Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица – искать решение, если оно и так есть. Речь идет о том, как поступать с задачей, которая решения не имеет. Это глубоко принципиальный вопрос, который, как я вижу, тебе, прикладнику, к сожалению, не доступен. По-видимому, я напрасно начал с тобой беседовать на эту тему.
И на самом деле это глубоко принципиальный вопрос. Хочу заметить, что самые большие открытия человеческая наука совершала, перескакивая через нерешаемые и не понимаемые здравым смыслом задачи. Пример тому – борьба с аксиомой параллельных. Есть два противоречащих суждения: параллельные прямые существуют, и параллельные прямые не существуют, – и это та самая ситуация, когда взаимоисключающие утверждения могут быть истинными. Евклид положил, что да, через точку, не принадлежащую данной прямой, можно провести одну и только одну прямую, не пересекающуюся с данной прямой.
Это утверждение с точки зрения Евклида является аксиомой, но уж больно по своей сложности оно похоже на теорему. Поэтому люди две тысячи лет пытались его либо доказать, либо опровергнуть. В XIX веке трое ученых: Гаусс, Лобачевский и Риман – догадались отбросить логические законы и положить, что любое суждение о параллельных истинно, если на его базе можно развить геометрию. Так появились неэвклидовы геометрии и совершенно новое понимание свойств пространства и заодно ограниченности формальной логики.