Собираем мир по частям: что считают суперкомпьютеры
Дата публикации: 20.01.2016
Рассуждая о сложности устройства жизни, профессор кафедры физики Университета ИТМО Александр Чирцов приводит следующий пример. Если бросить на бетонный пол стакан с водой, он разобьется. Команда физиков и программистов даже сможет дать примерный ответ, как именно разлетятся осколки и разольется вода, если дать им достаточно времени и исходных данных. А вот что именно произойдет, если бросить на этот же пол кошку, пока не сможет ответить никто: слишком сложная система. Несмотря на то, что моделировать и предсказывать поведение кошки ученые научатся еще очень нескоро, это не значит, что они вовсе не берутся за вычисление закономерностей и предсказание состояний сложных систем. Наоборот, вычислительная наука в последние годы только набирает обороты. Представители международной команды Университета ИТМО рассказали нашей редакции о том, что именно приходится считать суперкомпьютерам и зачем нужны высокопроизводительные вычисления.
Моделирование и предсказание поведения сложных социальных систем – одно из направлений работы специалистов Университета ИТМО и их иностранных коллег в рамках научно-образовательного центра коллаборативного типа TROIKA. Профессор Амстердамского университета Питер Слоот руководит выполнением проекта, который поддерживается Российским научным фондом. Исследование посвящено поиску и разработке методов и масштабируемых алгоритмов для анализа критических ситуаций, которые могут возникнуть в сложных социальных системах.
Питер Слоот рассказывает, что он и его коллеги пытаются воссоздать на компьютере разные кусочки мира, от отдельных биологических объектов и до целых городов, чтобы предсказывать их поведение и научиться на него влиять.
«Суть комплексных систем в том, что в них друг с другом взаимодействует множество объектов: люди, молекулы. Если заглянете в человеческий организм, то акторами будут клетки, иммунная система. В последние 30 лет появилась целая новая математика, которая позволяет моделировать и воспроизводить динамические процессы на компьютере, – объясняет ученый. – Так, в рамках одного из направлений нашей работы в Петербурге мы пытаемся понять, как работают криминальные сети».
Темные сети для темных дел
В качестве отправной точки для исследования ученые использовали уникальные сведения о производстве и распространении наркотиков, предоставленные голландской полицией. В дополнение к этому были подключены открытые источники – блоги и социальные сети, чтобы восстановить полную картину того, кто из участников криминальной сети играет ключевые и второстепенные роли, что это за роли и как единицы сети связаны между собой.
«База полиции была составлена на основе данных от информаторов, и у этих данных есть один очевидный недостаток – мы не можем доверять им на сто процентов. Мы видим только часть сети, не знаем законы ее эволюции, к тому же это социальная сеть – им свойственно постоянно меняться. Мы не можем опираться на эксперимент, как если бы мы моделировали физическую систему: там есть определенные законы, на основе которых можно построить модель и проверить гипотезу. В нашем же случае для того, чтобы предложить адекватное математическое описание системы, нужны особые экспертные знания», – объясняет старший научный сотрудник НИИ наукоемких компьютерных технологий и руководитель международной лаборатории «Городская информатика» Сергей Иванов.
Собрав воедино обрывочные сведения, исследователи задались вопросом, что нужно сделать для того, чтобы нарушить работу такой сети и нанести ей максимальный ущерб. Можно попробовать удалить узел-другой, можно перекроить сеть и исключить сразу группу. Для каждого случая – отдельный сценарий, и всего их накапливается не одна тысяча. По словам Сергея Иванова, найти оптимальное решение важно потому, что за обезличенными узлами компьютерной модели стоят настоящие производители и распространители наркотиков. На поиск неуловимого преступника можно потратить не один месяц, в то время как его арест может никак не отразиться на благосостоянии криминального бизнеса. Первые итоги моделирования показали именно такие неожиданные результаты: оказалось, что борьба с системой может даже привести к увеличению ее эффективности.
«Изначально мы смотрели на проблему с той же точки зрения, что и европейская полиция. Допустим, есть часть цепочки распространения наркотических веществ, которая отвечает за финансы, и ей нужно вести переговоры с основными дилерами. Такой человек связывает друг с другом очень большое количество других звеньев, и, казалось бы, без него сеть работать не будет. Полиция обычно ищет таких людей, наблюдает за ними и пытается арестовать, чтобы разрушить сеть, – рассказывает Питер Слоот. – Но мы воспроизвели эти сценарии на компьютере, и симуляция показала, что на самом деле это только усиливает сеть, укрепляет остальные ее участки».
Разорвать порочную сеть
Выяснилось, что гораздо более эффективным будет устранение «незаменимых кадров» – техников. Они выполняют функции, обучиться которым достаточно сложно, и без этих участников криминальная сеть действительно ослабевает. Для того, чтобы модель можно было использовать на практике, ее необходимо строить на основе данных, которые уникальны для каждого отдельного случая. Связи между участниками комплексных сетей в каждой стране и каждом городе строятся по-своему, разными оказываются даже способы коммуникации – например, потому что «ВКонтакте» в России используют гораздо чаще, чем более популярный на Западе Facebook.
«Мы ученые, и наша главная цель состоит не в том, чтобы помочь полиции. Конечно, если наши исследования помогают бороться с преступностью – это хорошо, но в первую очередь мы занимаемся тем, что пытаемся понять принципы работы комплексных систем, – комментирует Питер Слоот. – Этот подход можно использовать не только для сети распространения наркотических веществ: во-первых, он работает с любыми криминальными сетями, а во-вторых, помогает понять, как распространяются другие объекты. Например, в случае с болезнями главное отличие в том, что по сети распространяется не продукт, а вирус или инфекция. Источники и характер информации могут меняться, но фундаментальный принцип остается тем же».
Сергей Иванов отмечает, что полученный результат не означает точку в исследованиях международной команды. Так как первые итоги получены по завершении моделирования фрагмента криминальной сети, сейчас ученые работают над восстановлением скрытых связей, которых нет в базе данных и которые должны быть в целой сети: распространитель наверняка связан с поставщиком, тот – с производителями, координаторами и так далее.
«Криминальная сеть во многом напоминает традиционные экономические системы. Наше дальнейшее исследование связано как раз с тем, чтобы описать ее с точки зрения экономики – ее законы работают в криминале так же, как и везде. Если человек вовлечен в бизнес, значит, он получает зарплату, а через финансовые потоки можно, например, определить, какие звенья являются более уязвимыми», – рассказывает ученый.
Слишком сложная простота
Другое исследование, которым занимаются ученые из Университета ИТМО и их иностранные коллеги при содействии Российского научного фонда, посвящено так называемым «булевым сетям». Свое название они берут от логического типа данных (boolean), которые принимают значение «истина» (true) или «ложь» (false), – узлы булевой сети принимают его в зависимости от сигнала, поступающего извне. Профессор Варшавского политехнического университета Януш Холыст рассказывает, что исследование, которым он руководит, посвящено вопросу о том, как могут меняться связи и функции логических структурных единиц такой сети.
«При помощи булевых сетей можно строить модель мозга, прогнозировать популяционную генетику, моделировать социальную динамику. Например, все мы производим информацию, устанавливаем связи. Сейчас я отвечаю на вопрос, и мой ответ позже прочитают люди. Но я не буду находиться на одном месте вечно – социальные системы не являются постоянными. Единицы сети могут адаптироваться к ситуации, получать информацию от других единиц и передавать ее дальше», – говорит Януш Холыст.
Научный сотрудник НИИ НКТ и лаборатории «Городская информатика» Клавдия Боченина отмечает, что польские исследователи в своей работе столкнулись с проблемой: написанные ими приложения могут нормально работать только до того момента, пока количество узлов сети насчитывает несколько десятков. Вычисление состояния узла выполняется очень быстро, но если приблизить размеры сети к реальным масштабам и увеличить количество узлов до тысяч, то на передачу данных тратится в разы больше времени, чем на сами вычисления. За помощью в решении этой проблемы исследователи из Варшавы обратились к петербургским коллегам, которые, в свою очередь, учатся на этих задачах оптимизировать алгоритмы и повышать производительность вычислений.
«Если алгоритм имеет линейную сложность, мы можем увеличивать число вычислителей и получать линейный рост. Но есть алгоритмы, которые плохо масштабируются, с ростом размера сети растет число возможных состояний, которые она может принимать, растет число итераций алгоритма. Нужно уметь понимать, можно ли увеличивать число процессорных ядер или менять концепцию, которая лежит в основе, и я работаю над этим со своими студентами», – объясняет Клавдия Боченина.
А что, если
Еще одна задачка для вычислителей: создать прогноз, как будут вести себя не просто распределенная сеть или случайные прохожие на улице, а нечто гораздо менее организованное и более опасное – толпа. С этим связан амбициозный проект ученых Университета ИТМО, о котором мы уже писали на нашем портале. Исследователи проведут эксперимент с самым большим в мире количеством участников на религиозном фестивале Кумбха-Мела, где в 2013 году было зафиксировано рекордное количество участников: в Аллахабаде, одном из четырех священных индийских городов, за два месяца побывало 120 миллионов человек.
Коллега Питера Слоота по Амстердамскому университету Майкл Лис рассказал об одном из аспектов эксперимента. Для того, чтобы следить за поведением толпы, разрабатываются специальные браслеты-передатчики. Через определенные промежутки времени они включаются, передают свой идентификатор в пределах радиуса действия, принимают сигналы других браслетов и «засыпают» до следующей передачи. Устройства не поддерживают геолокацию, но она и не нужна: по сведениям, получаемым с браслетов, можно в режиме реального времени наблюдать за динамикой толпы и относительным позиционированием участников комплексной системы. Если сеть статична, значит, люди стоят на месте, и наоборот, а по устойчивым связям между нодами можно видеть, как люди собираются в группы.
Научный сотрудник НИИ НКТ и лаборатории «Городская информатика» Владислав Карбовский отмечает, что компоненты сложных систем при взаимодействии приводят к таким явлениям, как известный «эффект бабочки»: влияя на незначительный аспект, можно коренным образом изменить поведение всей сети. Исследователи из НИИ наукоемких компьютерных технологий собирают различные мультагентные модели и проверяют на них способы влиять на необходимую динамику. Это помогает корректировать существующие схемы взаимодействия с населением в чрезвычайных ситуациях и создавать системы поддержки принятия решений. Например, специальное программное обеспечение поможет диспетчеру «скорой помощи» выбрать, куда везти больного с острым коронарным синдромом: в ближайшую больницу с большой очередью из пациентов или в клинику, которая может находиться на другом краю города, но на пути к которой совсем нет «пробок». В числе других проектов – модели процесса эвакуации с еще не достроенного стадиона «Зенит Арена», перемещения общественного транспорта на Васильевском острове, воспроизведенная динамика траты наличных денег, в том числе в теневом секторе, и так далее.
«Мы используем моделирование для того, чтобы ответить на вопрос: а что, если? Например, что изменится в каком-нибудь из районов города, если там построят новый жилой комплекс? Там увеличатся число населения и нагрузка на дорожную сеть. Можно проиграть этот сценарий и увидеть, где появятся пробки, которых раньше не было, – комментирует Владислав Карбовский. – Все законы и аспекты функционирования толпы, района, города знать не может никто, и мы создаем модели с определенными допущениями. Тем не менее, они помогают понять, как вмешательство может отразиться на системе. Именно к этому мы и стремимся, когда хотим спрогнозировать что-либо или разрабатываем систему поддержки принятия решений».
Суперкомпьютер для суперпрогноза
Отметим, что в Университете ИТМО также проводятся исследования, связанные с суперкомпьютерным моделированием не только поведения социальных систем. Среди них – проекты, посвященные многомасштабному моделированию динамических процессов в кровеносных сосудах, предсказание экстремальных явлений и оценка рисков устойчивого развития сложных систем, а также моделирование процессов большого города на основе данных индивидуальной мобильности населения.
«В мире есть бесконечное множество объектов, которые взаимодействуют друг с другом, это может происходить непредсказуемо, нелинейно, и незначительное изменение может привести к большим последствиям. Но, чтобы научиться понимать мир вокруг, не надо думать, что он сложный – он комплексный», – резюмирует Питер Слоот.
Редакция новостного портала Университета ИТМО