МЫШЛЕНИЕ. МОЗГ И КОМПЬЮТЕР

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

Допустимые варианты - это комбинации некоторых элементов: действий в практических вопросах, умозаключений в доказательствах, цветов и звуков в искусстве. Может, чтобы получить искомое сочетание, надо просто перебирать варианты один за другим и отбрасывать все непригодные? Бесплодие такого подхода следует из простого факта, названного в кибернетике комбинаторным взрывом. Дело в том, что когда элементы могут свободно группироваться друг с другом, то общий набор сообщений растет (с увеличением числа элементов в наборе) крайне быстро, экспоненциально.

Так, при алфавите всего из десяти символов можно составить 10 И00 текстов длиной по сто букв! Машине, просматривает даже миллиард миллиардов таких стобуквених текстов в секунду (конечно, это фантастическая скорость), для полного осмотра их понадобится около 10 74 года. Для сравнения, время, прошедшее после космологического Большого взрыва - "всего лишь« 10 десять. Поэтому испытать все варианты не под силу ни "медленном" человеческому уму, ни любому совершенном компьютеру.

И все-таки каким-то образом возникают уникальные тексты из многих сотен и тысяч знаков (в музыке Моцарта нельзя трогать ни одной ноты). В поиске таких новых и незаменимых комбинаций состоит суть творчества. "Но ведь где-то есть он в конце концов, тот - единственный, необъяснимые, тот - гениальный порядок звучащих нот, гениальный порядок обычных слов!" (Р. Рождественский).

Значит, должны существовать способы нахождения "иглы" нужного без полного перебора "стога сена" возможного. Концепция Л. И. Верховского позволяет определить подходы для формализации такого процесса.

Пирамида языков

Ясно, что построение искомой комбинации была бы невозможной, если бы она сразу начиналась на уровне тех элементов, на котором она окончательно должна быть выражена - назовем этот уровень языком реализации ". Ведь для написания романа недостаточно знать буквы, а для того, чтобы добраться до нужного адреса, - правила уличного движения. Поэтому мы всегда используем не один язык, а целый их набор. С помощью этого набора пытаемся в и грешить проблему в целом, то есть свести ее к ряду подпроблем, те - к еще более мелких, и так до тех пор, пока каждая из них не будет настолько проста, что сможет быть выражена языком реализации. Фактически мы одну сложную задачу последовательно разбиваем на все большее число все более легких. Как будто при прокладке маршрута пользовались бы комплектом карт разного масштаба. Действительно, определяя путь, мы начинаем с самой грубой карта, охватывающая весь маршрут. От нее переходим к небольшому набору более подробных, от каждой из них - в нескольких еще более детальных. И каждый раз мы легко находим нужным, потому что каждая более общая карта резко ограничивает дальнейший перебор.

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

 
< Пред   СОДЕРЖАНИЕ   След >