Делюсь этой коллизией, потому что она имеет методическое значение для тех, кто занимается моделированием предметных областей.
Множество
В математике есть определение множества. Множество — это многое, мыслимое как целое. Под целым понимается то, что множество мы считаем одним объектом учета. Этот объект учета имеет иной смысл, нежели индивидуальный объект. Мы можем воспринимать объекты индивидуально – один способ организации нашего восприятия, а можем воспринимать группы объектов – другой способ. Первый способ позволяет нам проводить операции над группами: складывать их, вычитать, находить общие части.
Атрибутом множества будет, например, количество его элементов.
Процесс синтеза
В философии есть понятие синтеза. Это обозначение смены перспективы нашего восприятия. Мы можем воспринимать множество объектов, а затем на основе этого множества сделать синтез этих объектов и породить объект большего масштаба. Другими словами, сделать композицию.
Отличие множества от процесса синтеза
Попросим математика привести пример множества и его синтеза. Математик может предложить рассмотреть множество точек на отрезке. Он будет мыслить это множество как целое не в смысле того, что точки на отрезке образуют отрезок, а в смысле того, что группа точек одна. С этой группой он может сделать операцию объединения с другой группой точек, лежащих на окружности и получить одну большую группу точек. Он также может провести синтез точек, лежащих на одном отрезке, и получить отрезок. Мышление группы точек как целого не есть синтез этой группы в объект.
Атрибутом отрезка будет, например, его длина
Определение системы
Теперь обратимся к определению системы:
Система — множество элементов, находящихся в отношениях и связях друг с другом, которое образует определенную целостность, единство.
Атрибутом системы будет, например, количество ее элементов.
Описание коллизии
В определении системы есть двусмысленность, которую авторы системной инженерии не распознали. Под словами «образует определенную целостность» надо понимать – мыслимое как одно, а не операцию синтеза. То есть, система — это группа объектов, а не объекты группы, и над системами мы можем проводить те же операции, которые мы проводим над множествами: сложение, вычитание, пересечение.
Над системой можно провести операцию синтеза и получить объект. Но полученный в результате синтеза объект, не есть система, потому что он уже не есть множество объектов.
Атрибутом полученного в результате синтеза объекта может быть, например, цвет объекта.
Понятно, что цвет не может быть у системы.
Но, похоже, что в системной инженерии не различают понятия объекта и системы. Все благодаря тому, что не разделяют способ восприятия множества объектов как целого и процесс синтеза объекта на основе его конструкции.
Если бы системные инженеры сделали бы правильные выводы, то они признала бы, что то, что они называют системой, имеет синоним – конструкция. И, что система, что конструкция – суть одно и то же.
Масла в огонь подливает наш язык. В нем нет способа разделить две точки зрения: взгляд на конструкцию и взгляд на объект имеют одно имя. Об этом я писал ранее в статье Понятие системы и конструкции. Их место в проектировании информационных систем
Но чего я не предполагал, когда писал эту статью, так это то, что в системной инженерии не различают систему и объект, полученный на основе ее синтеза.
В итоге, я вижу, что целый пласт важных знаний утек из системной инженерии. О возможностях, которые в итоге были потеряны, я рассказал в статье Моделирование конструкций. Требования к моделлеру
Комментарии (45)
maxstroy Автор
16.11.2017 07:32Вы смешиваете систему и просто множество, и как мне кажется делаете из этого ложные выводы
Я не нашел в определении системы ничего кроме множества объектов и связей (связи — тоже объекты).Dr_Dash
16.11.2017 07:37Это определение всё таки, по моему скромному мнению, принципиально отличается от Вашего, потому, что в корне меняет дальнейший ход рассуждений
maxstroy Автор
16.11.2017 07:41Я прочитал определение системы — это множество объектов, связей, образующих единое. Но это — множество, а не объект! Иначе было бы сказано: система — это объект. Есть множества и есть объекты. Это два разных фундаментально отличных типа объектов учета. Свойства у них совершенно разные
Dr_Dash
16.11.2017 07:50Потребность в использовании термина «система» возникает в тех случаях, когда нужно подчеркнуть, что что-то является большим, сложным, не полностью сразу понятным, при этом целым, единым. В отличие от понятий «множество», «совокупность» понятие системы подчёркивает упорядоченность, целостность, наличие закономерностей построения, функционирования и развития
целостность — ничего Вам не говорит?
И что Вы ответите на мой пример: компьютер, но в качестве объекта логистики, он просто ящик в картонной коробке, бъющееся. А в качестве неработающего аппарата в ремонте он рассматривается как система из БП, материнки, винта и т.д.maxstroy Автор
16.11.2017 07:52Системные инженеры путают целостный взгляд на группу объектов с процессом синтеза объекта
maxstroy Автор
16.11.2017 07:59Как вы сказали про комп — есть много разных описаний одного пространства. Для кого-то нет компа, но есть предмет святого поклонения, наполненный святым духом. Это разные точки зрения на одно и то же сущее. Это сущее можно разобрать на элементы разным, бесчисленным количеством способов. Описание каждого такого способа — это конструкция.
michael_vostrikov
16.11.2017 21:54Но это — множество, а не объект! Иначе было бы сказано: система — это объект.
Объект слева в определении, его устройство и правила отнесения справа.
napa3um
16.11.2017 10:30«Связи — тоже объекты» — это если вы переходите к реализации объектной модели исследуемой (симулируемой) системы, и эти объекты будут объектами относительно языка описания этой модели, а не «вообще». Вы в течение всего цикла ваших статей упорно изобретаете свою метафизику, определяя некие абсолютно существующие идеалистичные сущности, из которых якобы состоит всё остальное (материальное и нематериальное, мыслимое и немыслимое), и при этом говорите, что являетесь противником платонизма (ошибочно приписывая его, однако, Аристотелю). У вас, как говорится, «ООП головного мозга». ООП сам по себе, конечно, не плох, прост абсолютизировать систему классов и объектов не стоит до самых основ мироздания, Единую Абсолютную Универсальную Онтологию, подходящую для любых задач, построить невозможно (даже впечатляющее вас понятие множества, которое, казалось бы, способно уместить всё что угодно, служит для умещения этого чего угодно для конкретных целей, а не просто «потому что могу», отождествляя понятие «объект» с понятием «элемент множества», а понятие «система» с понятием «множество»).
lair
16.11.2017 11:54Связи — объекты иного типа, нежели то, что они связывают. С точки зрения множества, объекты трактуются как однотипные.
maxstroy Автор
16.11.2017 07:35Если затруднительно описать взаимодействие единого целого объекта и внешнего мира — тогда речь идёт о совокупности частей системы.
нет, речь идет о частях системы, а не о совокупности частей. Каждая часть системы может быть описана, в том числе ее взаимодействие с внешним миром. Это описание конструкции. Но вот описать взаимодействие совокупности уже нельзя. Совокупность(множество) не может взаимодействовать.Dr_Dash
16.11.2017 07:45Вот об этом я и пишу — предельно упростив понятие системы, и фактически сведя его к понятию множества, Вы выплёскиваете с водой ребёнка, и отсюда появляются утверждения
Каждая часть системы может быть описана, в том числе ее взаимодействие с внешним миром. Это описание конструкции.
Это описание системы, пройдите по ссылке, почитайте внимательно, Вы пытаетесь придумать новые определения для уже определённых понятий, причём изначально делаете это на основе «чтобы рассчитать движение капли воды в воздушной среде, рассмотрим одномерную каплю воды»maxstroy Автор
16.11.2017 08:01Я строю логически непротиворечивые выводы. Хотите опровергнуть начните с аксиоматики и постройте выводы. Тогда увидите, что аксиоматика в системной инженерии противоречива в самой ее основе, где группе объектов приписаны свойства объекта.
aamonster
16.11.2017 07:42Я смотрю, "определение" множества из математики вы не прочитали. Не осуждаю, оно вам всё равно не понравится (гуглить zfc).
Но, увы, такая пугающая аксиоматика имеет серьёзные предпосылки (гуглить парадокс Рассела).maxstroy Автор
16.11.2017 07:45Я дал Канторовское определение из наивной теории множеств. Вы имеете ввиду определение класса, отличное от наивной теории множеств. В рамках данной статьи это не имеет смысла. Поэтому есть два термина: класс и множество. Класс ссылается на определение Цермелло, а множество — на определение, данное Кантором. Термин класс относится к теории множеств, а множество — к наивной теории множеств.
aamonster
16.11.2017 10:19Так смысл подкапываться под определение из наивной теории множеств, если её Рассел ещё в 1901 похоронил? Нет смысла искать бомбу там, где она не то что есть — уже взорвалась и всех убила.
Или вы не знаете этого старого математического прикола — что из ложного утверждения следует что угодно?maxstroy Автор
16.11.2017 10:33Где в наших утверждениях вы видите проблему Рассела?
aamonster
16.11.2017 10:53Ещё раз. Вы взяли за основу для своей работы заведомо сломанное определение множества. Что вы из него выведете — уже неважно, у вас в исходных данных сразу ошибка.
maxstroy Автор
16.11.2017 10:56ВЫ ошибаетесь, потому что наивная теория множеств работает на широком круге задач. Мы не выходим за этот круг, или вы докажете обратное?
haoNoQ
16.11.2017 13:37Класс ссылается на определение Цермелло, а множество — на определение, данное Кантором. Термин класс относится к теории множеств, а множество — к наивной теории множеств.
В ZFC нет никаких классов, классы есть например в NBG, а в наивной теории множеств эти понятия считаются одним и тем же. Вы очень сильно путаетесь в этой теме.
lair
16.11.2017 11:36При обсуждении терминов, используемых в системной инженерии,
Простите, а по какому источнику вы приводите термины, используемые в "системной инженерии", и почему вы считаете этот источник верным и применимым?
lair
16.11.2017 11:52В философии есть понятие синтеза. Это обозначение смены перспективы нашего восприятия.
По какому именно направлению философии вы приводите это "понятие"? Первое же найденное мной определение гласит: "Си?нтез — процесс соединения или объединения ранее разрозненных вещей или понятий в целое или набор."
Мышление группы точек как целого не есть синтез этой группы в объект.
Почему же? Строго согласно определению выше, мы объединили ранее разрозненные "вещи" (точки) в набор. Синтез.
Под словами «образует определенную целостность» надо понимать – мыслимое как одно, а не операцию синтеза.
Почему же? Аналогично примеру выше, приведенное определение синтеза прекрасно подходит к системе.
То есть, система — это группа объектов, а не объекты группы, и над системами мы можем проводить те же операции, которые мы проводим над множествами: сложение, вычитание, пересечение.
Операция сложения на множествах — моноид. Операция сложения над системами — нет (человек — система, теоретически, двух людей можно "сложить", но вы не получите человека, вы получите пару людей, это система другого "типа". Более того, нейтрального элемента для этой операции тоже нет). Из этого вытекает, что приравнивать операции над системами к операциям над множествами нельзя, у них разные свойства.
Над системой можно провести операцию синтеза и получить объект.
Исходя из аргументации выше — нельзя, потому что система — уже результат синтеза.
Атрибутом полученного в результате синтеза объекта может быть, например, цвет объекта. Понятно, что цвет не может быть у системы.
Не у каждого объекта есть цвет, так что этот аргумент ничего не демонстрирует. Для контраста, атрибут "продолжительность" есть как у элемента (ноты), так и у системы (музыкального произведения).
Но, похоже, что в системной инженерии не различают понятия объекта и системы.
Из чего вы делаете такой вывод?
(Другое дело, что я склонен считать, что любая система есть объект, но не любой объект есть система; это позволяет делать вложенные системы. Но я не знаток формальной системной инженерии, я так, мимо проходил.)
Если бы системные инженеры сделали бы правильные выводы,
Как вы определяете "правильность" выводов в отсутствии принятой всеми сторонами дискуссии общей аксиоматики?
third112
16.11.2017 12:37С точки зрения математики очень странное противопоставление понятий: множество, объект, система. В математике могу сказать «множество объектов», «множество систем линейных уравнений» и т.д., и ни один математик меня не осудит.
maxstroy Автор
16.11.2017 13:56-2множество равно система. Но это тайна!
lair
16.11.2017 14:03множество равно система.
В какой системе определений?
maxstroy Автор
16.11.2017 14:06-1какие системы вам известны, чтобы выбрать подходящую?
lair
16.11.2017 14:08Вы делали свое утверждение до моего появления, следовательно, оно должно быть верным безотносительно того, какие системы определений известны мне.
Так в какой же?
maxstroy Автор
16.11.2017 14:23-1Я не знаю никаких. Думал, что вы знаете
lair
16.11.2017 14:31То есть вы не знаете никаких систем определений, но при этом беретесь рассуждать об определениях? Вне системы?
Я же уже задавал этот вопрос (неоднократно). Вот вы в статье пишете "обратимся к определению системы" — но не говорите, откуда вы взяли это определение. А ведь определение существует в рамках системы (или bounded context, если угодно).
maxstroy Автор
16.11.2017 14:37-1Я дал определение из философского словаря. Оно настолько общепринятое, что в комментариях не нуждается)
lair
16.11.2017 14:48Оно настолько общепринятое
На основании чего вы это утверждаете? Почему вы считаете, что в "системной инженерии" принято то же самое определение?
В частности, SEBoK предлагает использовать термин "engineered system", и говорит, что systems engineering под "системой" понимает именно "engineered system", которой дается (в частности), следующее определение:
An engineering system is a complex socio-technical system that is designed, developed, and actively managed by humans in order to deliver value to stakeholders.
В свою очередь, общему понятию "система" SE дает следующее определение:
combination of interacting elements organized to achieve one or more stated purposes
(это, кстати, расширенная версия определения из ISO/IEC/IEEE 2015)
Почему из двух определений по ссылке я взял второе? Потому что там же написано, что именно это определение "is the recognized definition for systems engineers".
Ну и до кучи полное обсуждение: What is a System?.
Как можно видеть, понятие системы, которым оперирует SEBoK (а это один из авторитетных источников в системной инженерии), отличается от того, которое привели вы (хотя вы утверждаете, что оно общепринятое).
third112
16.11.2017 16:20Тайна = мировой заговор марсиан?
Есть способ специально и нарочно отвечать невпопад… Я, наверное, тупой, поэтому мне показалось, что смысла этой и других цитированных статей уважаемого автора мне не понять, как и его ответов на мои примитивные вопросы. Что поделать — не всем дано понимание Системной Инженерии :(
kiralymirik
19.11.2017 09:18+1Системы определений, объекты, система, множество — из того, что я знаю, все эти слова вносятся в качестве изначальных, аксиоматических сущностей для дальнейших рассуждений над ними.
Спасибо за Ваши рассуждения! Они мне помогли разобраться и значительно дальше продвинуться в изучении системы типов Мартина-Лёфа, ученика Колмогорова.
В наше время слова и рассуждения действительно мало что значат. Старайтесь формализовывать ваши рассуждения посредством COQ или AGDA с комментариями.
Тогда ни один комментатор не сможет подкапаться.maxstroy Автор
19.11.2017 11:31-1Да, интересно, почитал. Но у нас в моделировании основная задача — моделирование разных точек зрения. Модели именно этим отличаются друг от друга. И маппинг между ними. Математики не работают со множественными мирами, хотя… все зависит от аксиоматики, придуманной нами же. Надо попробовать, но времени сейчас нет. Можно объединить усилия.
evkochurov
20.11.2017 08:15Боюсь, в данном случае это нереалистичное предложение.
Очевидно строгие для человека шаги доказательств для машины иногда требуют невероятно сложных построений. Вот пример, что получилось, когда на AGDA записали основы алгебры (буквально по учебнику):
psta.psiras.ru/read/psta2015_4_313-340.pdf
psta.psiras.ru/read/psta2017_1_3-46.pdf
Это работа потребовала несколько лет у квалифицированного ученого и программиста.
Конструктивные теории множеств в последние годы начали появляться, но что-то мне подсказывает, что записать их на COQ или AGDA будет сильно сложнее, чем в случае с основами алгебры.
Чтобы воспользоваться советом, проще избавиться от вносящей избыточную вычислительную сложность надстройки (теории множеств) и моделировать непосредственно в конструктивных логиках (или хотя бы для начала в классической). Это уже предлагали maxstroy, предложение было проигнорировано.kiralymirik
20.11.2017 10:40Благодарю за данные статьи.
Описанию теории множеств посвящены 3 и 10 главы книги Гомотопическая теория типов. Из того, что я смог разобрать, особых проблем описать теорию множеств с помощью языка гомотопической теории типов возможно.
С отказом от теорий множеств я полностью согласен. Все они устарели вместе с появлением вычислительной техники и теорий автоматических доказательств.
COQ и AGDA… да, я погорячился. Ведь давно известно, что лучше всего выстраивать свои DSL ( задачеспецифичные языки программирования), чем пользоваться чем-то всеоблемлющим.
Для размышления, порой, достаточно накидать схему классов аля UML.
Я за наглядность. Код воспроизводится вне зависимости от человека и физики. Тем более, что в промышленных языках программирования существуют способы однозначно избегать неоднозначности трактовки слов и терминов. Coq или AGDA являются просто «самыми мощными».
Очень упрощённый и совершенно неправильный пример:public abstract class Система implements Множество<E extends СвязанныеДругСДругомОбъекты> { int КоличествоОбъектов(); } public interface Множество<T> extends Set<T>{ int КоличествоОбъектов(); }
Dr_Dash
Заглянем в Википедию
Вы смешиваете систему и просто множество, и как мне кажется делаете из этого ложные выводы, потому что такое упрощение выплёскивает ребёнка вместе с водой, и делает бессмысленным само понятие система
Вы принципиально противопоставляете объект и систему, как нечто «исходное», над чем не произведён синтез, и конечный продукт — когда синтез завершён. Иными словами вы эти два понятия противопоставляете по «структурному» признаку: набор деталей и конструктор в сборе.
Но насколько я понимаю, система и объект не антонимы, и не разные «агрегатные состояния» а разные степени сложности описания объектов. То есть это относится не столько к структуре, сколько к модели взаимодействия с окружающим миром, Если можно обойтись только описанием взаимодействия единого целого объекта и внешнего мира — это объект. Если затруднительно описать взаимодействие единого целого объекта и внешнего мира — тогда речь идёт о совокупности частей системы. Но в первом случае объект может быть очень сложным, например компьютер, но в качестве объекта логистики, он просто ящик в картонной коробке, бъющееся. А в качестве неработающего аппарата в ремонте он рассматривается как система из БП, материнки, винта и т.д.
maxstroy Автор
Я привел пример атрибута — как одного из. Их может быть бесконечно много, Но, чего нет у синтезированного на основе системы объекта, так количества элементов системы. Потому что объект можно поделить на части разным способом. Поэтому синтез и затем анализ не обязательно приведут к той же конструкции. Поэтому система и синтезированный на ее основе объект — не одно и то же. У объекта может быть бесконечное количество конструкций. Так же синтезировать из множества элементов можно разные объекты. Отношение между классом объектов и классом конструкций — многие ко многим
Dr_Dash
Опять же возвращаюсь ко второй части комента. У вас получается сферическая система в вакууме, которую можно поделить или сложить, то есть вы эти два понятия противопоставляете по «структурному» признаку: набор деталей и конструктор в сборе. Но насколько я понимаю, система и объект не антонимы, и не разные «агрегатные состояния» а разные
степени сложностиспособы описания объектов.maxstroy Автор
Система не может быть описанием объекта, как вы говорите. Иначе получится, что множество точек — это описание отрезка.
Dr_Dash
демагогия