Интеллект человека можно рассматривать как универсальную программу (комплекс программ), которая способна решать любые задачи в рамках своей компетенции. Последняя определяется возрастом, природными способностями, сферой деятельности и др. Интеллект человека работает так, как если бы в его основе лежала логика – на основании некоторых фактов и знаний он может с помощью логического правила выводить другие факты и знания, как это описано в предыдущей главе.
Важным качеством интеллекта является его способность к самопрограммированию. Этот процесс, в тривиальной форме, аналогичен тому, как у высокоорганизованного животного на часто повторяемые ситуации вырабатывается условный рефлекс – фактически, специальная программа.
Рассмотрим пример обыденной работы интеллекта. Предположим, некто, глядя в окно своего дома, видит дождь, но ему необходимо куда-то идти. Человек рассуждает приблизительно так: от дождя могут защитить плащ или зонт; сейчас лето – лучше взять зонт; зонт у меня есть, и он должен быть где-то в прихожей; если я не найду зонт, придется надеть плащ; плащ я оставил на вешалке в прихожей месяц назад; скорее всего, жена за это время убрала его в шкаф; в любом случае надо идти в прихожую и сначала попробовать найти зонт, а затем плащ; если нет ни того, ни другого, придется звонить жене и выслушивать упреки в невнимании к жизни семьи и неприспособленности к жизни вообще и что без нее он пропадет; если не звонить и промокнуть, упреков будет еще больше; но сначала надо хорошо поискать; а куда я вообще собрался – ах, да, надо не забыть книгу; тогда придется взять портфель, а когда я брал его с собой в последний раз; был семинар по программированию, на котором…; собственно, зачем мне туда идти – книга не поможет; дождь усиливается, зонт я наверняка потерял, а звонить жене только затем, чтобы испортить настроение, не стоит; лучше позвоню шефу и извинюсь.
Каждая мысль в этой последовательности, в свою очередь, есть результат вывода на основании более общих знаний. Например, человек должен знать, что такое дождь, что такое промокнуть, почему надо защищаться, и т. д. Все факты и знания, необходимые для поиска ответа, хранятся в памяти интеллекта.
Очевидно, если ситуация повторяется достаточно часто, то полученное несколько раз решение сохраняется в памяти и затем вызывается аналогично условному рефлексу без длинного вывода. У организованного человека «лето – дождь – зонт» срабатывает автоматически, не говоря о том, что портфель с книгой оказывается в руке сам собой. Перед шефом если и придется извиняться, то не за малодушие, а за настырность.
Под искусственным интеллектом будем понимать комплекс программ, моделирующий работу естественного интеллекта человека. По аналогии с естественным интеллектом, будем считать, что в основе искусственного интеллекта должна лежать некоторая логика. Тогда компьютер, используя механизмы вывода, может на основании введенных фактов и знаний выводить другие факты и знания (подобно тому, как это описано в предыдущем разделе).
Для того чтобы компьютер давал правильный ответ в приемлемое время, он должен обладать достаточными объемом памяти (количество хранимых фактов и знаний) и скоростью работы механизма вывода (количество выводов в единицу времени). Недостаток памяти и быстродействия можно компенсировать программированием. Очевидно, искусственный интеллект мог бы самопрограммироваться аналогично естественному, а именно: сохранять выведенные решения для часто повторяющихся ситуаций в виде программ. Однако до тех пор, пока приемлемые версии искусственного интеллекта не построены, компьютер будет программироваться человеком (программисты тоже люди).
Итак, современный компьютер интеллектом не обладает – он не имеет встроенной логики и не может самостоятельно выводить решения. Компьютер программируется человеком-программистом. Это означает, что вывод решений берет на себя программист, а компьютер получает готовые решения в виде программ и выполняет их по запросу.
Рассмотрим задачу поиска пути через лес, в котором пересекается множество дорог. Пусть каждому пересечению соответствует свой номер. Тогда путь через лес можно представить списком номеров, который начинается с номера входа в лес и заканчивается номером выхода из леса, а любые два последовательных номера связаны между собой. Другими словами, для того чтобы пройти через лес необходимо следовать от номера к номеру в соответствии с этим списком.
Например, если связи номеров сети из 99 пересечений представить множеством фактов типа:
связаны (1, 2),
связаны (2, 5),
…
связаны (9, 17),
……
связаны (81, 99),
то путь через лес можно представить списком номеров – (1, 2, 5, …, 9, 17, …, 81, 99).