• Математика провисающих проводов и цепей в играх

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

    Введение в цепные линии


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

    Цепная линия — это фигура, к которой естественным образом сводится подвешенная за края верёвка или цепь. Неслучайно само название catenary происходит от латинского catenaria, что и означает «цепь».

    В современных играх появляется всё больше заброшенных предприятий и разрушенных окружений. И во многих из них встречается довольно много свисающих проводов. Например, их можно увидеть в комнате GLaDOS из «Portal» или в «Half-Life: Alyx».


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

    • Translation
    • Tutorial

    На Хабре часто выкладывают туториалы по разным областям знаний. Сегодня, к старту нового потока курса по machine learning, поделимся с вами туториалом.... по ядерной физике, работе реакторов и прогнозной аналитике с использованием Python.

    По данным Комиссии по ядерному регулированию, в США находится 31 исследовательский ядерный реактор. У автора есть лицензия на эксплуатацию одного из них, и в этой статье он продемонстрирует, как применил методы машинного обучения и общего анализа данных для прогнозирования уровней мощности импульсов и повышения показателя воспроизводимости наших экспериментов.

    Читать далее
    • +14
    • 2.4k
    • 7
  • Как устроены волны

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

      Чтобы ухватить это общее предлагаю разбираться в волнах последовательно.

      Начнём с вопроса, на первый взгляд не связанного с темой, но ответ на который сразу много прояснит.

      image
      Рис. 1. «Две параллельные линии». Канва, браш. Рама.

      Перед вами две параллельные линии, с ограниченной областью их просмотра, квадратным окном. Для различия они раскрашены. Вопрос простой: если красная линия это сдвинутая зелёная, то в какую сторону произошел сдвиг?
      Конечно, вправо-вверх, зачем ещё пять вариантов ответа?
      • +43
      • 12.6k
      • 4
    • Учимся квантовому программированию с помощью примеров. Доклад Яндекса

        Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запускать программы на локальном симуляторе и удаленном квантовом компьютере.


        — Всем привет, меня зовут Ришат. Я почти три года работаю над качеством поиска Яндекса. Но поговорить сегодня хочу не о работе, а о том, чем я занимаюсь в свободное время. Занимаюсь я квантовой информатикой, а на самом деле — самыми разными моделями вычислений, в том числе квантовыми.
        Читать дальше →
        • +16
        • 12.8k
        • 6
      • Javascript and Rocket Science

        Я уже два с половиной года пишу на Js, и почти повсюду вижу примеры решения типовых задач для этого языка . Отрисовать очередную онлайн-витрину, подать асинхронный запрос на бек за очередным JSON. Уровнем повыше - построить структуру данных для SPA и на ее основе отобразить визуальные компоненты. Но в Js есть полноценная библиотека математических функций, он обеспечивает неплохую для скриптового языка скорость вычислений (здесь сравнение производительности по бенчмаркам Питона vs Node ), так что почему бы не попытаться сделать еще один шаг и не решить с его помощью какую-нибудь инженерную задачу. Например - из космической области.

        Выйти в космос
        • +13
        • 2.8k
        • 8
      • Биологически правдоподобное обучение ИИ. Краткий обзор достижений

        • Translation

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

        В 2007 году ведущие мыслители в области нейронных сетей глубокого обучения организовали неофициальную «спутниковую» встречу на полях престижной ежегодной конференции по искусственному интеллекту. Последним спикером встречи был  Джеффри Хинтон  из Университета Торонто, когнитивный психолог и учёный в области компьютерных наук, ответственный за некоторые из крупнейших достижений в области глубоких сетей...

        Приятного чтения!
      • Трассировщик лучей с нуля за 100 строчек Python

        • Translation

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

        Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

        Читать далее
      • FermiNet: квантовая физика и химия с азов

        • Translation


        В статье, недавно опубликованной в Physical Review Research, мы демонстрируем, как при помощи глубокого обучения упрощается решение фундаментальных квантовомеханических уравнений для реальных систем. При этом решается не только принципиальный научный вопрос, но и открываются перспективы для практического использования полученных результатов в будущем.

        Исследователи смогут прототипировать новые материалы и соединения in silico прежде, чем попытаться синтезировать их в лаборатории. Также выложен код из этого исследования; таким образом, команды специалистов по вычислительной физике и химии могут опираться на проделанную работу и применять ее при решении разнообразных проблем. В рамках исследования была разработана новая архитектура нейронной сети, Fermionic Neural Network или FermiNet, которая хорошо подходит для моделирования квантового состояния больших совокупностей электронов – а ведь именно на электронах основаны все химические связи. Сеть FermiNet впервые продемонстрировала, как использовать глубокое обучение для вычисления энергии атомов и молекул с азов. Полученная модель оказалась достаточно точной для практического применения и на момент публикации оригинала статьи (октябрь 2020) оставалась наиболее точным нейросетевым методом, применяемым в отрасли. Предполагается, что связанные с ней методы и инструментарий могут пригодиться при решении фундаментальных проблем в естественных науках. Авторы FermiNet уже применяют ее в работе над сверткой белков, динамикой стеклообразных соединений, квантовой хромодинамикой на решетке и во многих других проектах, помогающих воплотить данные наработки на практике.
        Читать дальше →
        • +13
        • 3.6k
        • 2
      • Невидимый балет: молекулярные орбитали, перенос электронов и томография



          На протяжении всей истории человечества мы пытались понять, объяснить и придать значение всему, что нас окружает. Благодаря кропотливому труду великих умов мы осознали, что не являемся центром всего сущего. С точки зрения Вселенной, человек это всего лишь песчинка, которую окружают величественные гиганты планет, звезд и галактик. Для нас Вселенная это словно вся планета Земля для одного муравья. Но даже он кажется Колоссом по сравнению с тем, что является строительным блоком всего, что наполняет окружающий мир. Речь, конечно же, идет об атомах. Радиус такой микрочастицы в зависимости от происхождения может составлять от 30 до 300 триллионных долей метра. И даже это не является пределом, ведь внутри каждого атома имеются еще более мелкие частицы — электроны, протоны и нейтроны. Самыми малыми и сложными для изучения являются электроны. Точное положение электрона в атоме/молекуле в тот или иной момент времени определить крайне сложно, особенно если происходит какая-то реакция. Однако ученые из Юлихского исследовательского центра (Юлих, Германия) разработали методику, благодаря которой им удалось записать изображения электронных орбиталей с чрезвычайно высоким временным разрешением. Что лежит в основе созданной методики, как именно она работает, и что удалось увидеть на снимках? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
          Читать дальше →
          • +12
          • 2.7k
          • 2
        • Трёхмерная графика с нуля. Часть 2: растеризация

          • Translation
          image


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

          К сожалению, эта простота имеет свою цену: низкую производительность. Несмотря на то, что существует множество способов оптимизации и параллелизации трассировщиков лучей, они всё равно остаются слишком затратными с точки зрения вычислений для выполнения в реальном времени; и хотя оборудование продолжает развиваться и становится быстрее с каждым годом, в некоторых областях применения необходимы красивые, но в сотни раз быстрее создаваемые изображения уже сегодня. Из всех этих областей применения самыми требовательными являются игры: мы ожидаем рендеринга отличной картинки с частотой не менее 60 кадров в секунду. Трассировщики лучей просто с этим не справятся.

          Тогда как это удаётся играм?

          Ответ заключается в использовании совершенно иного семейства алгоритмов, которое мы исследуем во второй части статьи. В отличие от трассировки лучей, которая получалась из простых геометрических моделей формирования изображений в человеческом глазе или в камере, сейчас мы будем начинать с другого конца — зададимся вопросом, что мы можем отрисовать на экране, и как отрисовать это как можно быстрее. В результате мы получим совершенно другие алгоритмы, которые создают примерно похожие результаты.
          Читать дальше →
          • +36
          • 34.6k
          • 2
        • Наука и рациональность на YouTube (авторские плейлисты)

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

          Делюсь тем, что из этого вышло.

          Оценить подборку
        • Открытые материалы: курс по вычислительной нейронауке

            В осеннем семестре 2020 года команда лаборатории Нейробиологии и физиологии развития прочитала курс «Вычислительные Нейронауки» для студентов партнерских магистратур ВШЭ и ИТМО, а также для заинтересованных вольнослушателей. Курс проводится в рамках образовательных программ JetBrains c 2019 года. В этом году, в отличие от прошлого, формат обучения был, естественно, дистанционный –– лекции и семинары проводились в виде видеоконференций. В ходе курса студентам был предложен базовый материал для изучения и обсуждения в аудитории, материалы для самостоятельного, более глубокого погружения, интересные практические задания по моделированию нейронов и биологических нейронных сетей. 

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

            Читать далее
          • В подходе к математике столетней давности найдены новые ключи к разгадке природы времени

            • Translation

            Из законов физики следует, что течение времени – всего лишь иллюзия. Чтобы избежать такого заключения, нам, возможно, придётся переосмыслить реальность чисел с бесконечной точностью.



            Если числа нельзя записывать бесконечными последовательностями цифр, то и будущее не предопределено

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

            К примеру, в теории относительности Эйнштейна время переплетено с тремя измерениями пространства, и формирует гибкий четырёхмерный пространственно-временной континуум – "блок-вселенную", охватывающую прошлое, настоящее и будущее. Уравнения Эйнштейна описывают всё в блок-вселенной, как предрешённое с самого начала; изначальные условия космоса определяют, что будет дальше, и никаких сюрпризов не происходит – они только кажутся сюрпризами. «Для нас, верящих в физику, — писал Эйнштейн в 1955, за несколько недель до смерти, — различие между прошлым, настоящим и будущим является лишь упорной и настойчивой иллюзией».
            Читать дальше →
          • Создание процедурной анимации смерти при помощи автоматов падающего песка

            • Translation
            В этом посте я покажу, как использовал автоматы падающего песка для генерации анимаций смерти монстров в моей игре Vagabond.



            Автоматы падающего песка


            Автомат падающего песка — это клеточный автомат, симулирующий перемещение песчинок и создание куч песка под действием гравитации.

            Правила просты:

            • Если ячейка под песчинкой пуста, то песчинка движется в пустую ячейку (см. (a)).
            • Если ячейка под песчинкой заполнена, но свободна ячейка внизу слева или внизу справа, то песчинка движется туда (см. (b)). Если свободны обе, то одна из них выбирается случайным образом.
            • В остальных случаях песчинка не движется.
            Читать дальше →
            • +65
            • 8.3k
            • 9
          • Четырёхмерный лабиринт с видом от первого лица

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

            - вид от первого лица

            - возможность свободного перемещения и вращения во всех направлениях, без жестко заданных траекторий и углов поворота

            - простая и привычная графика, с текстурами и освещением

            - отсутствие лишних геймплейных элементов и бóльшая направленность игры на исследование четырёхмерного мира

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

            Читать далее
          • Ёжик во фрактальном тумане

              Эта статья — последняя из серии моих хабрастатей о фракталах. В хабрастатье «Рисуем картинки с помощью кривой Гильберта» рассказывалось о котёнке по имени Гав, в хабрастатье «Кош на комплексной плоскости» — о перетекании фракталами в горизонт, в хабрастатье «Ночь фракталов» — об алгоритме времени убегания. В этой статье пойдёт речь о ёжике в тумане и, конечно же, о коте.



              Читать дальше →
            • Абиогенез и алгоритмы естественного отбора

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

              Изучить подробнее...
            • Симулятор нервной системы. Часть 1. Простой сумматор



                Здравствуй, Geektimes! Я хочу поделиться свой работой над созданием системы позволяющей моделировать рефлекторные и когнитивные процессы, протекающие в нервной системе.

                Частично система воплощена в простенькой программе, созданной на игровом движке Unity3D. Это своего рода симулятор нервной системы, благодаря которому возможно имитировать не только простые рефлексы, но и демонстрировать различные явления в нервной системе, такие как привыкание, сенсибилизация и образование условных рефлексов. А также возможно эмулировать временную и долговременную память и её консолидацию, эмоции и эмоциональное поведение. Причем как простые эмоции, к примеру, голод и насыщение, так и более сложные, такие как любопытство, страх или привязанность. Благодаря системе у нас появится возможность разобраться в предназначении различных областей мозга, в том, как происходит распознавание зрительных образов, как происходит обучение и эмоциональная оценка происходящего.
                Читать дальше →
              • Трехмерный движок в коде… ДНК

                • Tutorial
                UPD 29 ноября: Репозиторий с кодом ДНК выложен на GitHub.
                github.com/pallada-92/dna-3d-engine

                UPD 30 ноября:
                В англоязычном твиттере заметили проект
                Новость попала в топ-10 на HackerNews!






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

                Ответ довольно неожиданный — lingua franca для моделирования сложных процессов в клетках является реакции вида
                Эти реакции моделируются при помощи закона действующих масс, который одинаково работает и в химии, и в молекулярной биологии.

                — Неужели при помощи этих примитивных реакций можно что-то программировать?
                — Да, а то, что написано выше, вычисляет $B = \sqrt{A}$.

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

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

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

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


                  С интересом слежу за темой симуляции живого посредством компьютерных программ. Нейросети демонстрируют огромный прогресс переваривая гигабайты информации.
                  Обучение нейронных сетей, в части требуемых ресурсов, далеко ушло от среднего по мощности настольного компьютера. Поэтому всегда интересны "игрушечные" проекты с быстрой обратной связью в части обучения нейросетей. А лучше всего, чтобы нейросеть сама и обучалась без заметных усилий со стороны разработчика. Этой весной был приятно удивлен обнаружив статью Job Talle о нейроэволюции кальмаров.

                  Читать дальше →