Повышение интеллектуальности подсистем проектирования
1.2. Об искусственном интеллекте
Искусственный интеллект (ИИ) как научное направление, связанное с попытками формализовать мышление человека, имеет длительную историю. Еще Платон, Аристотель, Р. Декарт, Г.В. Лейбниц, Дж. Буль и многие другие исследователи на уровне современных им знаний стремились описать мышление как совокупность некоторых элементарных операций, правил и процедур. Качественно новый период развития ИИ связан с появлением в научных лабораториях ЭВМ и с публикацией книги Н. Винера "Кибернетика или управление и связь в животном и машине" [19, 20] появившейся еще ранее книги У. Росс Эшби "Введение в кибернетику" [100, 101] .
В нашей стране идеи создания ИИ получили признание после выхода целой серии переводных работ Н. Винера, У. Росс Эшби, Ст. Бира и Э. Беркли в конце 1950-х — начале 1960-х годов прошлого века [14, 12] и нашего соотечественника Берга [11]. Однако к непосредственному использованию идей ИИ наши ученые обратились только с развитием информационных технологий, с необходимостью повышения интеллектуальности систем автоматизированного проектирования современных конструкций и технологических процессов изготовления изделий в различных областях.
Искусственный интеллект появился на базе вычислительной техники, математической логики, программирования, психологии, лингвистики, нейрофизиологии и других отраслей знаний. Искусственный интеллект — это образец междисциплинарных исследований, где соединяются профессиональные интересы специалистов разного профиля [79]. Само название новой науки возникло в конце 60-х гг., а в 1969 г. в Вашингтоне (США) состоялась первая Всемирная конференция по искусственному интеллекту.
Известно, что совокупность научных исследований обретает права науки, если выполнены два необходимых условия: у этих исследований должен быть объект изучения, несовпадающий с теми, которые изучают другие науки; должны существовать специфические методы исследования этого объекта, отличные от методов других, уже сложившихся наук. Исследования, которые объединяются сейчас термином "искусственный интеллект", имеют свой специфический объект изучения и свои специфические методы.
Когда в конце 1940-х — начале 1950-х гг. появились ЭВМ, стало ясно, что инженеры и математики создали не просто быстро работающее устройство для вычислений, а нечто более значительное. Оказалось, что с помощью ЭВМ можно решать различные головоломки, логические задачи, играть в шахматы, создавать игровые программы. ЭВМ стали принимать участие в творческих процессах: сочинять мелодии, стихотворения и даже сказки. Появились программы для перевода с одного языка на другой, для распознавания образов, доказательства теорем. Это свидетельствовало о том, что с помощью ЭВМ и соответствующих программ можно автоматизировать такие виды человеческой деятельности, которые называются интеллектуальными и считаются доступными лишь человеку.
Несмотря на большое разнообразие невычислительных программ, созданных к началу 1960-х гг., программирование в сфере интеллектуальной деятельности находилось в гораздо худшем положении, чем решение расчетных задач. Программирование для задач расчетного характера опиралось на соответствующую теорию — вычислительную математику. На основе этой теории было разработано много методов решения задач. Эти методы стали основой для соответствующих программ. Ничего подобного для невычислительных задач не было. Любая программа была здесь уникальной, как произведение искусства. Опыт создания таких программ никак не обобщался, умение их создавать не формализовалось [78].
Никто не станет отрицать, что, в отличие от искусства, у науки должны быть методы решения задач. С помощью этих методов все однотипные задачи должны решаться единообразным способом, и, "набив руку" на решении задач определенного типа, легко решать новые задачи, относящиеся к тому же типу. Но именно таких методов и не смогли придумать те, кто создавал первые программы не- вычислительного характера.
Когда программист создавал программу для игры в шахматы, то он использовал собственные знания о процессе игры. Он вкладывал их в программу, а компьютер лишь механически выполнял эту программу. Можно сказать, что компьютер отличал вычислительные программы от невычислительных. Он одинаковым образом находил корень квадратного уравнения или писал стихи. В памяти компьютера не было знаний о том, что он на самом деле делает.
Об интеллекте компьютера можно было бы говорить, если бы он сам, на основании собственных знаний о том, как протекает игра в шахматы и как играют в эту игру люди, сумел составить шахмат- ную программу или синтезировал программу для написания несложных вальсов и маршей.
Не сами процедуры, с помощью которых выполняется та или иная интеллектуальная деятельность, а понимание того, как их создать, научиться новому виду интеллектуальной деятельности, — вот где скрыто то, что можно назвать интеллектом. Специальные метапроцедуры обучения новым видам интеллектуальной деятельности отличают человека от компьютера. Следовательно, при создании искусственного интеллекта основной задачей становится реализация машинными средствами тех метапроцедур, которые используются в интеллектуальной деятельности человека. Что же это за процедуры?
В психологии мышления есть несколько моделей творческой деятельности. Одна из них называется лабиринтной. Суть лабиринтной гипотезы, на которой основана лабиринтная модель, состоит в следующем: переход от исходных данных задачи к ее решению лежит через лабиринт возможных альтернативных путей. Не все пути ведут к желаемой цели — многие из них заводят в тупик, из которого надо уметь возвращаться к тому месту, где потеряно правильное направление. Это напоминает попытки не слишком умелого школьника решить задачу об упрощении алгебраических выражений. Для этой цели на каждом шагу можно применять некоторые стандартные преобразования или придумывать искусственные приемы. Но весьма часто вместо упрощения выражения происходит его усложнение, и возникают тупики, из которых нет выхода. По мнению сторонников лабиринтной модели мышления, решение всякой творческой задачи сводится к целенаправленному поиску в лабиринте альтернативных путей с оценкой успеха после каждого шага.
С лабиринтной моделью связана первая из метапроцедур — целенаправленный поиск в лабиринте возможностей. Программированию этой метапроцедуры соответствуют многочисленные процедуры поиска, основанные на соображениях "здравого смысла" (человеческого опыта решения аналогичных задач). В 1960-х гг. было создано немало программ на основе лабиринтной модели, в основном игровых и доказывающих теоремы "в лоб", без привлечения искусственных приемов. Соответствующее направление в программировании получило название эвристического программирования . Высказывались даже предположения, что целенаправленный поиск в лабиринте возможностей — универсальная процедура, пригодная для решения любых интеллектуальных задач.
Но исследователи отказались от этой идеи, когда столкнулись с задачами, в которых лабиринта возможностей либо не существовало, либо он был слишком велик для метапроцедуры поиска, как, например, при игре в шахматы. Конечно, в этой игре есть лабиринт возможностей — это все мыслимые партии игры. Но как в этом астрономически большом лабиринте найти те партии, которые ведут к выигрышу? Лабиринт столь велик, что никакие скорости вычислений не позволят целенаправленно перебрать пути в нем. И все попытки использовать для этого человеческие эвристики (в данном случае профессиональный опыт шахматистов) не дают пути решения задачи. Поэтому современные шахматные программы уже давно применяют не только метапроцедуру целенаправленного поиска, но и другие метапроцедуры, связанные с другими моделями мышления.
Долгие годы в психологии изучалась ассоциативная модель мышления. Основной метапроцедурой этой модели является ассоциативный поиск и ассоциативное рассуждение. Предполагается, что решение неизвестной задачи так или иначе основывается на уже решенных задачах, чем-то похожих на ту, которую надо решить. Новая задача рассматривается как уже известная, хотя и несколько отличающаяся от известной. Поэтому способ ее решения должен быть близок к тому, который когда-то помог решить подобную задачу.
Для этого надо обратиться к памяти и попытаться найти нечто похожее, что ранее уже встречалось. Это и есть ассоциативный поиск. Когда, увидев незнакомого человека, вы стараетесь вспомнить, на кого он похож, реализуется метапроцедура ассоциативного поиска. Но понятие ассоциации в психологии шире, чем просто "похожесть". Ассоциативные связи могут возникнуть и по контрасту, как противопоставление одного другому, и по смежности, т. е. в силу того, что некоторые явления возникали в рамках одной и той же ситуации или происходили одновременно (или с небольшим сдвигом по времени).
Ассоциативное рассуждение позволяет переносить приемы, использованные ранее, на текущую ситуацию. К сожалению, несмотря на многолетнее изучение ассоциативной модели, не удалось создать стройную теорию ассоциативного поиска и ассоциативного рассуждения. Исключение составляет важный, но частный класс ассоциаций, называемых условными рефлексами. И все же метапроцедура ассоциативного поиска и рассуждения сыграла важную роль: она помогла создать эффективные программы в распознавании образов, в классификационных задачах и в обучении ЭВМ. Но одновременно эта метапроцедура привела к мысли о том, что для ее эффективного использования надо привлечь результаты, которые были получены в другой модели мышления, опирающейся на идею внутреннего представления проблемной области, на знаниях о ее особенностях, закономерностях и процедурах действия в ней.
Это представление о мыслительной деятельности человека обычно называют модельной гипотезой. Согласно ей, мозг человека содержит модель проблемной ситуации, в которой ему надо принять решение. Для решения используются метапроцедуры, оперирующие с совокупностью знаний из той проблемной области, к которой принадлежит данная проблемная ситуация. Например, если проблемная ситуация — переход через улицу с интенсивным движением, то знания, которые могут помочь ее разрешить, касаются способов организации движения транспорта, сигналов светофоров, наличия дорожек для перехода и т. д.
В модельной гипотезе основными метапроцедурами становятся представление знаний, рассуждения, поиск релевантной (связанной с данной проблемной ситуацией) информации в совокупности имеющихся знаний, их пополнение и корректировка. Эти метапроцедуры составляют ядро интеллектуальных возможностей современных программ и программных систем, ориентированных на решение творческих задач. В совокупности с метапроцедурами целенаправленного поиска в лабиринте возможностей, ассоциативного поиска и рассуждения они образуют арсенал интеллектуальных средств, которым располагают современные интеллектуальные системы, часто называемые системами, основанными на знаниях.
Можно сформулировать основные цели и задачи искусственного интеллекта. Объектом изучения искусственного интеллекта являются метапроцедуры, используемые при решении человеком задач, традиционно называемых интеллектуальными, или творческими. Но если психология мышления изучает эти метапроцедуры применительно к человеку, то искусственный интеллект создает программные (а сейчас уже и программно-аппаратные) модели таких метапроцедур.
Цель исследований в области искусственного интеллекта — создание арсенала метапроцедур, достаточного для того, чтобы ЭВМ (или другие технические системы, например роботы) могли находить по постановкам задач их решения. Иными словами, стали автономными программистами, способными выполнять работу профессиональных программистов-прикладников (создающих программы для решения задач в определенной предметной области). Разумеется, сформулированная цель не исчерпывает всех задач, которые ставит перед собой искусственный интеллект. Это цель ближайшая. Последующие цели связаны с попыткой проникнуть в области мышления человека, которые лежат вне сферы рационального и выразимого словесно (вербально) мышления. В поиске решения многих задач, особенно сильно отличающихся от ранее решенных, большую роль играет та сфера мышления, которую называют подсознательной, бессознательной или интуитивной.
Основными методами, используемыми в искусственном интеллекте, являются разного рода программные модели и средства, эксперименты на ЭВМ и теоретические модели. Однако современные ЭВМ уже мало удовлетворяют специалистов по искусственному интеллекту. Их конструкция не имеет ничего общего с тем, как устроен человеческий мозг. Поэтому идет интенсивный поиск новых технических структур, которые будут способны лучше решать задачи, связанные с интеллектуальными процессами. Сюда относятся исследования по нейроподобным искусственным сетям, попытки построить молекулярные машины, работы в области голографических систем и многое другое.
Существует несколько основных проблем, изучаемых в искусственном интеллекте.
- Представление знаний — разработка методов и приемов для формализации и последующего ввода в память интеллектуальной системы знаний из различных проблемных областей, обобщение и классификация накопленных знаний, применение знаний при решении задач.
- Моделирование рассуждений — изучение и формализация различных схем человеческих умозаключений, используемых в процессе решения разнообразных задач, создание эффективных программ для реализации этих схем в вычислительных машинах.
- Диалоговые процедуры общения на естественном языке, обеспечивающие контакт между интеллектуальной системой и человеком-специалистом в процессе решения задач.
- Планирование целесообразной деятельности — разработка методов построения программ сложной деятельности на основании тех знаний о проблемной области, которые хранятся в интеллектуальной системе.
- Обучение интеллектуальных систем в процессе их деятельности, создание комплекса средств для накопления и обобщения умений и навыков, накапливаемых в таких системах.
Кроме этих проблем исследуются многие другие, составляющие тот задел, на который будут опираться специалисты на следующем витке развития теории искусственного интеллекта.
В практику человеческой деятельности интеллектуальные системы уже внедряются. Это наиболее известные широкому кругу специалистов экспертные системы, передающие опыт более подготовленных специалистов менее подготовленным. Сюда относятся и интеллектуальные информационные системы (например, системы машинного перевода), и интеллектуальные роботы, другие системы, имеющие полное право называться интеллектуальными. Без таких систем современный научно-технический прогресс уже невозможен.
Первые шаги кибернетики были направлены на изучение и осмысление процессов, протекающих в сложных, прежде всего, в живых системах, включая и мыслящие. Исследования имели ярко выраженный познавательный характер. Но уже тогда стали появляться разработки, направленные на воспроизведение в ЭВМ определенных процессов и феноменов мышления. Позднее именно это направление и оформилось в самостоятельную область, разрабатывающую проблему ИИ.
В ходе последующего развития исследований по ИИ, в 1960-1970-х годах, произошло их разделение на два самостоятельных направления. Это разделение сохраняется и до настоящего времени. Без четкого понимания различий и тенденций развития обоих направлений нельзя правильно разобраться и в современном состоянии проблемы [73, 85].