Вид, тип, род, сорт, категория, семейство, разновидность [для аналитиков и программистов]
Прежде чем начинать изложение по заявленной теме, укажу, что под объектом я буду иметь ввиду любой предмет, любое явление из реальности, то есть объект - это отражение в нашем сознании чего-то из реальности: физической или виртуальной. Это очень близко к понятию "феномен" по Канту. Реальность и предметы реальности не являются абсолютно познаваемыми (они есть ноумены по Канту). Благодаря нашим органам чувств и когнитивным способностям мы вычленяем предметы из реальности путем наделения их определенными качествами - так мы превращаем предметы в объекты, то есть объект - это наш способ договориться о том, что мы хотим различать и различаем в реальности, как атомарные единицы реальности. То есть сущность предмета остается непознаваемой (ноумен, эйдос) или более точно - подлежащей многим толкованиям; да и ладно. В тоже самое время сущность объекта - объективна, то есть одинаково понимается группой личностей в силу их договоренностей и одинаковой образованности. Я не думаю, что это сразу понятно, поэтому отсылаю пытливого читателя к трактату Витгенштейна. Для тех, кто не хотел бы пока погружаться в эти дебри, можно исходить из утверждения, что в данной статье объект и предмет являются синонимами, а их сущность - это наш способ или модель идентификации и обобщения таких предметов. Например, такие конкретные явления/предметы реальности, как Шарик и Барбос, имеют одну сущность: они собаки или там домашние животные. Однако же если вы встретите их ночью в лесу с ружьем в руках, то их сущность изменится и они станут "законной добычей охотника".
Если вам показалось это сложным, то прочитайте, от чего я хочу вас уберечь - аналитический язык Джона Уилкинса.
Отдельно хотелось бы отметить о наличии объектов ментальной реальности таких как требования, ограничения, цели, задачи и т.п. - эти ментальные порождения ума часто называют абстракциями, что не верно и вредно для моего изложения. Ментальная реальность - это наши мысли. Но будучи вербализированными, эти порождения ума становятся устойчивыми объектами ментальной или когнитивной природы.
Итак, вид, тип, род, сорт, категория, семейство, разновидность ... - все это одно и тоже или разное? Различение этих понятий совершенно не тривиально и в разных науках интерпретируется по разному. Я здесь не ставлю цель вывести единую формулу универсальной интерпретации (скорее всего, это невозможно, а может быть даже и никому не нужно). Моя цель - продемонстрировать полезное рассуждение для тех, кто моделирует информацию, проектирует или программирует новую систему или просто занимается аналитикой данных.
Добавим еще несколько слов к приведенному выше ряду. Вид, тип, род, сорт, категория, семейство, разновидность, таксон, разряд, образ, кластер, профиль, характер, фрейм, ячейка.
На первый взгляд приведенный мною ряд понятий может показаться набором синонимов. Обывательски это верно, но с профессиональной точки зрения, можно выделить 4 группы:
- вид, род, категория, семейство, отряд - набор понятий, имеющих целью указать на общность признаков, или сущность для группы объектов или единичного объекта.
- тип, сорт, разновидность, разряд, характер - набор понятий, имеющих целью указать на вариативность среди объектов одного (!) вида, рода, семейства... в общем, внутри того, что относится к одной (!) сущности.
- профиль, образ - набор понятий, вводящий усложненные (агрегатные) признаки вариативности. Если "тип" подчеркивает какой-то моно-признак объекта, например, "красное", "мягкое", "алюминиевое", "русский", то профиль или образ задает несколько признаков одновременно, например, истинный ариец: высокий, светлокожий, со светлыми волосами и узким лицом.
- ячейка, кластер, фрейм, таксон, класс - набор понятий, обозначающий отобранные в множество объекты, где объекты - это экземпляры реальности (физической реальности, ментальной или виртуальной).
Когда мы употребляем в речи слово "классификация", то как в определении понятия "классификация" будут связаны приведенные выше понятия? Вот так:
Набор объектов реальности, имеющих одну сущность (или другими словами - относящихся к одному виду), можно разделить по типам или профилям, что приведет к образованию ячеек. Совокупность таких ячеек и есть классификация. А если ячейки могут быть вложены друг в друга однозначно, то они образует таксономию или фреймворк (см. примеры фреймворков у TM FORUM: eTOM, SID, FF). Ячейки содержат объекты реальности (экземпляры вида). Совокупность всех экземпляров из всех ячеек образует множество объектов одного вида. Если соединить три-четыре таких множества по какому-то общему для них признаку, то мы получим род, состоящий из трех-четырех ячеек, каждая из которых эквивалентна виду.
В сторону: см. также мерон. Пока не пишем об этом. Чуть позже опишем, где в этом рассуждении место для мерономии.
Каково же назначение первых трех групп: 1)вид... 2)тип... 3)профиль...? Таких предназначений два:
- классифицировать частное (индивидуальное, конкретное) через обобщающее (общее). Например, вид "Лошадь" - наименьшая единица обобщения. Ниже - только конкретный Буцефал. Выше обобщать можно: лошадь относится к роду четвероногих животных, принадлежит к еще более широкому супер-роду млекопитающих или еще более широкому - живых существ. Обобщение строится по каким-то признакам, свойствам, характеристикам путем их усечения. Таким образом, род "четвероногие" будет более обобщающим, а "парнокопытные" - менее обобщающим. Но конкретное - это только Буцефал. Но кто он такой можно понять только путем указания на вид "лошадь".
- производство контекстов или абстрактных высказываний путем комбинации видов и типов, причем не описывая явно признаков общности: типичная реакция, типичный американец, типичная дача, типичный городишко и т.п. Во всех случаях типичности на самом деле подразумевается некий неявно заданный профиль типичности. Любая общность может быть устойчиво и одинаково именованной, например, автомобиль как тип транспортного средства, иммигрант как тип гражданина, фрукт как тип продуктов питания, ларек как тип торговой точки. Это и есть настоящие абстракции. И мы часто ведем разговоры, состоящие сплошь и рядом лишь из одних абстракций. Например, фраза "молодая женщина купила фрукты в ларьке" состоит исключительно из абстракций: кто была эта женщина? что это за ларек? какие именно фрукты она купила? - ничего конкретного мы не можем понять. Хотя в силу нашей образованности смысл высказывания понятен.
Врезка.
Весьма полезно сейчас открыть интернет и посмотреть, какие определения понятий ВИД, РОД, ТИП, КАТЕГОРИЯ дает нам всемирная сеть. Мои полезные находки:
- вид может переводиться как species, а латинское species на греческий язык иногда переводят как эйдос - платоновский термин для обозначения идеального или есть еще один примечательный перевод, где species - это форма. Здесь под формой следует понимать греческое значение формы, то есть нечто, что в комбинации с субстанцией образует предмет. Стоит обратить внимание, что ВИД обычно трактуется как наименьшая единица обобщения.
- род - всегда более общее, чем вид. Это было заложено еще Платоном и Аристотелем. Тянется до сих пор.
- род по английски есть genos - очевидно, здесь кроется происхождение слова ГЕН, где ген - прототип некой части живого организма.
- тип - попытка выразить подмножество через нечеткий, явно не заданный, но казалось бы всем очевидный паттерн выделения/соотнесения. Например, тип характера - весельчак, лентяй, демагог. Тип фильма - популярный, кассовый. Тип времени - беспокойное. Характер города - мещанский, бандитский, "культурная столица". Американец, как поется в одной песенке: виски, сода, рок-н-ролл - не очень четко, но совершенно понятно, каким образом была попытка выделить типаж.
Конец врезки.
Ниже я дам своё понимание на тему, почему вид, тип, род не являются синонимами. Или скажу иначе: какие есть основания или потребности не считать их синонимами. А пока укажу на ключевое различие первых трех групп терминов (вид-тип-профиль) от четвертой группы (ячейки):
Когда мы рассуждаем о видах-типах-профилях (первые три группы) нужно отличать их от ячеек (группа 4: множества, кластеры, классы, таксоны, фреймы). Такое различие есть и оно очевидно. Множество - это способ указать на совокупность каких-то отобранных из реальности объектов (конкретных предметов или явлений, или даже высказываний). Конкретные объекты отбираются в множество по какому-то набору характеристик или свойств, характерных для всех отобранных объектов. Этот набор свойств (характеристик, признаков, связей) есть то, что образует сущность и ее вариации. Следует заметить, что этой сущности при формировании множества может и не быть. В некотором смысле это означает бессмысленность созданного множества. Если такая бессмысленность присутствует, то скорее всего такое множество не будет представлять интереса. Чаще всего мы формируем множество как раз по той причине, что с отобранными объектами (элементами множества) можно производить какие-то общие для них операции. Например, молоток, пакет молока, лампочка, ковер - казалось бы не имеют ничего общего, но если признать, что все они есть товары (их сущность - объекты для продажи)- то общим у них является возможность "назначить им цену", "расположить их на полке", "положить их в корзину".
Итак, обратимся к нашей основной задаче - конструирование класса (в смысле класса ООП или ООД). Класс - это и прототип, и множество экземпляров класса (коллекция объектов), созданных на базе прототипа. В основе класса, как прототипа, лежит понятие сущности (спека сущности). Об этом написано здесь >>> заметки на тему, как выделить сущность. Cущность имеет спеку, в эту спеку входят:
- присущие свойства/атрибуты (более точно это мета-атрибуты, так как и сама сущность - это мета-понятие).
- акцидентные свойства/атрибуты (более точно это мета-атрибуты, так как и сама сущность - это мета-понятие).
- состояния сущности (могут быть мета-атрибутами или справочником)
- связи сущности (где связи - это определенные отношения с другими сущностями, здесь уместно задуматься над аспектами и ипостасями, но как-нибудь потом).
Важно то, что свойства/состояния/связи из спеки [сущности класса] образуют основу для разделения объектов реальности на типы, сорта, разновидности, разряды. Еще раз подчеркну, что определенные свойства, состояния и связи можно считать присущими или неотъемлемыми от сущности, а какие-то опциональными (акцидентными). Это различие на тему присущее/акцидентное важно, так как оно позволит нам понять чем родовое-видовое-типовое принципиально отличаются друг от друга: см. рисунок, где кажется удалось продемонстрировать эту разницу.

