К содержанию

Эвристическое программирование

В отличие от моделирова­ния на уровне нейронных сетей, эвристическое программирование исследует другой уровень организации поведения, называемый опе­рационным. На этом уровне поведение рассматривается как последо­вательность мыслительных, может быть не всегда осознаваемых че­ловеком операций, выполнение которых приводит к успешному ре­шению той или иной задачи.

Обычная процедура построения моделей методом эвристического программирования строится следующим образом. Испытуемым пред­лагается решать некоторую задачу, сопровождая свои размышления устными комментариями хода своих рассуждений. Все высказывания испытуемых тщательно протоколируются. Затем протоколы подвергают анализу с целью выявления хода решения, характера применяемых операций, догадок, приемов и т. п. Полученный в ходе анализа материал используется при составлении компьютерной программы — модели данного вида поведения. Таким образом, программа является моделью не испытуемого, а протокола. Такая модель должна выполнять то, что делает испытуемый и так, как это делает он.

Следующий этап процедуры связан с исследованием работы мо­дели при решении задач того же типа, которые предлагались испы­туемым. Если процесс решения отклоняется от зафиксированного в протоколе, программа дорабатывается. Для этого могут быть постав­лены новые эксперименты с испытуемыми, получены новые прото­колы и т. д.

Использование описанной методики связано с рядом затруднений. При самоотчете испытуемый не в состоянии выделить и прокоммен­тировать все без исключения шаги выполненного им решения, осо­бенно если они связаны с догадками, неосознаваемыми заключения­ми и т.п. Соответственно такие шаги не попадают в протокол и ис­следователь должен самостоятельно заполнять разрывы, опираясь на собственные знания и догадки. Поэтому правильнее будет говорить, что окончательная программа моделирует гипотезу исследователя об изучаемом процессе — гипотезу, основанную на протоколе и опреде­ленных данных из области психологии.

Ряд трудностей заключается также в проведении анализа и интер­претации протокольных записей. Здесь необходима типизация прие­мов анализа и разработка мер, ограничивающих произвольность ин­терпретаций.

Развитие эвристического программирования связано с построени­ем разнообразных моделей, таких, как модели поведения при выборе, при определении стратегии размещения ценных бумаг и др. Однако наибольшие успехи теоретического и прикладного характера достиг­нуты при создании систем ИИ, называемых решателями задач.

Разработка программ — решателей задач преследует две основ­ные цели: во-первых, являясь моделью поведения человека в опреде­ленных условиях, решатель обладает некоторой объяснительной си­лой и может быть использован для предсказания действий человека в ходе решения; во-вторых, решатель может быть использован как со­ставная часть в системах автоматизации управления сложными объ­ектами, в частности — роботами.

Обычно решатели строятся для задач, связанных с преобразова­ниями ситуаций. В таких задачах задаются исходная и желаемая си­туации, а также набор операторов или действий, которые могут стро­го определенным образом изменять ситуации. Класс таких задач до­вольно широкий. В него входят, например, задачи формальной логи­ки, планирования целенаправленных действий и др.

История создания решателей начинается в 50-х годах циклом и следований по разработке общего решателя задач — GPS (Genera Problem Solver). Авторы GPS — А. Ньюэлл, Дж. Шоу и Г. Саймон первоначально ставили перед собой задачу создания эффективного решателя для работ в области искусственного разума. Затем они попытались рассмотреть GPS как общую теорию человеческого мышления. Эта попытка не удалась: как психологическая теория GPS отписывал слишком узкий круг феноменов мышления. Не оправдание также и надежды авторов на универсальный характер GPS как решателя: класс доступных ему задач оказался весьма узок. Позитивный вклад GPS в проблематику ИИ состоит в разработке ряда стратегии решения задач, которые используются и в современных, более совершенных решателях. Были также сформулированы основные задачи и подходы к созданию моделей мышления, решен ряд проблем методологического характера, отработаны приемы эвристического программирования и создана основа для дальнейшего совершенствования решателей задач.

Предложенные для GPS стратегии были использованы при построении ряда решателей, в том числе и для роботов. Такие решатели используются, в частности, в системе STRIPS и в ряде близких к ней систем, предназначенных для управления интегральными роботами.

Наряду с эвристическим программированием в области работ по созданию искусственного разума оформилось еще одно направление исследований, получившее название эвристического моделирования.

Добавить комментарий

Частые вопросы

Как часто обновляются данные по теме «Эвристическое программирование»?

Страница пересматривается, когда меняются публичные условия, состав линейки или появляются устойчивые жалобы пользователей. Дата в карточке и в карте сайта меняется только после правки текста.

Нужна ли регистрация, чтобы пользоваться материалами Языки программирования Pascal и Delphi?

Нет. Все обзоры, таблицы и FAQ открыты. Формы заявок, если встречаются, ведут на сайты компаний и не являются частью этого проекта.

Где смотреть источники и контакты редакции Языки программирования Pascal и Delphi?

Автор указан в карточке страницы. Служебные разделы — «О проекте», «Контакты» и политика конфиденциальности — в подвале сайта.

Есть ли смысл читать FAQ, если уже есть рейтинг?

Да. FAQ отвечает на типовые вопросы выбора, рейтинг — на сравнение позиций. Это разные блоки одной страницы.