Обновить
50

Архитектура адаптивных систем

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

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

Допустим, мы имеем достаточные основания, чтобы утверждать о том, что у нас есть теория, определяющая все законы природы. Это автоматически порождает возможность моделирования (силы), на основе которой мы будем получать достоверные с физической точки зрения результаты. Но ответить на вопрос, почему я написал это предложение именно так, а не иначе, или почему условный человек делает такой выбор, а не иной, окажется уже невозможным из-за высокой степени энтропии.

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

Максимум, что мы можем — это в поиске корреляций и благодаря большой удачи за доступный интервал времени, даже зная все законы на 100%, это сформировать вид аттрактора, как форму фазового пространства системы, не более того. Это похоже на определение облака вероятностей для положения электрона и, на мой взгляд, очень близко понятию принципа неопределенности Гейзенберга в своей сущности.
Совершенно верно, моделирование как процесс не рождается само по себе, а является следствием заложенных правил, но существует, как ни странно, выбор, какие правила закладывать в основу моделирования: условно говоря, мы можем создать физический симулятор, в котором будут заложены законы немного отличные от наших, допустим, изменим базовое значение такому понятию как «заряд» для всех частиц, обладающих этим свойством, и мы быстро поймем, что такая конфигурация, скорее всего окажется нестабильной (в рамках симуляции). Именно поэтому предшествующим моделированию шагом является анализ как способ выделить закономерности на непрерывном потоке телеметрии.

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

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

Это полезно, потому что это формально, с той точки зрения, что не абстрактно, то есть проверяемо, научно по Попперу, компрометируемо. Но если это формально, то это имплементируемо. Если же это имплементируемо, то это воспроизводимо. Если воспроизводимо, то это технологично. Если это технологично, то это масштабируемо и автоматизируемо.
Я хочу передать мысль о том, что построение любой системы, будь то информационная система, обслуживающая интересы клиентов или будь то социальная структура, организация власти, медицинский учреждений или «кружков» по интересам — все это в основе своей имеет фундаментальное свойство «быть конкретной реализацией из...» (из потенциального множества вариантов).

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

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

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

На правах моего субъективного мнения, основанного на логических суждениях относительно феномена выбора, который я описал наукоемким термином, позаимствованным из квантовой механики, вместо десятков сложносочинных предложений из простых слов, я постарался передать идею о том, что сама мировая линия (как цепочка причинно-следственных событий в фазовом пространстве допустимых конфигураций при выборе) определяет структурное свойство любой конфигурации, которое можно описать как ортогональность самому фазовому пространству (то есть то что есть здесь и сейчас НЕ ТО, что могло бы быть, сделай мы иной выбор — и это порождает при определенном взгляде (именно катализирует или нивелирует) положение «дискриминирующее» стороннего наблюдателя, то есть такое положение будет всегда как следствие самого детерминизма.

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

Если еще более обще — то все что нас окружает, все что детерминировано (то есть существует в прошлом, относительно нас), — все это априори наделено понятием «ошибки», изъяном, в некотором роде «коррумпировано».

Понимаете примерно, о чем я пытаюсь сказать?
Вы затрагиваете очень интересную тему, выделяя термин «модель».

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

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

О моделях. Модель реальности (или любой ее части) не есть реальность. Я это понимаю. Где-то встречал выражение о том, что отражение Луны в воде не есть Луна.

Но есть небольшой нюанс в ваших рассуждениях, и тем самым, я, пожалуй, открою «ящик Пандоры». Считаете ли вы ваше представление модели (любой) реальной? Иными словами, реально ли для вас явление мысли, или вы отделяете это явление от того, что называете реальностью?
В своем потенциальном множестве вариантов — да, безусловно, ДНК постоянно претерпевает некоторые мутации, и по ряду исследований, насколько мне известно, мутации могут возникать на квантовом уровне, но реализуются не все конфигурации, а лишь одна из множества и в этом заключается основная мысль, коррелирующая с текстом статьи. При всем многообразии потенциалов, реализуется лишь определенный (в конкретном частном случае), но случаев много — пропорционально популяции, и тем не менее все они образуют дискретное множество на базе аналоговых мутаций, если можно так выразиться…

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

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

Иллюстрации нужны для отвлечения внимания, это небольшая пауза, чем они проще, тем лучше, иногда с ноткой юмора или казусом. Так работает восприятие. Если «заталкивать» много простых слов сплошным потоком, количество людей, которые-таки поняли смысл будет крайне резко ограничено, и в конечном счете приведет к противоположному комментарию — зачем именно так извращенно писать текст, если можно было бы сказать <тут подставить нужный набор наукообразных терминов>.
Вы совершенно зря написали первую фразу, и немного себя недооцениваете, хотя это, на мой взгляд, рациональное проявление скромности)

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

