книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfARTIFICIAL
INTELLIGENCE:
THE HEURISTIC PROGRAMMING APPROACH
JAMES R. SLAGLE, Ph. D.
Johns Hopkins University
M c G R A W - H I L L B O O K C O M P A N Y N E W Y O R K 1971
Дж. Слэйгл
ИСКУССТВЕННЫЙ
ИНТЕЛЛЕКТ
ПОДХОД НА ОСНОВЕ
ЭВРИСТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Перевод |
с английского |
А. Е. ВОИСКУНСКОГО |
н Б. А. ПОЗИНА |
Под редакцией |
Г. Е. ПОЗДНЯКА |
И З Д А Т Е Л Ь С Т ВО «МИР» МОСКВА 1973
УДК 681. 142/155
В книге, написанной в форме учебника по пробле ме «Искусственный интеллект», - систематизированы результаты, достигнутые за последние годы в этой об ласти при использовании методов эвристического про граммирования. В ней изложены основные понятия эвристического программирования, описаны принци пы построения и обучения машинных программ, ре шающих игровые, математические и логические зада чи, отвечающих на вопросы, доказывающих теоремы и решающих ряд других задач.
Даны практические рекомендации начинающим исследователям по составлению эвристических про грамм. Каждая глава снабжена контрольными вопро сами, примерами и упражнениями для лучшего усвое ния материала.
Книга может |
служить ценным учебным |
пособием |
для студентов и |
аспирантов университетов |
и техни |
ческих вузов, специалистов по автоматике и вычисли тельной технике, а также специалистов других обла стей, интересующихся вопросами автоматизации про цесса решения задач на ЭВМ.
Редакция литературы по новой технике
С плмпі |
© Перевод на русский язык, «Мир», 1973 |
041(01)—73 |
|
Предисловие к русскому изданию
В настоящее время .'исследования, направленные на создание систем с искусственным интеллектом, получили широкое распрост ранение за рубежом и в нашей стране. Это обусловлено, с одной стороны, потребностью передать машине решение.все большего числа задач из сферы мыслительной деятельности человека, с дру гой — значимостью теоретических и практических результатов, полученных в этом направлении.
Значительная часть работ, выполненных на сегодняшний день в направлении «Искусственный интеллект», относится к эвристиче скому программированию, идейная основа которого берет свое
начало от представлений о творческой |
деятельности |
человека, |
|||||
сложившихся |
в психологической |
науке. |
Данная |
книга, |
написан |
||
ная в |
виде учебного |
пособия, содержитгсистематизированное изло |
|||||
жение |
результатов, |
полученных |
в эвристическом |
программиро |
|||
вании. |
|
|
|
|
|
|
|
Исходным |
для |
проведенной в |
книге |
систематизации |
является |
следующее положение. Процесс решения задачи в большинстве эвристических программ может быть представлен в виде направ ленных преобразований на некотором «дереве логических возмож ностей». Примерами деревьев логических возможностей являются рассматриваемые в книге деревья игр и деревья целей. Эвристиче ская программа осуществляет решение задачи путем выделения для анализа существенных с точки зрения поиска решения задачи частей дерева. Эффективность программы зависит от того, насколь ко хорошо она «умеет» это делать. Выделение существенных частей дерева логических возможностей производится путем введения спе
циальных процедур |
перемещения на этом дереве и способов оце |
нок, управляющих |
поиском решения. Таким образом, при задан |
ном дереве логических возможностей эффективность эвристической программы будет определяться тем, насколько хорошо выбранные процедуры перемещения и способы оценок обеспечивают сокраще ние перебора возможных вариантов продвижения от исходной
вершины на |
дереве логических |
возможностей к |
целевой. |
||
Начав |
с изложения |
целей |
эвристического |
программирования |
|
и определения его места |
в |
проблеме «Искусственный интеллект», |
|||
автор затем |
последовательно |
в |
рамках выбранной систематизации |
проводит рассмотрение ряда эвристических программ, разрабо танных для решения различных специальных задач из творческой деятельности человека, а также некоторых универсальных про грамм, рассчитанных на решение широкого класса проблем.
Большинство |
рассмотренных |
в книге программ, помимо того |
|
что они |
углубляют представление читателя о существующих под |
||
ходах в |
эвристическом программировании, могут быть использованы |
||
на практике. При |
изложении ряда |
известных программ (например. |
6 П Р Е Д И С Л О В И Е К РУССКОМУ И З Д А Н И Ю
таких, как GPS— «Общий решатель задач») рассматриваются их современные модификации, что, безусловно, представляет интерес для специалистов, работающих в данной области.
Особое место в книге уделяется изложению метода доказатель ства теорем с использованием «принципа резолюции», который на
шел широкое применение в эвристических программах лишь |
в |
||||||||
самые |
последние годы, |
а также принципов построения |
дедуктив |
||||||
ных систем, отвечающих |
на вопросы. |
Более детально |
ознакомиться |
с |
|||||
этим |
методом позволяет |
статья |
Грина, |
помещенная в |
приложении |
к |
|||
русскому |
изданию. В гл. |
11 и 12 книги описываются |
существующие |
||||||
подходы |
к автоматическому нахождению |
оценивающих функции |
и |
||||||
кратко излагаются некоторые |
результаты |
по восприятию |
и запо |
минанию информации. Наконец, в заключительной главе автор проводит ретроспективный анализ прикладного значения направ ления «Искусственный интеллект» и дает ряд методически ценных советов по составлению эвристических программ.
Книга написана в форме, доступной для широкого круга чи тателей. Д л я включения в нее автор отбирал главным образом ма териал, прошедший экспериментальную проверку. Поэтому книгу можно рассматривать как своеобразный отчет о том, что уже про
делано в эвристическом программировании за |
рубежом |
за |
период |
до выхода данной монографии в свет в 1971 |
г. Жаль, |
что |
автор |
уделяет мало внимания рассмотрению результатов, полученных в облас
ти эвристического программирования в СССР. Слэйгл |
мало |
затрагивает |
|||||
также существующие в |
настоящее |
время в |
данном |
направлении |
|||
теоретические проблемы |
и намечаемые |
пути |
их |
решения. |
Однако |
||
последнее обстоятельство |
нисколько |
не |
снижает |
ценности |
книги. |
||
Ведь цель автора — облегчить ознакомление |
широкого круга чи |
тателей с новым научным направлением, подходом, позволяющим расширить сферу применения вычислительных машин. В этом смысле проведенную в книге систематизацию результатов и ком поновку материала следует признать удачными. Безусловно, в данном учебном пособии найдут полезные сведения и специалисты,
уже работающие в области эвристического |
программирования и |
|
в смежных |
направлениях. |
|
В целом книга представляет интерес для специалистов самых |
||
различных |
областей, связанных с обработкой |
информации на ЦВМ |
и интересующихся вопросами автоматизации решения задач, воз никающих в различных сферах практической деятельности чело века. Кроме того, она будет полезной математикам, специалистам по вычислительной технике, психологам, философам и всем, инте ресующимся вопросами создания систем с искусственным интеллек том.
Как мы отмечали, данная монография относится к первым учебным пособиям по новому научному направлению, и поэтому при подготовке ее русского издания возникли серьезные терминоло гические трудности. Большую помощь редактору в их преодоле нии, а также в редактировании 7 и 8 глав книги оказал И. Б. Фо миных. Пользуюсь случаем, чтобы выразить ему свою признатель ность,
Г. Ппядняк
Предисловие автора
Эта книга посвящена |
систематизированному |
описа |
нию принципов действия |
интеллектуальных |
машин. |
В ней показано, что машины способны к деятельности, которую часто называют интеллектуальной, если она про изводится людьми. В книге описаны программно реализуемые
устройства, которые |
на |
основании сообщаемых им |
фактов |
||||||
дают ответы на вопросы, играют |
в игры, |
доказывают |
|||||||
теоремы, |
балансируют |
работу |
сборочных |
конвейеров |
|||||
и т. |
п. |
Почти |
все |
разработки, |
о |
которых |
идет |
речь, |
|
доведены |
до стадии эксперимента. Любая из этих машин |
||||||||
или |
по |
крайней |
мере |
некоторые |
их компоненты |
могут, |
|||
по-видимому, решать и более сложные задачи. |
|
||||||||
Хотя эта книга предназначена в первую очередь для |
|||||||||
студентов, изучающих |
вопросы |
вычислительной |
техни |
ки, она окажется полезной также специалистам как в этой, так и в других отраслях знаний, включая психоло гов, математиков и даже философов, и в то же время представит интерес для более широкого круга читате лей. Философу и неспециалисту по затрагиваемым в кни ге вопросам собранные в ней примеры эвристических программ помогут получить более ясное представление о некоторых важных и горячо обсуждаемых проблемах, касающихся интеллектуальных машин, сущность кото рых не всегда правильно понимается. По этим вопросам автор высказывает свое собственное мнение, особенно в последней главе книги. Исследователям в различных областях полезно будет узнать, какие приложения ра боты по искусственному интеллекту могут в настоящем или будущем найти в специально интересующей их об ласти. Психологу важно знать, как машины «мыслят» и в какой степени это можно назвать мышлением, чтобы лучше понять, как происходит мышление людей. Матема тику полезно будет узнать о том, какую помощь уже сейчас способны оказать ему машины при преобразова
нии математических |
выражений, |
доказательстве |
теорем |
и проверке строгости |
имеющихся |
доказательств. |
Иссле- |
8 |
П Р Е Д И С Л О В И Е АВТОРА1 |
дователь же в непосредственной области искусственной0 интеллекта, пожалуй, найдет в книге не только система тизацию обширного материала по эвристическому про граммированию, но и нечто новое для себя. Некоторые материалы этой книги взяты из труднодоступных источ1" ников, часть использованных сведений впервые публи куется в данной книге.
Книга задумана в первую очередь как учебное посо бие для студентов старших курсов и аспирантов, специа лизирующихся как в области автоматики и вычислитель ной техники вообще, так и в частной области «искусст венного интеллекта». В конце каждой главы содержатся упражнения и приводится библиография. Эта книга мо жет быть использвана как учебное пособие при прохож дении уже существующих курсов, и можно надеяться, чт<° она будет способствовать также созданию новых лек ционных курсов по искусственному интеллекту. В книг£ широко использованы конспекты лекций, читанных авто ром в Массачусетском технологическом институте, Ка лифорнийском университете (г. Беркли) и Университете Джона Гопкинса. Автор выражает признательность своиіИ студентам за ряд замечаний, способствовавших улучше нию книги.
Джеймс Р. СлэйгЛ
1
Эвристическое программирование — подход
кискусственному интеллекту
Вначале этой главы дается общая характеристика предмета и целей эвристического программирования.
Затем вводится понятие о «деревьях игры» п прово дится обсуждение такого представления игр. Глава за канчивается предварительным рассмотрением эвристи ческих программ, играющих в игры.
1.1. ИСКУССТВЕННЫЙ И Н Т Е Л Л Е К Т
Усилия исследователей в области «искусственного интеллекта» направлены на создание машин, обнаружи вающих поведение, которое мы у людей называем ин теллектуальным. Так как машины такого типа почти всегда являются вычислительными, направление «искус ственный интеллект» относится к области вычислитель ной техники. Слово «интеллект» (intelligence) употребляет ся в различных смыслах, и, хотя каждый из нас имеет достаточно определенное субъективное представление о том, что следует понимать под человеческим интеллектом, значительный интерес могут представить следующие оп ределения, приведенные в словаре Вебстера1 :
|
А. Способность успешно реагировать на любую, осо |
||||
бенно новую ситуацию путем |
надлежащих |
корректиро |
|||
вок |
поведения. |
|
|
|
|
|
Б. Способность понимать |
взаимосвязи между |
факта |
||
ми |
действительности для выработки |
действий, ведущих |
|||
к достижению поставленной |
цели. |
|
|
|
|
|
Эти определения в равной степени |
могут |
быть |
приме |
нены как к поведению машины, так и к поведению чело-
1 Webster's New Collegiate Dictionary, Merriam Co., Springfield,
Mass., 1956.
10 |
ГЛЛВЛ 1 |
века. Понятие интеллекта предполагает наличие многих целей, а также способность к обучению, и в дальнейшем мы подробно остановимся на желательности включения этих аспектов интеллекта в эвристические программы.
1.2. Ц И Ф Р О В Ы Е В Ы Ч И С Л И Т Е Л Ь Н Ы Е МАШИНЫ
Почти все машины, которые обсуждаются в этой кни ге, относятся к вычислительным. Под вычислительной машиной здесь подразумевается быстродействующая уни версальная электронная вычислительная машина с хра нящейся в ее памяти программой. Вычислительная ма шина состоит из устройств ввода (например, устройство считывания с перфокарт), устройств вывода (например, перфоратор), запоминающего устройства (например, па мять на магнитных сердечниках), арифметического уст ройства и устройства управления.
Для решения конкретной задачи такая универсаль ная машина через устройства ввода снабжается програм мой и данными. Программа — это перечень подробных инструкций — команд, которые предписывают ход ре шения задачи определенного типа. Данные, вводимые в
машину, характеризуют конкретную задачу из числа тех, которые способна решать программа. Вычислитель ная машина помещает программу и данные в запоминаю щее устройство (память). Устройство управления после довательно рассматривает команды и при необходимости использует арифметические устройства. Промежуточные результаты помещаются в память. Устройство вывода нужно для сообщения пользователю окончательных результатор.
Вычислительные машины обладают очень большим быстродействием и высокой точностью. Они могут, например, перемножать около миллиона 12-разрядных чисел в секунду и выполнять миллиарды операций без единой ошибки. Они манипулируют данными в строгом соответствии с инструкциями. Более подробно об этом будет сказано в заключительной главе. В некоторых случаях вычислительные машины используются для мо делирования других систем. Например, они применя ются для моделирования как всей экономики США, так