Инструменты Сознания

Feb 08, 2014 20:00


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

Самые большие шаги в этой теме были сделаны в первой половине 20-ого века:

Пока оба автора были живы, они достаточно сильно критиковали друг друга, но по факту - они занимались немного разными областями. Обе теории являются фундаментом современной педагогической психологии, и многие современные идеи являются дальнейшим развитием этих идей. Оба были сосредоточенны на проблеме развития детей, и уже позже эти теории были применены к развитию взрослых (но уже последователями).

Рассмотрение теорий Л. С. Выготского есть в другой статье, а вот на Ж. Пиаже и его последователях я здесь остановлюсь более подробно.
Теория Ж. Пиаже

Ж. Пиаже заметил, что есть классы задач, которые ребенок не может решать, пока не преодолеет некоторый барьер. После преодоления барьера, ребенок уже легко может решать эти классы задач, и даже не верит, что он мог когда-то решать эти задачи не правильно. Более того, дети преодолевают эти барьеры приблизительно в одном и том же возрасте. Ж. Пиаже считал, что это связано скорее с естественным вектором развития человека, а Л. Выготский указывал на значительное влияние среды (и это было предметом их дискуссии).

Примером такой задачи является работа с законами сохранения. До осознания законов сохранения, ребенок верит, что если перелить воду из узкого стакана в широкий, то воды станет меньше, а если обратно - то опять больше. И никакая аргументация не помогает, пока в голове не сформируются соответствующие структуры.

Ж. Пиаже выделял следующие крупные стадии развития (есть еще и под-стадии):
  1. Сенсомоторная стадия (0-2 года)
  2. Дооперациональная стадия (2-7 лет)
  3. Стадия конкретных операций (7-11 лет)
  4. Стадия формальных операций (11-15 лет)

На каждой стадии, человек осваивает некоторые инструменты сознания, которые однажды будучи освоенными, уже могут использоваться человеком более-менее свободно. Все он это описал в книге Ж. Пиаже «Психология Интеллекта». Однако эту книгу я могу посоветовать только тем, кто хочет все это перепроверить, ибо язык там довольно-таки запутанный.

Ж. Пиаже изучал французских детей среднего класса первой половины 20-ого века. Результаты были достаточно похожи на тестовых задачах. Однако, еще Ж. Пиаже были замечены несколько мелких фактов, которые несколько нарушали стройную картину биологической предопределенности развития. Его последователи, нашли еще несколько проблем.
  • Человек, который усвоил инструменты сознания в одной области, не обязательно будет способен их применять в другой.
  • В разных культурах средние уровни отличаются от друг друга. Так уровень формальных операций - свойственен не всем культурам.
Теория М. Коммонса

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

Во-первых, М. Коммонс добавил две новые крупные развития:
  1. Системная (две подстадии системная и мета-системная)
  2. Парадигмальная (две подстадии парадигмальная и кросс-парадигмальная)

Во-вторых, М. Коммонс попытался объяснить, как именно инструменты сознания используются в предметной области. Он обнаружил следующее:
  • Хотя эти инструменты сознания общие для разных областей, их нужно внедрять в каждую область заново. В некотором смысле, они являются классом, а их использование в конкретной области объектом этого класса. Или даже мета-классом и классом.
  • На каждой новой стадии, внедряются инструменты, которые не могут работать без уже произошедшего внедрения инструментов предыдущего уровня.
  • Каждый инструмент нетривиально организует инструменты предыдущего уровня.
  • На каждой стадии освоения предметной области, растет сложность задач, с которыми человек может справится.

М. Коммонс даже разработал методики оценки стадии освоения, основанные на том, как человек описывает ситуацию и свои решения. Он выделяет горизонтальную (количественную) сложность и вертикальную (глубину дерева описания). К сожалению, с последней метрикой есть проблемы, так как помимо высоты дерева важным является материал, из которого оно изготовлено. Банан и вишня могут быть одного размера, но сложность и живучесть у них разная. В целом, глубина и используемые инструменты сознания коррелируют, но не совпадают. ИМХО более оптимальным является разделение на три типа сложности:
  1. Количественная (количество элементов)
  2. Структурная (глубина дерева описания)
  3. Мета-сложность (количество использования каждого уровня инструментов сознания)

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