Вид - наименьшая единица сущностного анализа. Вид строго "указывает" или, точнее, полностью определяет сущность объекта. Можно даже сказать, что вид и есть сущность или ее сигнификат. То есть когда мы говорим, что Буцефал - это лошадь, мы соотносим наблюдаемое конкретное животное с видом ЛОШАДЬ и Буцефал обретает свое четкое место в нашем ментальном мире (Буцефал объективизируется). Возможно сам Буцефал не считает себя лошадью (не относит себя к виду лошадей), а Александр Македонский мог бы назвать его другом (то есть отнести Буцефала к виду друзей). Понятие вида соответствует понятию прототипа (можно также сказать, что вид = спека сущности), а прототип в свою очередь есть конструктор (спека) класса.
Род. В основе рода лежит некое подмножество характеристик (атрибутов), присущих для ВИДа. Некий супер-супер-род может содержать только одну сущностную характеристику (атрибут) вида. Род можно делить на подроды до тех пор, пока мы, сужая РОД путем добавления к нему сущностных характеристик, не дойдем до предельного (максимального) количества этих самых сущностных характеристик и этот предел называется ВИД. Однокопытные - это род (более точно - отряд), в который входит вид Лошадь, как вид. Можно также сказать, что экстенсионал всех родов, подродов и видов будет равен экстенсионалу супер-рода.
Тип. Отличие ТИПа от РОДа состоит в том, что в ТИП подмешиваются акцидентные свойства сущности. Если Род - это более общее по отношению к виду, то тип - частный случай вида. То есть можно сказать, что тип = подвид. Тип также может содержать супер-типы и подтипы. Гнедая - это тип. К типам (на примере лошадей) можно отнести упряжные, верховые, вьючные.
Вследствие разделения объектов на основании их характеристик на типы и рода, формируются группы объектов в виде ячеек, таксонов, кластеров или фреймов.
Когда мы зафиксировали набор характеристик (свойств) для определенного вида, рода или типа, мы отбираем под них подходящие экземпляры предметов из реальности (объекты). Совокупность этих экземпляров образует множество, а в программировании - класс или более точно "коллекция экземпляров класса" . Идеальная ситуация, если класс соответствует виду. Множество объектов, входящих в класс, можно разделить на подмножества, обычно мы их называем по-простому - группы (в том числе подгруппы и как следствие - супергруппы) или чаще мы их называем выборки объектов [по той причине, что группа формируется путем отбора или фильтрации].
Зачем объекты (экземпляры класса) делить на какие-то подмножества? Есть разные основания или следствия:
- Такое деление есть просто побочный эффект от того факта, что свойства/состояния/связи определены через конечные наборы значений, а значит по этим значениям можно вести группировку, сортировку или фильтрацию экземпляров класса. Так например, продавец магазина может установить фильтр на отбор в классе ОБУВЬ в значение "женская", если перед ним стоит покупатель-женщина.
- Если экземпляров в классе много (обычно так и есть, если сущность класса весьма широка, например, живое существо), то непременно возникают задачи сужения этого множества или разделения его на подмножества, потому что каждое подмножество может требовать определенного порядка его обработки в программном коде. Так, если в одном классе, например, классе "СОТРУДНИК", объединены женщины и мужчины, то поле "девичья фамилия" для мужчины заполнять не нужно, а для женщины не очень актуально поле "военнообязанный". Точно также будут спроектированы разные методы начисления зарплаты для сотрудников, имеющих признак "штатный" или "совместитель".
- Задача разделения экземпляров класса на подмножества может преследовать цели навигации и систематизации экземпляров класса. Это могут быть какие-то таксономии, которые чаще всего создаются по акцидентным или темпоральным признакам. Например, отнесение фильма к категории 18+ или ЛГБТ тематике. Или разделение процессов на основные, обеспечивающие и процессы развития. Или выделение процессов уровня 1, 2, 3... 7. Или отнесение продукта/лекарства к товарам первой необходимости, дефицитным, социальным и т.п..
Разделение класса на ячейки или подклассы может быть динамическим, как описано выше, но может быть и статическим. Статическое распределение выполняется путем ассоциирования экземпляров класса со справочником или классификатором.
Попытаемся подвести какую-то основу под выделение классификационных ячеек для класса (таксонов, кластеров, фреймов, подклассов), чтобы конструирование этих ячеек происходило более осознанно:
- в основе классифицирующей ячейки может стоять одно свойство, один статус или одна связь, имеющиеся у сущности. Например, живой организм. Здесь есть только одно свойство: быть живым.
- если в основе классифицирующей ячейки стоит более одного свойства, статуса или связи или любая их комбинация, то такая ячейка будет менее абстрактной (или, выразимся оппозитно - более конкретной). А значит наличие четырех признаков для ячейки порождает менее абстрактную (более детальную) ячейку, чем та, у которой этих признаков 3, 2 или 1.
- обычно на плохую практику систематизации указывает использование в одном проектируемом классе разных слов: тип, подвид, разряд, категория. Лучше делать так: тип №1, тип №2, тип №3 или категория №1, категория №2, категория №3 - такое аналитическое построение обычно называют таксономия или фреймирование.
- для начала выделения ячеек следует использовать категории в том смысле, как их преподнес нам Аристотель: категория принадлежности, количества, времени, пространства, действия или претерпевания. За категориями Аристотеля стоят виды предикатов сущности, их конечно же может быть гораздо больше, чем 10. К концу 19 века философы насчитывали уже более 200 предикатов.
- если у экземпляров спроектированного класса будет много "дырок" (незаполненных атрибутов или связей), то следует перепродумать сущность класса. Возможно мы спроектировали его слишком широко или общё.
- самое сложное для понимания - это то, что любая ячейка, даже самая абстрактная, может стать прототипом сущности, что потребует ее отдельную дефиницию (определение). Например, мы говорим, что Шарик - это домашнее животное. Домашнее животное - это широкий класс (род), но в ряде случаев этого достаточно, чтобы остановиться и не опускаться ниже, указывая, что Шарик - это узкий класс, то есть собака.
Стоит обратить внимание, что абстрактное-конкретное следует применять в большей степени именно к родам, типам, категориям и т.п., а не к видам или сущностям. Так как сами сущности не должны быть абстрактными. В этом смысле иногда сложно различать определенные слова, относятся ли они к сущностям или к типам/родам/категориям. Например:
- мебель - это скорее род/мегакласс объектов, к которым относятся предметы интерьера (все предметы интерьера образуют мега-мегакласс).
- кресло - это скорее всего наименьшая ячейка классификации, т.е. вид мебели, предназначенный для комфортного сидения. Можно считать сущностью.
- кресло-реклайнер или кресло-качалка - это тип (иногда говорят - подвид) внутри вида "кресло". То есть это классификационная ячейка, выделенная по определенному функциональному свойству, которое может проявляться у кресел.
- кресло на хромированных колесиках с красной обивкой и кожаными вставками с инвентарным номером 455 - это уже конкретный экземпляр сущности/класса (то есть объект), так как здесь явно указаны определенные значения его свойств.
Итоговая картинка:

Взаимосвязь терминов, упоминаемых в моей статье, изображена ниже (согласно версии глоссария ИПУ РАН (Институт Проблем Управления)). На схеме зеленым цветом и красными линиями отображено то, что наиболее релевантно к данной статье.

Схема терминов ИПУ РАН доступна в СиММА, начиная с версии 2.6, включая формулировки самих терминов. Вы можете достраивать ее внутрифирменными глоссами, изменять базовые определения или наследовать от них новые согласно терминологии, устоявшейся на вашем предприятии.
Полезные статьи для продолжения чтения по теме:


