April 29th, 2017

2019

Акаузальное моделирование в Julia: уже есть.

Я когда-то писал про "повторение Modelica в Julia" -- получение лучшего из двух миров: хороший (выразительный и быстрый, с богатыми библиотеками) вычислительный язык + работа с наборами уравнений, который хорошо бьётся на модули: http://ailev.livejournal.com/1218155.html (и в этом же посте было про то, чем мне нравится этот язык). И вот реализация этой идеи: https://github.com/tshort/Sims.jl, this package is for non-causal modeling in Julia. The idea behind non-causal modeling is that the user develops models based on components which are described by a set of equations. A tool can then transform the equations and solve the differential algebraic equations. Non-causal models tend to match their physical counterparts in terms of their specification and implementation. Causal modeling is where all signals have an input and an output, and the flow of information is clear. Simulink is the highest-profile example. The problem with causal modeling is that it is difficult to build up models from components.

Конечно, никакого сравнения с экосистемой Modelica: никаких готовых библиотек прежде всего, никакого графического языка, вся работа только proof of concept. Но наличие работающего кода с экспериментами по акаузальному моделированию на Julia уже идут, что приятно.

У Julia всё двигается, потихоньку. Вот, например, свежий материал (14 марта 2017) про нативную поддержку CUDA для Julia: https://julialang.org/blog/2017/03/cudanative

Версия 0.6 языка сейчас в состоянии пре-бета, релиз-кандидат ожидается буквально на днях.

В июне у них будет конференция, поглядите на тамошних keynote speakers -- http://juliacon.org/2017/
2019

lytdybr

Про "самоорганизацию" и её разные понимания в системном подходе первого поколения (вся классическая наука такая, включая биологию) и второго (где есть стейкхолдеры) -- мои комменты и ссылки в дискуссии тут: https://www.facebook.com/elashkina/posts/1466080673413756 (моя позиция прежняя: слова про "само" и про "организацию" нужно крепко разъяснять, слово "самоорганизация" это удобный способ уйти от объяснений происходящего, всё равно как отсылка к "богу", позволяющая не интересоваться происхождением явления, только в данном случае позволяющая не интересоваться происхождением описания явления).

Ещё один мой текст получил музыку, это сделал Янис Лейцис -- тут не поют, а просто анимированы под музыку архитектурные требования к мышлению из http://ailev.livejournal.com/1342372.html: https://www.facebook.com/janis.leicis/videos/878662278964662/ -- (предыдущий получивший музыку текст был про танцевальное мышление: https://www.dropbox.com/s/t3av2yybeezx3rj/concerns.mp3?dl=0, по тексту http://ailev.livejournal.com/1332624.html).

Пошла серия публикаций про историю рынка ценных бумаг. Вначале было хорошо. А теперь вдруг стало понятно, что напрягает: не про рынок, а про царей этого рынка, про бумажки и договорки по их поводу. Я когда-то тоже все эти бумажки писал, но они были по поводу рынка, они не есть рынок. И сто человек их писавших -- чиновники -- это не рынок. История, она ведь в поле делалась, тысячами людей. Как изменились их жизни? Какие идеи были отражены в тех бумажках? Это не история: "Николай Очередной выпустил царственный Указ номер ой-ой, посоветовавшись с губернатором таким-то и приняв совет министра такого-то. Радуемся, юбилей указа!" -- все "ретроновости" про выход какой-то нормативки и фотографии чиновников, которые эти документы выпускали. Вот последняя из этих новостей, про "протокол согласования разногласий от 1997 года": https://www.facebook.com/permalink.php?story_fbid=1376528125727119&id=100001098340758. Я как раз в конце 1997 года перестал заниматься рынком ценных бумаг, потому как цены на акции очевидно отплыли от жизненный реалий -- права собственности стали защищаться не тех людей, которые акциями владели, а тех людей, которым эти акции начали передавать внерыночными и даже антирыночными механизмами. Депозитарии и регистраторы надёжно защищали права этих новых собственников, хотя должны были защищать права старых! Рынок ценных бумаг перестал быть в основе структурных перетоков капитала -- он и не был, но у меня была иллюзия, что если его запустить, то он обязательно будет. Ну, я его и бросил (за полгода примерно до дефолта, по инерции походив на какие-то мероприятия, связанные с обращением векселей и возможностью перевода векселей в электронную форму). С тех пор ещё много чего загнулось, очень хорошо это выразил Юрий Кузнецов в своём последнем тексте "Капитализм, которого не было" -- http://www.inliberty.ru/blog/2565-Kapitalizm-kotorogo-ne-bylo.

Ввязался в дискуссию по поводу модераторства -- мне не кажется, что модератор в "группах проектирования" может судить, кто там "крикун" по делу, а кто "крикун" не по делу и кого можно заткнуть: https://www.facebook.com/denis.korichin.9/posts/1616009548439185. У меня при таких рассуждениях обычно презумпция вины модератора: модератор ведь часто вообще не понимает, что происходит -- кричи ему, или не кричи. Есть странное поверие, что если собрать певицу, второклассника, двух менеджеров по продажам, артиста цирка, программиста и автомеханика, то каждому нужно дать возможность внести его вклад в групповую работу по неведомо чему, которое затем будет использовано неведомо как. Особенно нужно обычно давать сделать вклад второкласснику и певице. А если кто-то разбирающийся в вопросе начинает нервничать, а затем кричать. Нет, "модератор сказал в морг, значит в морг". Ну, или "группа решает" -- это ж охлократия так формулируется? Второклассников и певиц в группах обычно много, они и "решают", исходя из эмоциональных предпочтений, а не содержательных.</span>
У модератора, конечно, презумпция вины участников. Их много, он один -- и ему по позиции надо учесть сок мозга второклассника, а некоторые участники против этого вдруг возражают. Обидно ведь! И правила ведь за него! И октябрятская звёздочка в группе обязательно его поддержит, ежели чего! А дальше вопрос: что же делать?! Кто прав со своими презумпциями и правилами?! Я бы думал так: а как в инженерном мире проектирование сложнейших систем происходит без модераторов? Прямо таки диву даюсь! Доля модераторских "групп проектирования" в проектах мира мизерная. Там и нужно искать ответ.

А ещё критическое мышление, как "ключевой навык современности". Или системное мышление? Вот тут спорят: https://www.facebook.com/groups/771940449578453/permalink/1133335926772235/. А ещё есть антикритическое мышление, оно очень распространено! Скажем, купил я плавленный сыр "Дружба" -- там крупными буквами "массовая доля жира 55% в сухом веществе", а чуть пониже мелкими буковками "Пищевая ценность на 100г продукта: жиры -- 20.6г, ...". Вы поняли, да? Это ж специально спроектировано, чтобы обходить мышление как таковое. Аналогично, когда вместо "творога" в начинке блинчиков пишут "творожная начинка" -- творога в творожной начинке нет! Это какое мышление с таким проектированием описаний продуктов работает -- кто такое сочиняет, как это мышление называется? Противокритическое?
Я погулял по торговому залу универсама, там ведь 90% этикеток созданы таким мышлением. Это массовая профессия, так думать против чужого думания. Игнорировать это нельзя. Это нужно как-то назвать, например "втюхивающее мышление" (которое критическое мышление моделирует в себе и конструирует механизмы обхода "критики"). И вскрытие этого втюхивания, намеренного наведения мыслительной тени на мыслительный плетень мне почему-то не хочется называть "критикой", это другого сорта мышление. Так что "для Украины" [один из комментов говорил, что "критическое мышление сейчас действительно очень важно"] обсуждалась или "для России" или "для Глобуса" -- дело IMHO сегодня не в критическом, или втюхивающем, или системном мышлении. Сначала нужно понять, что обсуждаем и каковы интересы обсуждающих. Потом уже обсуждать.

Вьюнош посмотрел прекрасный семейный фильм "Летние войны" https://ru.wikipedia.org/wiki/Летние_войны. Удивительно, что тамошний сбежавший (или не сбежавший, а намеренно запущеный военными) ИИ он в обсуждениях пытается обозвать "вирусом". Похоже, что не он один -- статья в википедии это тоже делает! Что в головах у русскоязычных людей сегодня скрывается под словом "вирус"?! Конечно, в англоязычных источниках никакого "вируса" нет -- https://en.wikipedia.org/wiki/Summer_Wars. Правда, я смотрел одноголосый перевод, а вьюнош -- любительский многоголосый. Может, там кто-то развлёкся словом "вирус" не по делу. Подождём три-четыре года, потом искусственный интеллект-переводчик будет находить все эти горе-переводы, заменять в них текст с кривого на нормальный, а также добавлять интонации, отмоделированные по голосам народных артистов -- причём сами голоса (а не интонации) будут брать, отмоделированные по оригинальным сэйю. Технологии уже есть (последняя -- это копирование голоса, вот обзорчик: http://www.economist.com/news/science-and-technology/21721128-you-took-words-right-out-my-mouth-imitating-peoples-speech-patterns), нужно только подождать ещё пару поколений этих технологий, собрать их в кучку и наслаждаться.

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10210042301908152
2019

Автомагическое моделирование данных

Сегодня с одним из западных инженеров обсуждали странное: он утверждал, что любые попытки автоматизировать инженерную работу будут наталкиваться на саботаж со стороны инженеров -- ибо общепринятый способ оплачивать инженерный труд это почасовка, а автоматизация эту почасовку значительно уменьшает. Про конкуренцию ему, похоже, ничего не известно, "все инженерные компании во всех странах не хотят автоматизировать работу с данными -- там везде технологии 80-х, большие стройки идут на эксель-таблицах". Он считал, что "не хотят". Моя точка зрения -- "не могут".

Разнообразные PLM-системы крайне трудно осваиваются (практики управления конфигурацией и изменениями контринтуитивны и трудоёмки), но не в этом дело. Дело в том, что такие системы крайне трудно интегрируют в себя разные виды инженерных данных, особенно если речь идёт о небольших компаниях. Этот западный инженер сказал, что в его знакомой компании вся инженерия обслуживается главным образом пятью сотнями эксель-табличек, связь между которыми есть только в головах людей. И если где изменить одну цифирьку, то это потом нужно отразить ещё в 10-15 местах, о которых люди должны помнить -- само там ничего не изменится, а должно бы. Но тратить время на выкладывание из головы связей между таблицами экселя никто не будет, "нас и так неплохо кормят" -- так не только российские инженеры говорят, но и многие западные.

Это всё из серии "зелен виноград", кавалерийский наскок в задаче интеграции данных жизненного цикла не срабатывает, и руки у инженеров и окружающих их инженеров данных (которые уже ушли от того, чтобы быть программистами, но не пришли к тому, чтобы стать инженерами -- типичные сотрудники всяких служб работы с НСИ, служб PLM, "отделов САПР") опускаются.

Я рассказал про интересные новости в части прохода от формального языка к естественному языку для работы с данными -- Naturalizing a Programming Language via Interactive Learning, https://arxiv.org/abs/1704.06956. we start with a core programming language and allow users to "naturalize" the core language incrementally by defining alternative, more natural syntax and increasingly complex concepts in terms of compositions of simpler ones. ... Over the course of three days, these users went from using only the core language to using the naturalized language in 85.9\% of the last 10K utterances.

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

Например, ещё есть заход Wolfram language с попыткой принимать запросы на естественном языке (с переспросами, если что-то неочевидно).

Экспериментов много, но промышленного прорыва, как с тем же самым экселем или реляционными базами данных, нет. Таблицы вместо текста оказались killer application. Графы вместо текста много, много богаче таблиц. Они радуют глаз, когда они на страницу. А когда они в промышленных масштабах, то глаз радуется, а мозг огорчается. А таблицы в промышленных масштабах мозг не расстраивают, хотя таблицы и не так красивы для глаза. Следствие: нерасстроенный и радостный мозг не знает, как все эти таблицы объединять! Поэтому строит граф, но "в уме", а не "в компьютере".

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

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

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

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

Разговор с тем инженером закончился приятно: он похвалил наш инструмент -- .15926, https://github.com/TechInvestLab/dot15926. Славный был проект, мы многому в ходе этой работы научились.

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10210042527753798