И Ж. Пиаже и М. Коммонс описывают свои теории в достаточно сложных терминах. Но можно перевести описание этих инструментов в близкую к IT форму. Я выделю структурные и динамические аспекты каждой стадии.

Важно отметить, что каждая стадия соответствует внедрению определенной группы инструментов сознания, и в общем случае мы проходим эти стадии в каждой области заново. Более того, человечество проходит эти стадии развития в каждой новой области заново.
Объекты и Шаги

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

Это уровень имен, когда мы знаем имя объекта, то мы можем проассоциировать с ним набор действий и других кусочков информации. Пока человек не может различать красную смородину и волчью ягоду, он не может приписать к первому возможное действие кушать, а к другому - свойство несъедобно. До того, как даны имена - мир является неразделенным хаосом, и имена - это первый шаг к преодолению этого хаоса.

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

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

( Подробнее)
Сочетания и Рецепты

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

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

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

Исчерпание полезности этого уровня тоже неизбежно. Так как внимание ограниченно, и им нужно управлять. А ментальное пространство сочетания является плоским. И здесь нужно учитывать, что непосредственное и оперативное внимание человека ограниченно:
  • Непосредственное внимание «Число Миллера»: 7±2 - количество параметров которые человек может отслеживать в каждый момент времени.
  • Среднесрочное внимание «Число Данбара»: 100 - 230 - количество людей, с которыми человек может поддерживать отношения.

Это ставит сильные ограничения как на сочетания, так и на рецепты. Большие объемы просто не воспринимаются на данной стадии освоения. Соответственно, это сильно ограничивает сложность деятельности.

( Подробнее)
Иерархии и Правила

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

В сочетаниях по факту некоторые элементы начинают играть роль ссылок на другие сочетания.  Может быть достаточно много принципов организации иерархий:
  • Объект - компонент
  • Частное - общее
  • Предок - потомок
  • Начальник - подчиненный

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

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

Правила уже позволяют работать не с конкретными объектами, но также с положением объекта в иерархической картине мира - классом объекта. Так в правилах дорожного движения задаются ожидания поведения для произвольных автомобилей, и их не нужно уточнять для каждой модели Жигулей или BMW отдельно. Можно также формулировать правила для всех животных, или только китовых, или только для рыб.

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

Математикой этого уровня является алгебра и геометрия. То есть, сформулированы правила относительно чисел и фигур. Математика окончательно оформляется как способ рассуждать о форме высказывания в отрыве от содержания. Однако на этой стадии, еще не сформулировано, что именно является правильным рассуждением, от него требуется только убедительность.

Этот уровень тоже достаточно быстро исчерпывает свою полезность. При его освоении, строится достаточно большое количество иерархий, но потом появляется нужда связать их вместе. Пока человек находится на этой стадии, единственное, что приходит ему в голову, это построить супер-иерархию и определить универсальный набор правил (передаю привет любителям онтологий!). Однако это не получается. Более того, не получается даже запихать книги по папкам в иерархической файловой системе, что бы было удобно искать как по автору, так и по теме книги, не говоря уже про поиск по названию. Те, кто хранит музыку на жестком диске, тоже сообщают о таких проблемах.

( Подробнее)
Модели и Метаправила

Для преодоления этих проблем, вводятся модели (иерархии и разноплановые отношения) и метаправила (правила по поводу правил).

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

Метаправила - это правила, примененные к правилам. Например, контракт - это список правил, которое участники согласились выполнять. Однако, контрактное законодательство регулирует виды контрактов, и указывает способ интерпретации контрактов. Математическая логика - это правила, применяемые к математическим высказываниям. А критерий фальсифицируемости Поппера - это метаправило относительно формулировок гипотез (которые обычно являются правилами или метаправилами).

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

Например, Warren Thorngate это сформулировал как «Теория социального поведения не может быть одновременно: общей, простой, и точной». И действительно, именно в социальных системах подход уровня моделей и метаправил дает первые серьезные сбои.

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

( Подробнее)
Системы и Взаимодействия

Это последняя стадия более-менее освоенный нашей цивилизацией. Как и на предыдущих стадиях, то, что было проблемой на предыдущем уровне, становится инструментом на новом уровне.

Циклы обратной связи, которые не давали работать с моделью, являются инструментом управления на этой стадии. На стадии моделей, человек пытается управлять системой на основании предсказаний. Однако, для более-менее сложной ситуации - это не возможно. И к сожалению, социальная деятельность является именно такой ситуацией.

Именно поэтому, в социальных системах больших результатов достигает не чистый наблюдатель, а чистый деятель (если есть и то, и другое - то результат конечно будет лучше). Если запустить процесс, то им можно в процессе как-то управлять, а если попытаться семь раз отмерить (а потом перепроверить каждое измерение по семь раз), то можно и умереть с линейкой в руках. Человеческие инстинкты более-менее позволяют справляться с такими ситуациями, но для осознанного взаимодействия как раз нужно системное понимание.

Так же, на системном уровне более-менее решена задача трансляции моделей. Модель воспринимается не как оно устроено на самом деле, а как некоторый пульт к черному ящику. Системные свойства складываются из взаимодействий внутри ящика, и фильтров восприятия наблюдателя.

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

( Подробнее)
Парадигмы

Ну про этот уровень, я ничего писать не буду. У М. Коммонса он описан достаточно мутно, и как-то не хочется фантазировать. В других источниках тоже есть описания, но особой ясности не добавляют. В чем именно заключается этот уровень будет понятно после исчерпания потенциала уровня систем.

И у меня нет уверенности, что следующим уровнем будут именно парадигмы, как-то не видно, что там можно сделать то, что нельзя на уровне систем. Насколько я помню, тот же Кун, описывал изменения в парадигмах, как изменения уровня моделей, вызванные системными факторами.
Некоторые Замечания
Последовательность Развития

Из описаний стадий, наверное, понятно, что прыгать через стадии нельзя. Так как каждая следующая стадия опирается на предыдущие. В процессе деятельности происходит некоторая трансляция из инструментов высокого уровня в объекты и шаги. Так метаправила развёртываются в правила, правила в рецепты, а рецепты в шаги. У людей это происходит в сознании и подсознании, а в языках программирования этим занимается компилятор вплоть до уровня рецептов (машинный код), а потом процессор уже транслирует в уровень шагов (отдельные инструкции).

Если человек не знает, что и как называется (объекты и шаги), то попытки строить иерархии и использовать правила несколько преждевременны. И не случайно на экзаменах так любят спрашивать определения. Если человек их не знает, то все остальное не имеет смысла.

Освоение может формально начаться с более высокого уровня, но тогда инструмент более высокого уровня не будет освоен, пока не будут достаточно освоены поддерживающие инструменты более низкого уровня. Более того, инструменты более низкого уровня должны требовать затрат внимания (то есть стать навыками), так как каждый одновременно используемый инструмент требует затрат внимания, а внимание ограничено (7±2). К этой теме я еще вернусь, когда буду описывать теории Л. С. Выготского.
Фрактальность Развития

В этой концепции развития заложена определенная фрактальность. Использование инструментов сознания в какой-либо области, само по себе является отдельной областью. И соответственно, у этого есть свои стадии внедрения.

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

Уже выложены статьи на темы:

«Когда-нибудь потом», я собираюсь также написать:
  • Сравнение с моделью ТУАИ

философское, много букв, развитие 2.0, психология

Previous post Next post
Up