Коррупция — лишь частный случай. Это симптом. Так как это явление на слуху, то через его призму (entry point) можно было бы рассмотреть причины «болезни». Можно было бы взять любую литературную классику, ту же «Войну и мир», или, допустим, специфический «Капитал» Маркса, и через отношения, описанные в данных трудах дойти до той же самой смысловой нагрузки — выбор порождает дисбаланс в системе, следствие дисбаланса — различного рода места напряженности, подобно тому как в отношениях умение идти на компромисс формирует потенциальную возможность ладить друг с другом, но в то же время ущемлять себя в своих интересах. У медали не может быть одной стороны, у любого действия есть последствия, а также, что важно, утраченные возможности в виде совершения иного выбора.

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

Я просто хочу сказать, что сам факт выбора наносит необратимый во времени ущерб, что при проекции на некоторую социальную структуру определяет и характеризует напряжения в ней, впрочем, как и в любой структуре или системе. Это не явление, которое можно упразднить, хотя нивелировать этот эффект можно, но лишь путем изменения отношения к нему, условно, не замечать или уменьшить значимость, но это именно свойство, которое присуще всему, где есть понятие конкретного состояния, которое я в статье назвал по аналогии с квантовым состоянием суперпозиции.
С позиции эволюции я мыслил также, это было моим ожиданием, и именно поэтому я был удивлен, когда увидел явные контр-продуктивные стратегии поведения (в частности организаций при анализе бизнес-процессов), которые фактически приводили бы к «исчезновению вида», а не «выживанию», что по сути своей является взаимоисключающими позициями, это стало причиной, по которой я задался вопросом — «почему?».

Разумеется, ответ лежит в плоскости понятия редукция, но интересно следствие редукции — неизбежность стабильной формы системы, какой бы она ни была. То есть всегда найдется более широкий скоуп, относительно которого любая форма эволюции является ошибкой. Я позволю себе предположить, что в этом вся суть биологической эволюции — это процесс редукции («выбора») среди гипотетического множества форм, который селективно стремится к некоторому аттрактору (к той форме, которая была бы идеальной в условиях совершения выбора), но из-за невозможности совершать полноценные преобразования вида перманентно (а только в процессе формирования ДНК), сама эволюция как бы «квантована», то есть дискретна во времени, из-за чего некоторые формы (комбинации) неизбежно исчезают (не адаптируются под изменения окружающей среды).
Разумеется отношение ко всему абсолютно (именно абсолютно) интерпретатор-зависимо, и, грубо говоря, на одно и то же явление мы можем посмотреть под разным ракурсом, воспринимая плюсы и/или минусы, в зависимости от точки зрения.

К слову, в споре нету смысла) Это лишь говорит о том, что у нас различия в ассоциативной модели информации. Как правило, я никогда ни с кем не спорю, я искренне задаю вопрос — почему?, как бы, пытаясь произвести «merge» знаний, чтобы найти разницу и, либо осознать, какой именно информацией не обладает собеседник, либо по Шеннону — «утратить неопределенность» — когда вы удивляете меня тем, что я не ожидал — то есть узнаю новое, насыщаюсь новыми знаниями — это своего рода приятная зависимость)
Я понимаю и принимаю вашу позицию. Я вижу вашу точку зрения на проблему, но позвольте мне попробовать донести ту позицию, с которой я пронаблюдал это явление:

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

