Докладываюсь я сегодня в уважаемом учреждении пере уважаемой аудиторией об успехах в очередном своём поделии - ... усладе глаз моих и неиссякаемом источнике моего самомнения.
Аудитория (делегация из родственной организации) состоит примерно из таких же дедов, как и я, может чуть постарше. Старая гвардия. На их фоне «сорокалетняя молодежь» (часть представителей с нашей стороны) с их питонами и новомодными айтишными жаргонами наперевес смотрится, мягко говоря, неуклюже.
Компетенции членов делегации наших гостей связаны по большей части непосредственно с некоторой предметной областью, а мои - больше с фундаментальными основами этой же области. Именно поэтому по просьбе представителя моего непосредственного заказчика (заместителя директора предприятия - заказчика) я свой доклад заканчиваю фейерверком математических выкладок, методов, технологий решения обратной задачи и т.д. и т.п., и сбоку еще - бантик! И в конце я им еще и многомерную несмещенную интерполяцию на базе крайгинга ввинтил! В общем распустил перья - павлин, да и только! Представителю заказчика пришлось меня тормозить.
Сам же представитель заказчика всё это время сидел с гордо выпрямленной спиной (про выпяченную грудь в нашем возрасте говорить, как правило, бессмысленно, ибо, опять же, как правило, ее скрывают вполне себе авторитетные животы, но спины всё еще подают окружающим какие-никакие сигналы о психологическом состоянии их владельцев). Озорной и немного ехидный взгляд заместителя директора перескакивает с одного члена делегации гостей на другого, и сам он всем своим видом демонстрирует удовлетворение от того, что на его предложение задавать мне вопросы после доклада, гости попытались немного продемонстрировать свою "да мы тут тоже не лыком шиты..." якобы заковыристыми вопросами, но быстро "сдулись", и вопросы иссякли, выродившись до стандартного "а на каком языке написано?".
Тема естественным образом сошла на нет, и по команде распорядителя встречи основной фокус внимания совещания сместился на следующую систему (не мою), а я начал собираться отбыть подальше от начальства и поближе к кухне. Но не получилось...
Какой-то примерно моего возраста дед из делегации гостей буквально вцепился в меня, физически оттеснив от обсуждения следующей темы. Буквально прижал меня к стенке физически. И как началось! .... Вопросы и советы – просто как из рога изобилия! Причем, я обратил внимание, что это отвлекает других участников совещания и несколько сбивает согласованный график совещания. Я этому коллеге: "А давайте пойдем где-нибудь с глазу на глаз пообщаемся - да хоть бы в коридоре! - о совсем уж специфичных деталях, если Вам так хочется, чтобы не мешать остальным!" А он – ни в какую! Ему явно хочется именно там поговорить, где его начальство присутствует. На виду!
Ну ладно, мы это уважаем, ибо сами в этой жизни тоже кой-чего понимаем. Мы тоже с полным почтением к тому, что начальство должно воочию лицезреть пот и кровавые мозоли своих подчиненных - так им обоим лучше спится.
В общем – дал я слабину, а коллега, не стесняясь, воспользовался моей добротой и ситуацией. Как пиявка – не оторвешь! ...
- А вот есть ли в Вашей системе вот такая фуфулечка, которая, если вон та пупулечка окажется равной другой мумулечке, сменит поведение объектов Вашей имитационной модели с "ого-ого!" на "э-ге-гей!"?
- А есть ли у вас трехмерное изображение процесса охреначивания охреначиваемых? Нету? Очень плохо! Вы же знаете, что заказчик (а конечный заказчик у нас общий) очень любит, чтобы все было в трехмерье? Ой, он это так любит, так любит! А Вы совершенно зря этого не добавили!
- А вот если этот объект не захочет делать то, что вы ему в сценарии прописали, а захочет делать совсем другое? Как Вы это учитывает? Вы же понимаете, насколько это важно? Вы же обязаны это понимать! Вы же уже столько лет работаете в этой сфере!
И еще куча всего в том же духе!
В общем, уже, наверное, понятно - уважаемый коллега без стеснения пошел мельчить и натягивать сову на глобус. И каждая мелочь у него важна, и никакую милипусеньку нельзя пропустить, иначе, сразу - конец, и всю разработку – на помойку!
Забавно, но я эту стратегию хорошо знаю, и грешен - сам иногда ее применяю, особенно когда категорически необходимо оперативно сбить спесь с очередного оборзевшего программиста, и перевести его в более конструктивную позицию. А то - "от горшка два вершка", а всё туда же - начинает дедов жизни учить. Попаши с моё, тогда и вякай! "Шнурок"! (тут должен быть огромный значок сарказма... или самоиронии... или какой-то другой, который обозначит, что всё это неправда, и я, на самом деле, - ангел во плоти).
Да, я говорю про программистов, но программист - здесь условное название, поскольку речь идет о тех, кто одновременно и прикладник, и «модельер», и математик, и программист, и всё это в одном лице, и - самое главное - способный по неконкретной (а зачастую и по некорректной!) постановке задачи самостоятельно решить эту задачу. В общем - тот, кто может эффективно работать в режиме "поди туда - не знаю, куда; принести то - не знаю, что!". Такие люди крайне редки – это особый талант, но среди этих катастрофически редких специалистов очень часто попадаются различного рода зазнайки, которые так пальцы растопыривают, что ни в одни двери не пролазят! А потенциал-то у них действительно большой! И «распальцовки» их, честно говоря, понятны и в общем-то простительны. Более того – ясно и то, что, зачастую, сначала рождается «распальцовка» (её уже в 3-4 года в ребенке видно, а может и раньше), а потом уже вокруг неё формируется личность того, кто может любую задачу решить. Копытом искру вышибает! Пассионарий. Но иногда заносит его очень не туда, поэтому, чтобы немного привести такого в норму, надо его хорошенько макнуть в его же собственное говно.
Сразу открою небольшой секрет: как правило, макать лучше в чужое (уже хорошо тобой изученное и не один раз), но делать это надо так, чтобы макаемый искренне верил в то, что это именно его… продукты жизнедеятельности. И ничего страшного в этом нет, потому что если воспитуемый действительно чего-то стоит, то он не сломается, а известную субстанцию с лица сотрет, и задумается: "Ой, а что это такое? И правда - я накосячил! А задачка-то с вызовом!" - и пойдет решать задачу с удвоенной силой. И, глядишь, решит то, что никто другой до него решить не смог.
И это тоже нормально – работа у нас такая. Если думаете, что ту молодежь ( по нынешним временам), которая, по сути, и сделала атомную бомбу в СССР тогдашние "деды" гоняли как-то иначе, то , скорее всего, вы неправы.
При этом есть два основных способа макнуть такого героя. Первый - взвинтить задачу, понавешав на нее побольше деталей, и показать, что без них ну никак невозможно доверять полученному результату решения. Если объект манипуляции не слишком опытный и лишь бегло в аспирантуре изучал методологию науки, то он поведется. А с учетом того, как молодых сегодня учат в ВУЗах – ведутся практически все, за исчезающе малым исключением.
Однако есть и второй способ - бить по основаниям. Это прекрасно работает в новых или с большим трудом поддающихся областях. Например, в социально-экономическом моделировании. Да и что бы мы не моделировали, мы всегда принимаем некоторые допущения – без этого просто никак! И поди теперь - докажи, что принятые тобой допущения адекватны! Это всё равно, что пытаться доказать аксиомы. Доказать или опровергнуть их, в принципе, конечно можно, но на это требуется очень много времени, а кто же тебе его даст, чтобы сделать это здесь и сейчас? Так рубят на защитах кандидатских… Ну... раньше срубали. Сейчас всё намного проще: хоть что-то наваял – и слава Богу!
Замечу, что второй способ — это действительно чтобы срубить, а первый (взвинтить задачу) больше подходит для того, чтобы охладить деструктивный пыл субъекта, выправить основной вектор его развития и заставить, тем самым, выйти на новый уровень понимания. Эдакий оздоровительно-воспитательный пинок.
Но о каком уровне понимания идет здесь речь?
В первую очередь речь идет о том, что количество деталей в модели далеко не всегда ведет к повышению ее качества. Зачастую, как раз, - наоборот. А если под качеством модели понимать не только ее адекватность, но еще и интегральную характеристику повышения качества, например, той части процесса управления, в котором применяется модель, то, как правило, применение модели только ухудшает качество процесса. Всё очень просто - модель не должна быть некой сферической лошадью в вакууме, а должна оцениваться всегда в контексте того процесса, в который встраивается. Выглядит очевидным, но поверьте - это приходится постоянно доказывать.
В качестве примера представим себе две модели одного и того же, например, производственного процесса. Применяя первую модель необходимо собрать и ввести осмысленно 100 параметров, потратив на это 100 часов. А для второй необходимо собрать всего 10 параметров за 10 минут. При этом у первой модели вероятность условно точного результата будет 0.8, а у второй - 0.7. Что лучше? Сразу и не ответишь, но если требуемые темпы управления, например, 30 минут, то явно лучше второй вариант. Лучше трижды получить немного разные и не самые точные результаты и использовать что-то среднее, чем вообще ни разу не получить хотя бы ориентировочный результат. Это всё, конечно же схематично, но общий принцип, я уверен, ясен.
Однако есть еще одна проблема.
В последнее время часто сталкиваюсь с такой ситуацией... покажу на примере.
Представим себе, опять же, две модели чего-то одного и того же. Но первая - упрощённая, а вторая - детальная. Например, первая сделана на, так называемой, динамике средних и монте-карло, а вторая - имитационная, где скрупулезно моделируются все ключевые процессы у всех объектов в рамках исследуемой обстановки.
Причём, качество результата будет примерно одно и тоже у обеих моделей, и разницей в качестве можно пренебречь,… но только при одном условии - если эти модели будут в руках компетентных и опытных специалистов. Дело в том, что хороший специалист хорош, в том числе, и потому, что знает, как и в каких условиях применить упрощенную модель, затратив на ее применение минимум ресурсов и времени. Причем, кроме всего прочего, он может дать ответственные разъяснения заказчику на предмет специфики трактовки результата моделирования и его применения, а это иногда 80% залога эффекта от реализации принятого управленческого решения на основе результатов модельных исследований.
Но если компетенций маловато, то эту технологию применять крайне опасно. Более слабому специалисту лучше давать в руки более детальный инструмент и такую модель, в которой объект исследования был бы представлен не в виде абстрактных для пользователя уравнений и т.п., а в виде, более соответствующем прототипу. Например, если мы моделируем транспортные потоки в городе, то необходимо, чтобы в модели пользователь видел "ездющие машинки". Категориями гравитационных моделей и балансовыми задачами он, как правило, мыслить не может. Потому и не верит результату на основе этих технологий. А потому и не будет применять. Ему нужны машинки! «Ездющие»!
Да, всё так, и это создает в определенном смысле парадоксальную ситуацию: чем ниже квалификация пользователя, тем более подобной прототипу должна быть для него модель, тем больше данных необходимо в нее вводить, тем меньше вероятность того, что эта модель будет полезна, а значит, скорее всего, - она не будет использоваться.
Но всё это имеет смысл, лишь тогда, когда речь идет об отношении в «любовном треугольнике»: разработчик - модель - пользователь. Если же вернуться к той ситуации, что я описал вначале, то тут совсем другие отношения: отношения разработчик-разработчик. И в описанной ситуации один старый разработчик просто захотел другому старому разработчику высказать про всё то, что он сам хотел сделать всю жизнь, но не сложилось как-то…
Да, это именно про то, что:
- Я хотел когда-то сделать и то, и другое, и вон то, и вот это еще…, согласись – это же надо?! Я же был прав?... Я же это тоже мог сделать?!
PS. Если речь идет о моделях процессов, управляемых человеком - таких как, например, производство, отрасль или даже социально-экономическая модель региона, страны, союза стран, то при анализе ее адекватности следует обращать внимание, в первую очередь, на то, как в модели отражено функционирование системы управления. Это может быть отражено в модели явно или опосредованно, но оно должно быть обязательно. Даже если это политэкономическая модель. Сделать модель преобразования одного материального ресурса в другой - это относительно простая задача, а вот сделать модель действий человека или даже системы, которые управляют этим преобразованием - это совсем другой уровень решений и совсем другой уровень понимания сути предметной области. На этом сыпятся практически все. Я еще не встречал ни одного разработчика действительно сложных моделей производств и т.п., который мог бы внятно ответить на этот вопрос. Так что, если кто-то вам будет бодренько рассказывать о том, как он сделал, например, социально-экономическую модель страны или даже конкретного производства, спросите его о том, как он учел в этой модели несовершенство системы управления. Мой коллега, кстати, начал трясти именно с этого. Старая, опять же, гвардия. Понимает!