Предисловие
Искусственный интеллект шагает по планете. «Кто владеет ИИ, тот владеет миром» (В.В.Путин).
А что же это такое – искусственный интеллект?
Википедия предоставляет следующие определения.
1. Научное направление, в рамках которого ставятся и решаются задачи аппаратного или программного моделирования тех видов человеческой деятельности, которые традиционно считаются интеллектуальными.
2. Свойство интеллектуальных систем выполнять функции (творческие), которые традиционно считаются прерогативой человека. При этом интеллектуальная система — это техническая или программная система, способная решать задачи, традиционно считающиеся творческими, принадлежащие конкретной предметной области, знания о которой хранятся в памяти такой системы. Структура интеллектуальной системы включает три основных блока — базу знаний, решатель и интеллектуальный интерфейс, позволяющий вести общение с ЭВМ без специальных программ для ввода данных.
3. Направление в информатике и информационных технологиях, задачей которого является воссоздание с помощью вычислительных систем и иных искусственных устройств разумных рассуждений и действий.
4. Способность системы правильно интерпретировать внешние данные, извлекать уроки из таких данных и использовать полученные знания для достижения конкретных целей и задач при помощи гибкой адаптации.
5. способность системы создавать в ходе самообучения программы (в первую очередь эвристические) для решения задач определённого класса сложности и решать эти задачи
6. Искусственный интеллект — размытое понятие, и общепринятого определения у него до сих пор нет.
Проанализируем. В первом определении ИИ определяется через ИИ. Во втором – через творчество. В третьем – через разум. В четвёртом – через уроки и знания. В пятом – через обучение и решение задач. В шестом сказано честно, но это не определение.
Более менее конструктивными являются четвёртое и пятое определения. Но, там нужно определить понятия «обучение» и «знания».
Посмотрим, что такое знания.
1. вид информации, отражающей знания, опыт и восприятие человека - специалиста (эксперта) в определенной предметной области.
2. множество всех текущих ситуаций в объектах данного типа и способы перехода от одного описания объекта к другому.
3. зафиксированная и проверенная практикой обработанная информация, которая использовалась и может многократно использоваться для принятия решений.
4. Совокупность данных, фактов, сведений и правил вывода (у индивидуума, общества или у системы ИИ) о мире, включающих в себя информацию о свойствах объектов, закономерностях процессов и явлений, а также правилах использования этой информации для принятия решений. Правила использования включают систему причинно-следственных связей. Главное отличие знаний от данных состоит в их активности, то есть появление в базе новых фактов или установление новых связей может стать источником изменений в принятии решений.
Только последнее определение содержит конструктивные сведения о знаниях, их использования системой ИИ.
Постановка задачи
А какое определение ИИ было бы абсолютно конструктивным? Такое, в котором используемые термины в конечном итоге, в процессе их определения, сводились бы к однозначно понимаемым терминам. Которыми являются только операторы языка программирования. То есть, абсолютно конструктивным определением ИИ является работающая система ИИ, реализующая все функции, присущие ИИ.
Возможно ли такое сделать? Давайте попробуем. И сделаем это в процессе рассуждений. Конечно, в более лёгком варианте, в виде общей структуры и общего алгоритма полнофункциональной системы ИИ. Описание доведём до понятных функциональных модулей и потоков данных. Конечно, это будет не абсолютно формальное определение, как работающая система, но, на основе такого определения можно будет начать разработку реальной системы.
Основная идея
Главный вопрос, с чего начать рассуждение? Начнём с выяснения отличия разумного поведения от неразумного среди живых организмов в процессе их жизнедеятельности. Главная цель жизни, по крайней мере, на индивидуальном уровне, оставаться живым. Эта цель выражена в живых системах в виде стремления к самосохранению. Именно это будет исходным понятием, из которого будут выведены структура и все функции разумной системы ИИ. (Далее – системы)
У всякой системы, как совокупности элементов и связей между ними, есть множество состояний. Это множество можно поделить на два подмножества: положительное и отрицательное. В положительном подмножестве системе ничего не угрожает, а в отрицательном появляется угроза разрушения, смерти. Стремление к самосохранению выражается в способности системы отличать одно от другого и самостоятельно переходить из отрицательного состояния в положительное.
Причины ухудшения состояния системы могут быть как внутренними, так и внешними. Искусственные системы работают с внешними воздействиями, поэтому, будем рассматривать пока только этот вариант.
Исходно, система находится в положительном состоянии (подмножестве). Воздействие внешней среды переводит её в отрицательное состояние. Если система не может самостоятельно вернуться обратно, она неустойчива и нам неинтересна. Если может, то она устойчива. Но, у всякой устойчивости есть пределы. Если у системы они неизменны, то она является необучаемой и нам тоже не интересна.
Как должна быть устроена система, которая может расширять пределы своей устойчивости, обучаться?
Для определённости будем считать, что система может переходить из одного подмножества состояний в другое только под воздействием внешней среды. Это значит, есть «полезные» и «вредные» состояния внешней среды для системы. Например, это могут быть определённые места. А система может иметь способность изменять состояние внешней (для себя) среды. То есть, самостоятельно переместиться из вредного места в полезное или безопасное.
Итак, уже есть промежуточный алгоритм функционирования устойчивой системы:
1. Внешняя среда переходит во вредное состояние для системы.
2. Это переводит систему из положительного состояния в отрицательное.
3. Система меняет своё состояние так, чтобы перевести внешнюю среду в положительное для себя состояние.
4. Если удаётся, то это (новое состояние внешней среды) переводит систему из отрицательного состояния в положительное.
А если не удаётся? Тогда, если система ещё жива, ей надо искать решение. Для этого:
во-первых, нужно выяснить, какой именно аспект состояния внешней среды вреден для системы;
во-вторых, найти подходящее воздействие для перевода внешней среды в полезное состояние.
Такая система будет уже устойчивой и обучаемой.
Функциональная структура разума
Чтобы решить первую задачу, система должна уметь сравнивать состояния внешней среды, которые предшествовали переходу системы в отрицательное состояние. Чтобы это сделать, надо их иметь. Для этого нужно две вещи: получать информацию о состоянии внешней среды и память для запоминания этой информации в упорядоченном виде.
Информация поступает от органов чувств. В случае искусственной системы это совокупность датчиков. Например, орган зрения - это поле одинаковых элементов, каждый из которых имеет ограниченное множество состояний. А запоминать надо не просто последовательность состояний внешней среды. Надо запоминать пары: состояние внешней среды - состояние системы.
Процесс формирования отображения состояния внешней среды в органах чувств назовем ощущением.
Далее идет запоминание, в результате которого формируется память.
Теперь о сравнении состояний. Здесь начинается самое интересное! И этот этап необходимо рассмотреть максимально подробно.
Внешняя среда большая, это тоже система. Вредное воздействие на систему может оказывать только часть внешней среды, подсистема. Причём, находясь в определённом состоянии. Как это отследить? Нужно сравнить разные состояния внешней среды, предшествовавшие переходам системы из положительного состояния в отрицательные, и найти общее. Конечно, сравниваются не сами состояния, а информация о них, которую запомнила система.
Как выглядит эта информация? Рассмотрим на примере органа зрения. «Фотография» одного момента времени – это упорядоченное множество конкретных значений всех датчиков, составляющих этот орган. В процессе жизнедеятельности система запоминает такие «фотографии» последовательно, по мере их поступления. Каждая «фотография» запоминается в паре (в связи) с информацией о состоянии самой системы. Последняя обязательно должна содержать знак состояния системы: положительный или отрицательный.
Далее, для простоты, такую «фотографию» будем называть просто состоянием внешней среды в соответствующий момент времени. Так как о состоянии внешней среды система может судить только по той информации, которая у неё есть.
Чтобы выяснить, что привело к ухудшению состояния системы, мало сравнивать только отдельные состояния, непосредственно предшествовавшие переходу. Надо сравнивать некоторый отрезок «предыстории» в виде последовательности состояний. Такая последовательность называется процессом изменения состояния внешней среды, или просто процессом.
Таким образом, система должна иметь способность сравнивать процессы. Попробуем представить самый общий алгоритм этой функции на примере информации от органа зрения.
Исходно у нас есть несколько процессов, каждый из которых представляет собой последовательность состояний органа зрения. Не обязательно одинаковой длины. Каждое состояние – это матрица конкретных значений датчиков. Их количество и упорядоченность со временем не меняется, поэтому все матрицы по размеру равны. И все отрезки процессов заканчиваются одинаковым знаком состояния системы.
Теперь нужно найти общее, то есть, то, что имеется в каждом процессе и не меняется от процесса к процессу. Что это может быть?
Это могут быть похожие между собой участки процессов. Чем они похожи и насколько? Здесь придётся ввести понятия «класс состояний» и «класс процесса». Состоянием системы является уникальная комбинация состояний всех элементов системы. Если выбрать подмножество элементов – это будет подсистема. Состояние подсистемы и будет классом состояния системы. В случае органа зрения это может быть какая-то определённая «фигурка».
Тогда, разные состояния системы, имеющие одно и то же состояние одной и той же подсистемы, будут относиться к одному классу состояний. Если мы сравним несколько процессов изменения системы и найдём в них участки, похожие с точностью до класса состояний, то мы выделим класс процесса.
Для наглядности рассмотрим очень простой пример.
Пусть системой, частью внешней среды, будет четыре разноцветные лампочки. Состояние системы обозначается последовательностью букв, обозначающих цвета включённых лампочек. Например, КЗЖС – красный, зелёный, жёлтый, синий.
Есть процессы:
1. КЗЖ - ЗС - КЖС – КЗС – ЖС
2. Ж – КС – КЗ – С
3. ЗЖС – ЗЖ – ЗЖ – Ж – КЗС
4. КЖ – КЗЖС – КЗС – К - ЗЖ – С
Попробуем их обобщить. Может быть такой результат:
1. КЗЖ - [ЗС ] - [КЖС – КЗС – ЖС]
2. Ж – [КС – КЗ ] – [С ]
3. ЗЖС – [ ЗЖ – ЗЖ – Ж ] – [ КЗС ]
4. КЖ – [ КЗЖС – КЗС – К – ЗЖ] – [С ]
Обобщённо: *Ж* - [*] - [*С]
Где * означает любая комбинация,
[ ] означает массив, как последовательность одинаковых классов состояний.
А может быть и такой результат:
1. КЗЖ - (ЗС -> КЖС) - [КЗС – ЖС]
2. ЗЖС – (ЗЖ –> ЗЖ ) - [Ж] – [КЗС ]
3. Ж – (КС –> КЗ ) – [С ]
4. КЖ – (КЗЖС –> КЗС) –[ К – ЗЖ] –[С ]
Обобщённо: *Ж* - | если З*, то *Ж*| -[*] - [*С]
| если К*, то *З* |
Как видно, в данном случае результат обобщения процессов является последовательностью элементов трёх типов: подкласс, массив, условие. Это означает, что классом процессов, результатом их обобщения, является алгоритм.
А из чего состоит внешняя среда? Мы считаем, что она состоит из объектов. И эти объекты изменяются в результате взаимодействия друг с другом. Объект – это относительно неизменная часть внешней среды. Но, некоторые объекты можно представить и в виде процессов, в зависимости от того, как на них посмотреть. Например, пять лампочек, если их видеть одновременно, являются объектом. А если на них смотреть по очереди, то это процесс. Это к тому, что внешняя среда в общем случае представляет собой совокупность процессов. А результатом обобщения этих процессов, то есть, познания внешней среды, является совокупность алгоритмов. Эта совокупность алгоритмов и есть то, что мы называем знания.
Модуль получения знаний назовём классификация процессов.
Что дают знания? Две способности: предвидение и управление.
Предвидение – это возможность вычислить будущее процесса на основе его алгоритма. Для этого сначала нужно определить класс процесса, то есть, к какому алгоритму из имеющихся он относится. Потом, на основе этого алгоритма, вычислить возможное его продолжение.
Если процесс идёт к отрицательному состоянию, то его надо откорректировать. Это делает модуль управления. Он из имеющихся алгоритмов строит алгоритм достижения цели (положительного состояния) и выполняет этот алгоритм. То есть, конкретизирует созданный алгоритм исходя из текущих условий, превращая его в процесс, и, в конечном итоге, в нужное состояние внешней среды.
Таким образом, управление состоит из двух модулей:
Теперь соберём полученные модули в управляющую структуру.
Итак, мы получили общий алгоритм работы устойчивой обучаемой системы, который содержит все необходимые функции для такого поведения, которое мы и называем разумным.
Итоговые определения разума и интеллекта
Разум – это поведение автономных систем, связанное с самосохранением. Исходной информацией для оценки ситуаций и постановки целей для них является разделение множества их состояний на положительное и отрицательное. Разумная система стремится избежать попадания в отрицательное состояние, и держаться в положительном состоянии. Это разделение состояний «зашито» в саму систему, дано ей конструктивно в виде удовольствия и боли.
А что такое интеллект?
Искусственные системы создаются не для самосохранения, а для выполнения заданий от человека. То есть, главным критерием успеха и неуспеха для искусственной системы является достижение поставленной человеком цели. В этом и состоит отличие естественного разума от искусственного интеллекта. А так как система ИИ взаимодействует с человеком, ей нужна ещё одна функция: общение на (естественном) языке.
Выводы
Понятие «искусственный интеллект» можно определить только на основе понятия «естественный разум». А структуру и функции разума можно восстановить только на основе анализа поведения организмов, целью которых является самосохранение в достаточно сложных условиях существования, к которым нужно приспосабливаться в течение жизни.
Заключение
Полученный в ходе рассуждений общий алгоритм разума достаточно хорошо определён для того, чтобы на его основе начать разработку системы искусственного интеллекта. И она, конечно, уже начата.
Также, этого алгоритма достаточно для получения исчерпывающего ответа на главный вопрос современности: «Опасен ли искусственный интеллект?» Не в смысле его опасности от его некомпетентности и ошибок, а в смысле возможности его активной борьбы с человеком. Но, это, как говорится, отдельная тема.