P.S.
К сожалению, семантика и языковые возможности не всегда идеально заточены друг под друга. Описание некоторых моделей требует более емких форм. Например, понятие сингулярности можно было бы не употреблять, ни в математике, ни в теоретической физике, но тем не менее оно есть, так как выражает некоторую смысловую нагрузку (ассоциацию). Тоже самое можно сказать и про явление конфайнмента — слово само по себе красивое, необычное, но оно необходимо как удобный инструмент. Разумеется, можно обслужить двигатель авто, имея под рукой небольшой набор инструментов и домкрат, но иногда используют подъемник, как более удобную форму, выражающую большее количество возможностей.

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

Но моя основная мысль, скорее была даже не в том, что такое явление есть, а в том, что явление нанесения ущерба неизбежно, мы не можем принципиально это убрать, мы можем лишь модифицировать его форму (то есть проявляться это будет просто иначе, не обязательно кумовством и взятками, найдется иная форма «злоупотребления» как формы наблюдаемых со стороны действий, которые по сути будут являться лишь нативным выбором субъекта среди доступного ему множества в его области видимости).
Совершенно верно, НО, даже моральные устои, такие как правильное воспитание ребенка, в частности, чтобы он так не делал, могут быть рассмотрены с такой точки зрения, что сама позиция моральных паттернов поведения будут наносить ущерб стороннему наблюдателю (заинтересованной группе лиц).
Воровство — это лишь частный случай. Я бы сказал так — люди всегда и везде будут выбирать правильно относительно своей области видимости (относительно своего контекста), и принципиально и гарантированно будут ошибаться (наносить ущерб, коррумпировать), так как это свойство самого процесса выбора действий.
И как следствие, принципиальная невозможность построения сбалансированной модели, так как отбор определяет потери возможностей. Это интересное следствие, как мне кажется. То есть при такой точке зрения понятие «ошибки» не является следствием неправильной оценки действиям, а является следствием свойства, заложенного в саму структуру выбора.

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

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

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

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

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

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

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

Это позволяет интерпретатору в лице человека при очевидных ограничениях на предел сложности в осознании объекта (т.н. «предел Миллера»), не уходить в leaky abstraction, то есть обходить затруднительный момент с difference в качестве мета-информации при навигации между слоями абстракции в системах. Иными словами равномерное распределение сложности становится свойством самой архитектуры с точки зрения интерпретатора — выделение сложности в отдельный домен (в структурный паттерн).
цель -> архитектура данных -> код


Дело в том, что подобный подход напрямую определяет зависимости у которых «порядок менять ни в коем случае нельзя!», и именно на этом я бы хотел заострить внимание аудитории.

Но для начала, давайте немного поговорим о терминологии, чтобы мы правильно друг друга понимали, общались едиными терминами:



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

Например: цель — сделать двигатель, который будет перемещать транспортное средство быстрее скорости света; или, скажем, реализовать проект, который поглотит 120% емкости рынка (при очевидном максимуме в 100%).

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

Я считаю это важным при построении дальнейших рассуждений.



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

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



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



Цель, архитектура данных, код (логика).

Цель не определяет архитектуру данных.
Архитектура данных не определяет цель и не определяет логику.
Логика не определяет цель и не определяет исходную структуру данных, а лишь предполагает исходную структуру данных.

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

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



Причем тут ООП или «что ты несешь?!»

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

Никто не мешает писать логику с точки зрения манипуляции атомарными единицами информации, без каких-либо ограничений, представляя часть атомарных сущностей данными, а часть инструкциями… Но это невероятно сложная задача для нашего сознания на современных масштабах систем. Люди вынуждены выдумывать способы уменьшения роста уровня сложности создаваемых систем. Именно для этого создаются концепции и парадигмы. Упрощение — это всегда ограничение.

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

Говоря о том, что ООП не так хорош, необходимо более убедительно представить, чем не столь хороши по отдельности инкапсуляция, полиморфизм и наследование, а также в первую очередь постараться осознать для самого себя, «а правильно ли я осознаю эти концепции»?

