Сообщество разума. Марвин Минский
образцу придется изучать иную форму репрезентации и новые навыки ее использования. Это отчасти похоже на изучение множества иностранных языков, у каждого из которых своя грамматика, своя лексика и свои идиомы. С этой точки зрения действия детей выглядят еще восхитительнее, так как многие их поступки вызваны собственными изобретениями и открытиями.
7.3. Принцип головоломки
Многие люди считают, что машины способны выполнять только действия, на которые их запрограммировали, то есть напрочь лишены способности к творчеству и оригинальности. Проблема в том, что данный аргумент содержит в себе посылку, которую призван доказать: мол, нельзя запрограммировать машину на творчество! На самом же деле поразительно просто запрограммировать компьютер так, чтобы он начал выполнять операции, вообразить которые заранее не в состоянии ни один программист. Возможно, это следствие того, что мы будем называть «принципом головоломки».
Принцип головоломки: Возможно запрограммировать компьютер для решения любых задач методом проб и ошибок без готовых вариантов решений, при условии, что мы располагаем способом установить факт решения задачи.
Под методом «проб и ошибок» подразумевается систематическое программирование для генерации всех возможных структур в пределах некоторой вселенной возможностей. Например, предположим, что нам требуется робот, способный построить мост через реку. Наиболее эффективная программа для такого робота означает выполнение определенной процедуры, описанной заранее, для надлежащего размещения досок и забивания гвоздей. Конечно, написать такую программу невозможно, не обладая сведениями о строительствах мостов. Но рассмотрим альтернативу ниже – иногда ее называют методом генерации и тестирования. Нужно составить двухчастную программу.
Генерация: Первый этап просто формирует, одну за другой, все возможные комбинации досок и гвоздей. На первый взгляд может показаться, что написание такой программы вызовет затруднения. Однако выясняется, что это удивительно легко, стоит лишь сообразить, что комбинации досок и гвоздей не обязаны быть «здравыми» с человеческой точки зрения!
Тестирование: Второй этап процесса сводится к проверке каждого варианта комбинаций для выяснения того, была ли решена задача. Если цель заключалась в постройке плотины, успешным результатом тестирования будет перекрытие водного потока. Если же цель состояла в том, чтобы построить мост, тестирование покажет, можно ли перейти реку.
Этот метод побуждает нас пересмотреть привычные представления об интеллекте и творчестве, поскольку он означает, что – по крайней мере, в теории – возможно заставить машину решать любые задачи, для которых мы способны признать наличие решения. Однако на практике такой метод редко оказывается оправданным. Только вообразите: тысячи способов соединить две доски вместе, миллион способов соединить три