Романтика искусственного интеллекта
Шрифт:
Например, определение предмета психологии мышления П. Я. Гальпериным звучит так: «Психология изучает не просто мышление и не все мышление, а только процесс ориентировки субъекта при решении интеллектуальных задач на мышление». Таким образом, с точки зрения одного из лучших советских психологов эта наука не претендует на полное решение задачи исследования интеллекта, а желает лишь решить вспомогательную проблему.
Другой столп советской психологии А. Н. Леонтьев определяет мышление как высшую ступень познания. Звучит тоже не слишком обнадеживающе. С таким же успехом можно мышление определить как форму разума, разум – как форму интеллекта, а интеллект – как способность к мышлению (то есть пойти по кругу из тавтологий).
Может быть, в этом вопросе немного дальше продвинулись психологи западной науки?
Психология относится к тем наукам, которые объясняют человека и общество, поэтому психология всегда была сильно подвержена идеологическим влияниям. Можно предложить, что советская идеологическая установка настолько сильно повлияла на науку, что не позволила ей прийти к решению, которое было где-то рядом, но тогда нужно обратиться к западной психологии.
Жан Пиаже определяет мышление как способность психической адаптации к новым условиям. Интеллектуальный акт – это «акт внезапного понимания». Согласитесь, как-то совсем не конкретно. А гештальтпсихология основную идею, которую начал разрабатывать Вертгеймер, взяла за основу утверждение, что акт психического осознания не разлагается на составные части и может быть исследован только как целое. Но любая алгоритмизация потребует аналитики, выделения составных компонентов, отдельных процессов, приводящих к мыслительным результатам. Некоторое время была весьма популярна теория ассоциативного мышления. Вот она, пожалуй, из тех теорий, которые взялись за труд выявить конкретные мыслительные механизмы.
Ассоциация – это связь между отдельными фактами, событиями, предметами или явлениями, отраженными в сознании человека и закрепленными в его памяти. Ассоциативное восприятие и мышление человека приводят к тому, что появление одного элемента, в определенных условиях, вызывает образ другого, связанного с ним.
По мнению основателя ассоциативной психологии, английского врача Д. Хартли (1705–1757), ассоциативное мышление – понятие, отражающее факт использования в мышлении закона ассоциации (сочетания): любая связь представлений и действий выводима из ощущений и оставленных ими следов в мозгу. Например, ученик, решавший задачу некоторое время назад, помнит логическую цепочку, приведшую к составлению квадратного уравнения. Получив новую задачу, с похожим условием, он включает ассоциативную связь и пробует пройти той же дорогой. Если условия двух задач действительно похожи, то нет ничего невероятного, что этот путь опять приведет к квадратному уравнению.
Понятие ассоциации в психологии разработано достаточно хорошо и в плане определения, и в плане описания механизмов работы ассоциативного мышления, настолько хорошо, что сомневаться в реальности существования такого типа мышления уже не приходится. Но чем точнее и полнее мы сможем описать ассоциативное мышление, тем точнее и полнее встанет и другая правда, что это всего лишь один из механизмов, некий частный случай, не решающий задачи в целом. Ассоциации, например, не объясняют нашу способность к обобщению, не объясняют существования абстракций, процесс формирования цели и многое другое.
В общем, надо признать, что психологи, логики, математики, кибернетики сделали очень много для понимания частных механизмов мышления, но чем теории становились детальнее, тем отчетливее проступал факт нерешаемости вопроса в целом. Можно описать интеллект как деятельность сознания, формализовать понятие гештальта, алгоритмизировать способность к аналитике, синтезу в рамках той или иной формальной схемы, но ответ на главные вопросы все равно ускользает:
• Каким образом интеллектуальная система способна самообучаться без ограничения областей знания?
• Что такое знание, как оно используется для получения нового знания?
• Как феномен интеллекта связан с феноменом сознания?
• Что означает создать искусственный интеллект?
Эвристические алгоритмы
Заход на проблему со стороны формальной логики, психологии, вместе с попыткой увязать наметившееся понимание с возможностями имеющейся цифровой техники, высветил очень серьезную проблему – большой разрыв между сложностью задачи и имеющимися ресурсами моделирования. Этот разрыв принципиален. Компьютерный алгоритм в классическом понимании (здесь надо оговориться, я имею в виду понимание, существовавшее на заре развития компьютерной техники) – вещь, железно приводящая к одному и тому же результату вне зависимости от количества запусков алгоритма. Миллион раз запускаем, миллион раз получаем один и тот же ответ при одних и тех же входных параметрах. А если входных данных не хватает, то алгоритм просто не работает.
Интеллектуальная система, напротив, может начать работу и при недостатке данных, и даже острая нехватка информации не становится препятствием для получения результата, пусть и не всегда удовлетворительного. Интеллектуальная система не работает в строгих рамках. Она способна выбирать путь из нескольких вероятных. В общем, она способна работать эвристически.
Эвристика – это основанное на опыте правило, существенно ограничивающее поиск решения в сложной задаче. Эвристика не гарантирует оптимальности полученного решения, полезная эвристика предлагает варианты, которые с высокой долей вероятности оказываются достаточно хорошими.
Прежде чем двигаться дальше, позвольте привести простой пример эвристического алгоритма. В учебниках по программированию можно встретить задачу о двух кучах камней. Ее условие таково: есть одна большая куча камней, возможно разного веса. Требуется раскидать ее на две кучи так, чтобы между ними была минимальная разница в весе.
Вообще, если нам не нужен реальный результат за ограниченное время, то задача решается очень легко. Загоним камни исходной кучи в массив и построим из полученного таким образом массива все возможные сочетания камней. Каждое сочетание – это одна куча, а оставшиеся вне сочетания камни – другая. Для каждой полученной таким образом пары определим разницу в весе и выберем из всех пар ту, для которой разница минимальна.
Проблема в том, что этот алгоритм переборный. А количество всех возможных сочетаний из N элементов равно 2N. То есть даже при очень небольшой исходной куче, например в 100 камней, общее количество сочетаний 2100. И получается так, что решение есть и его как бы нет. Дождаться, когда компьютер его обнаружит, человеческой жизни не хватит. А теперь давайте откажемся от желания найти идеальное решение. Пусть нам будет достаточно решения хорошего. Тогда возможен такой алгоритм:
• Упорядочим исходную кучу камней в порядке убывания веса.
• Пока в исходной куче камней есть хотя бы один камень, делаем:
– берем очередной камень;
– если правая куча тяжелее левой, то кладем очередной камень в левую кучу, иначе кладем его в правую.
Проиллюстрируем алгоритм примером. Пусть исходная куча содержит такие камни: (9, 15, 1, 1, 7, 4).
После упорядочивания массив примет такой вид: 15, 9, 7, 4, 1, 1.
Шаг 1: Правая – 15; Левая – 0; Исходная 9, 7, 4, 1, 1.