Вероятно «неудобство» и ограничения связанные с использованием ООП (с учетом конкретных примеров) вполне могут быть метафорически представлены ситуацией, когда ключом на 13 может быть неудобно откручивать гайку на 11, а возможно даже и ситуацией, когда ключом на 13 неудобно или невозможно закручивать саморез…

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

Это не плохо само по себе.

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

Это не плохо само по себе.

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

Это не плохо само по себе.

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

Нет плохих систем или хороших, есть те, которые удовлетворяют или не удовлетворяют целевым критериям.

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

Хорошо спроектированные системы легко адаптировать, так как они воспринимаются простыми и при минимальном вложении труда удовлетворяют целевым критериям.



Устали? Осталось потерпеть одну минутку!

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

Сами по себе эти принципы применяются при формировании сущностей (абстракций), которыми мы непосредственно оперируем при построении систем: классы и абстрактные классы, интерфейсы, трейты, примеси и т.д.

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

Каждый масштабный уровень системы обладает своим набором возможных абстракций.

А потому каждый масштабный уровень системы обладает своими методами оптимизации композиций абстракций.

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

В этот момент мы открываем для себя принципы проектирования ООП, такие как SOLID:

S (The Single Responsibility Principle) — принцип единой ответственности (SRP).
O (The Open Closed Principle) — обозначает принцип открытости/закрытости (OCP).
L (The Liskov Substitution Principle) – принцип подстановки Лисков, описывающий возможности заменяемости экземпляров объектов (LSP).
I (The Interface Segregation Principle) — принцип разделения интерйесов (ISP).
D (The Dependency Inversion Principle) — принцип инверсии зависимостей (DIP).

Эти принципы основаны на ООП, основаны в своей сути на инкапсуляции, наследовании и полиморфизме, но находятся на один уровень выше в системе.

К чему это я? Да к тому, что говорить «хорошо» или «плохо» как минимум слишком ограниченно, причем ограниченно контекстом восприятия. При действительно масштабном представлении системы происходит своего рода «мульти-интерпретация» в рамках которой парадигмы, методы проектирования или методы разработки в целом (Waterfall, SCRUM, Kanban) являются лишь инструментами в ваших руках, и целесообразность их применения зависит от степени осознания их изначального предназначения.



P.S.
Мартышка к старости слаба глазами стала;
А у людей она слыхала,
Что это зло еще не так большой руки:
Лишь стоит завести Очки.
Очков с полдюжины себе она достала;
Вертит Очками так и сяк:
То к темю их прижмет, то их на хвост нанижет,
То их понюхает, то их полижет;
Очки не действуют никак.
«Тьфу пропасть! — говорит она, — и тот дурак,
Кто слушает людских всех врак:
Всё про Очки лишь мне налгали;
А проку на-волос нет в них».
Мартышка тут с досады и с печали
О камень так хватила их,
Что только брызги засверкали.
Великолепная статья! Она настолько абстрактна и настолько принципиально глубока, что лично у меня при ее чтении произошел «каскадный ассоциативный взрыв» в сознании, если можно так выразиться.

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

С одной стороны подобное знание позволяет делать просеки, чтобы предотвращать распространение пожара… С другой — это основа создания алгоритмов манипуляции (в самом широком смысле) в своих целях, настолько изощренных, что анализ результатов их применения будет затруднен сложностью глобальной динамики системы, которая будет являться ОБЪЕКТОМ ИССЛЕДОВАНИЯ для стороннего наблюдателя.

Без правильной декомпозиции (без ключа) картины целого будет решительно невозможно понять что происходит! Это основа создания «управляемого хаоса», интерпретация которого будет полностью зависима от выбора базового набора аксиом интерпретатора.

Это все словно «бихевиористическая криптография»…
> Посмотрите формулы преобразований Лоренца

Как раз именно их пытаюсь наиболее полно интерпретировать. Только я рассматриваю не координатные преобразования для x и x', а преобразования длины:

L = L0 * sqrt(1 — v^2/c^2) = L0 / gamma

и времени:

t = t0 / sqrt(1 — v^2 / c^2) = t0 * gamma

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

В числах все понятно, это просто числа. Мне нужно еще какое-то время осмыслить концепцию.

Благодарен вам за ваши развернутые комментарии.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность