Теория теории и машинка типов
Мы уже понимаем, что описываем мы мир при помощи математических/идеальных/абстрактных/ментальных объектов, которые мы обозначаем какими-то знаками на носителях информации. Теперь надо разобраться с самими этими понятиями: какие они бывают?
Есть множество вариантов, как с этими понятиями разбираться, и мы уже упоминали разнообразие теорий понятий[1]:
- Классическая теория, где понятия вводятся через родо-видовые определения: «Человек — это двуногое животное без перьев». Увы, «определения — это гробик для умершей мысли», как любил повторять Георгий Петрович Щедровицкий. В современной литературе полно критики такого подхода (определения – это из мира языка, а не мира деятельности). Поэтому с этой теорией не работаем.
- Теория образцов: понятие — это типичный предмет какого-то класса, и все остальные предметы в чём-то на него похожи. Все фрукты чем-то похожи на яблоко (и меньше на сливу, это показано психологическими экспериментами). Хорошо работает, если типовой объект один, и это физический объект. Но это редкий случай.
- Теория прототипов: понятие выводится статистически как похожее на какие-то другие понятия-прототипы, хотя и не буквально похожее. Витгенштейн говорил, что «похожесть» тут типа «семейного сходства», когда все члены семьи разные, но всё-таки какая-то похожесть у них есть (и даже часто домашние питомцы в чём-то получаются похожими на своих хозяев). Тоже отлично работает в случае физического мира и простых ситуаций, когда класс достаточно широк, чтобы быть представленным каким-то одним образцом.
- Теоретическая теория (theory theory)[2]: понятия это какие-то объекты, связанные друг с другом какими-то отношениями. Свойства понятий определяются через отношения, а рассуждения с этими понятиями в явном виде задействуют эти отношения. Теории/модели/дисциплины как «решётки» (lattices) объектов[3], связанных отношениями (причём и отношения тоже тут объекты и тоже связаны отношениями) — вот что определяет понятия.
Какими теориями понятий пользоваться? Если вы работаете в нестрогой части спектра формальности рассуждений, то вам лучше всего подойдёт теория образцов или теория прототипов. В естественном языке много средств, хорошо согласующихся с этими теориями. Художественная образная речь, красочные описания работают с этими теориями, они хорошо поддерживаются мозгом, вычисляющим в быстром режиме S1 по Канеману.
Если речь идёт о менее подверженном ошибкам режиме медленного осознанного рассуждения S2, что требуется для работы на больших уровнях формальности, то мы должны пользоваться теоретической теорией понятий.
Мы говорим при этом, что в голове человека, который способен рассуждать осознанно, сможет работать «машинка типов»: он проводит рассуждения не с одиночными понятиями, а сразу с несколькими понятиями, часто не представленными в предъявляемых ему описаниях мира или явленных при восприятии мира, а берущимися из памяти. Каждому понятию приписывается его «тип», связанный отношением классификации с обсуждаемым понятием, и далее рассуждение проверяется на соответствие типу. В «машинке типов» мы сразу работаем с графами (решётками, иерархиями) отношений, а не с одиночными понятиями. Так что в мышлении при строгих рассуждениях мы прежде всего пользуемся теоретической теорией понятий, а не теорией образцов или прототипов.
Основная проблема теории теорий/«машинки типов» в том, что включать эту машинку типов, учить строгому мышлению с её использованием нужно специально. Большинство людей мыслят нестрого, они «гуманитарии», им не нужно следить за безошибочностью и воспроизводимостью своих рассуждений.
Как люди выживают без «машинки типов», которая повышает надёжность результатов рассуждений, заранее сигнализируя проблемы? Очень просто: у них большая насмотренность, наслушанность, начувствованность! Они работают в рамках понятизации, но у них отличная память, и они просто вспоминают, что они видели в похожих ситуациях раньше, когда в эти ситуации попадали или они сами, или другие живые люди, или даже герои мультфильмов, которые они смотрели в детстве. И они отвечают теми действиями, которые вспомнили. Это довольно эффективная стратегия! Это и есть «жизненный опыт», «здравый смысл»!
Проблема возникает тогда, когда ситуация реально новая и только внешне похожа на старую. Тогда нужно иметь догадки на тему, что в этой ситуации делать — и эти догадки нужно как-то проверять, рассуждать на эту тему, думать. Если работаем в S1, то «нечего думать, трясти надо!»[4].
При понимании вопросов типа «Сепулька — это зверь. Есть ли позвоночник у сепульки?» работает прежде всего машинка типов, медленное рассудочное осознанное формальное мышление S2, разбирающееся с типами понятий. Если вы знаете, что у зверей есть позвоночник, то указание для сепульки типа «зверь» вполне достаточно, чтобы сообразить — да, позвоночник у сепульки есть. Если вы в уме не отметили первую фразу как отнесение сепульки к типу, или просто это отнесение сепульки к типу не удержали во внимании до второй фразы в этом коротком тексте, то вы будете в недоумении — как отвечать про наличие или отсутствие позвоночника в абсолютно неизвестном объекте?!
Скажем, вам сообщили: «Лидер — это роль. Какая роль у лидера?». Если у вас нет в голове машинки типов, то вы начнёте что-то сочинять бытовое про лидера: что он ведёт за собой людей, что лидер должен быть образцом для действий других людей. Если машинка типов у вас в голове есть, то вы должны прийти в недоумение: «лидер — это роль». В этот момент лидер у вас помечен типом «роль». Следующая фраза — «какая роль у роли»? Ибо если лидер помечен у вас в сознании как роль, то вы удерживаете это и до второй фразы, и проверяете на соответствие типу. Вопрос «какая роль у роли» должен страшно напрячь, ибо его осмысленность мала. Машинка типов, которая встроена в голову, вскрывает множество нелепостей в тексте.
Чтобы обсуждать машинку типов, вам потребуется всё предыдущее содержание интеллект-стека: вы должны будете иметь достаточный набор понятий, чтобы черпать оттуда типизацию (понятизация), вы должны будете удерживать внимание (собранность), вы должны уметь как-то именовать понятия (семантика), вы должны понимать, как всё это представляется на разных носителях информации, как передаётся между вычислителями (теория информации). И дальше мы будем пытаться обсуждать уже не отдельные понятия, но их отношения.Основные отношения между понятиями
Сами объекты чаще всего выражаются существительными, это «сущности», нечто «сущее», существующее. Их миллионы и миллионы самых разных. А вот отношения между ними обычно отвечают за какую-то операцию взаимодействия, и чаще всего отношение выражается глаголом или отглагольным существительным, и основных типов отношений (relation/отношение между конкретными объектами, relationship/тип отношения между конкретными объектами) насчитывают порядка трех-пяти тысяч.
Традиционно сложные запутанные решётки понятий выражают при помощи логических высказываний тройками/triples «Объект1 Отношение Объект2» или даже (если обсуждается несколько предметных областей/domains) четвёрками «ПредметнаяОбласть Объект1 Отношение Объект2». На каждое отношение между двумя понятиями приходится одна такая тройка или четвёрка. Потолок — это часть комнаты. Объект1 = потолок, Отношение — композиции (часть-целое), Объект2 = комната.
Такое представление легко редактируется текстовым редактором (например, новые отношения и новые объекты вводятся просто приписыванием новых строк к уже имеющимся) и оно существенно выигрывает. Намётанный глаз легко извлекает из текста такие тройки. И если оказывается, что какое-то слово неправильного типа, то уже при чтении текста у человека возникает внутри ощущение какого-то «дребезга», неправильного употребления. «цена — это часть автомобиля». Может ли быть цена частью чего-то?! А если так: «Автомобиль продаётся тремя частями: салон, двигатель, цена». Цена — это часть автомобиля, или часть продажи автомобиля? Точно ли цена именно часть/деталь, а не свойство/характеристика? Это ощущение «дребезга»/кривосказанности нужно уметь замечать/осознавать, стабилизировать его вниманием — и затем обязательно выяснять, что же в понимаемом тексте является его причиной. Весь этот «дребезг» несёт дальше ошибки мышления, если его игнорировать. Неправильная типизация — это неправильные операции в рассуждениях с объектами и отношениями!
В теоретической теории понятий особый упор делают на четыре типа отношений между объектами:
- Классификация: отношение включения экземпляра/члена множества/члена класса в тип/множество/класс, «Вася из второго подъезда — человек». Есть и классификаторы — классы, состоящие из классов экземпляров. Множество, содержащее один элемент как член множества, это другой тип объектов, чем этот элемент — это множество из одного члена множества.
- Специализация — это отношение включения подтипа/подмножества/подкласса (набора, а не экземпляра!) в тип/множество/класс. Это отношение между множествами/классами/типами). «Рыжие – это люди с рыжими волосами». Классы по отношению специализации образуют иерархии/таксономии/деревья классификаторов.
- Композиция – это отношение между частями и целым в физических объектах. Все молекулы, входящие в часть входят в молекулы целого. «Хвост – это часть коровы». И тут тоже возможны иерархия по этому отношению (иногда её называют «холархией»).
- Реализация — это отношение совмещения ролевого/функционального объекта и физического объекта («молоток реализуется камнем», «программист реализуется Василием Пупкиным»).
Ещё из часто используемых можно указать на отношение «трансформировал» (изготовил, изменил): «Повар приготовил борщ», «парикмахер сделал причёску». Увы, это отношение не так часто рассматривается при изучении теории понятий, но его обязательно нужно изучать, и уметь строить иерархии и по нему тоже (хотя тут и можно спорить, называть ли направленные графы по этому отношению иерархиями, но дело не в названии, а в важности отслеживания длинных цепочек этих отношений.
Разбираться обо всём этом нужно, когда хочешь что-то рационально понимать, но вот когда хочешь что-то сообщить, то есть не читаешь, а пишешь — то разбираться с типами объектов и отношений в рамках теоретической теории понятий нужно ещё внимательней.
Если ты пишешь, что «система X — это система отношений между покупателями и продавцами», то нельзя через три строчки писать, что «система X — это софтверная платформа», а ещё через три строчки писать, что «система X — это проект по предоставлению сервиса». Проект/project как система отличается от той системы, которая создаётся в этом проекте. Платформа — это не система отношений. Если такое видишь в тексте, то чётко понимаешь, что в голове такое пишущего нет чёткого объекта в физическом мире, о котором пишутся все эти слова, а есть эдакое «облачко смыслов» (понятийный туман!), мысли блуждают далеко от какой-то физической реализации, написано что-то неосуществимое.
Супер-обобщения — это тоже ошибки по работе с типами. Этим чаще всего грешат айтишники — вместо какого-то объекта указывать его супер-супер-супер-тип, очень высоко стоящий в классификаторе, и считать, что дальше всё берётся операцией наследования свойств типа. Например, вместо «тигра» везде говорить про «зверя» — а потом удивляться, почему другие люди подставляют в разговоре вместо зверя свою «мышь» и когда поверившие им люди вдруг выдают фразу «мышь опасна для человека», им невдомёк, откуда она берётся, они ведь никогда такого не говорили!
Это выглядит смешно, но в одном из встречавшихся автору проектов в базе данных было много «оборудования» типа насосов, компрессоров, моторов. И это «оборудование» имело одной из характеристик «скорость вращения, обороты в минуту». А потом в базу данных занесли оборудование «люк», и для люка немедленно потребовалось указать его скорость вращения, обороты в минуту!
Частая ошибка при отсутствующей у человека в голове «машинки типов» — это невозможность отслеживать отношение часть-целое на хотя бы паре уровней. Путаются также разные способы разбиения на части: если ножницы разбить на режущий блок и ручки (функциональная композиция) и на половинку-половинку-винтик (конструктивная композиция), то путаются, какие части заказывать на заводе (конструктивные! Функциональные части не изготавливают!).
Размерности — это тоже про типы, люди легко складывают колбасу в штуках и яблоки в тоннах, но не спрашивайте, какой размерности будет результат. Дело не в том, что человек не понимает разницы между функциональными и конструктивными частями системы! Часто даже понимает, но удержаться от их перемешивания в голове он не может! Так же можно отлично понимать, что складывать колбасу в штуках и яблоки в тоннах нельзя, но удержаться от этого почему-то людям трудно.
Всему этому нужно учиться!
- [1] https://plato.stanford.edu/entries/concepts
- [2] https://iep.utm.edu/th-th-co
- [3] https://en.wikipedia.org/wiki/Formal_concept_analysis
- [4] https://4tob.ru/anekdots/2082
Источник: книга А. Левенчука «Образование для образованных 2021».