Search
Write a publication
Pull to refresh
332
6
Сергей Самойленко @samsergey

Руководитель, научный сотрудник, преподаватель

Send message

Физическая и математическая реальности

Reading time17 min
Views21K

Эта статья является второй частью конспекта книги «Наша математическая вселенная. В поисках фундаментальной природы реальности» (автор Макс Тегмарк).

Идея, что Вселенная в некотором смысле является математической, восходит по меньшей мере к пифагорейцам и породила многовековую дискуссию физиков и философов. Галилей утверждал, что Вселенная – это «величественная книга», написанная на языке математики. Лауреат Нобелевской премии по физике Юджин Вигнер в 60-х годах XX века настаивал, что «невероятная эффективность математики в естественных науках» нуждается в объяснении.

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

Читать далее

Как собирать, хранить и поставлять водород

Reading time9 min
Views35K

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

Читать далее

Комплексные числа и геометрические узоры

Reading time6 min
Views30K
Когда речь заходит о комплексных числах, в первую очередь вспоминают о преобразовании Фурье и прочих аспектах цифровой обработки сигналов. Однако у них есть и более наглядная интерпретация, геометрическая — как точки на плоскости, координатам которой соответствуют действительная и мнимая часть комплексного числа. Рассматривая некоторую кривую как совокупность таких точек, можно описать её как комплексную функцию действительной переменной.

Дальше больше картинок и анимаций

JavaScript: изучаем регулярные выражения на практике

Reading time18 min
Views71K

image


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


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


В данной статье мы сосредоточимся на валидации.


Что конкретно мы будем делать? Мы возьмем несколько регулярок из validator.js (наиболее популярной библиотеки для валидации данных с помощью регулярных выражений) и произведем их подробный разбор. Также мы рассмотрим несколько дополнительных регулярок и один алгоритм.


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

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

Неполнота науки: как жил и что доказал Курт Гёдель?

Reading time15 min
Views56K

«Достижения Курта Гёделя в современной логике уникальны и монументальны. Определенно, это — нечто большее, нежели памятник ученому, это — путеводная звезда, свет которой продолжит распространяться в пространстве и времени вечно». 

Джон фон Нейман

Накануне гибели Австро-Венгерская империя подарила человечеству немало великих умов. Такие громкие имена, как Эрвин Шрёдингер, Зигмунд Фрейд и Стефан Цвейг известны, пожалуй, каждому, включая даже тех, кто бесконечно далек от мира физики, психоанализа или классической литературы. С работами же Курта Гёделя знакомы не многие, хотя масштаб его вклада в математическую науку сопоставим с достижениями Эйнштейна в области физики. Ведь если теория относительности и квантовая теория помогли человечеству взглянуть под совершенно иным углом на законы мироздания, то теоремы Гёделя заставили ученых пересмотреть свои представления о научной методологии и принципах работы человеческого разума.

Логика, как образ жизни


Курт Фридрих Гёдель родился 28 апреля 1906 года в австро-венгерском городе Брюнн (ныне — статутный город Чешской Республики Брно), в семье австрийского коммерсанта Рудольфа Августа Гёделя, управляющего крупной текстильной фабрикой. Хотя Курт с детства демонстрировал недюжинные способности к языкам (еще в ранней юности он освоил английский и французский, научившись изъясняться на них не хуже, чем на родном немецком), однако карьера лингвиста его не прельщала. Окончив в 1923 году школу, молодой человек поступил в Венский университет, первые два курса которого посвятил изучению физики, однако затем переключился на математику, чему во многом способствовало прочтение книги Бертрана Рассела «Введение в философию математики».


Молодой Курт Гёдель, 1925 год
Читать дальше →

Как преобразовать текст в алгебру

Reading time10 min
Views4.9K

Как пишут тексты в Большой Академии в Лагадо

Алгебра и язык (письменность) являются двумя разными инструментами познания. Если их объединить, то можно рассчитывать на появление новых методов машинного понимания. Определить смысл (понять) – это вычислить как часть соотносится с целым. Современные поисковые алгоритмы уже имеют задачей распознавание смысла, а тензорные процессоры Google выполняют матричные умножения (свертки), необходимые для алгебраического подхода. При этом в семантическом анализе используются в основном статистические методы. В алгебре выглядело бы странным использование статистики при поиске, например, признаков делимости чисел. Использование алгебраического аппарата полезно также для интерпретации результатов вычислений при распознавании смысла текста.

Читать далее

Вирусный мегаполис: кто живет в нашем ЖКТ

Reading time12 min
Views6.7K


Наша планета во многих аспектах уникальна, особенно если говорить про ее обитателей. На Земле обитает настолько великое многообразие видов, что даже ученые не могут прийти к общему умозаключению в оценке их числа. Кто-то считает, что видов около 5 миллионов, а кто-то смело заявляет про миллиард. Кого же на Земле больше всех? Людей, конечно, много, но даже муравьи, несмотря на свои скромные габариты, обходят нас в этом соревновании — порядка 1 квадриллиона муравьев (около 12 000 видов). Однако есть существо, которое превосходит даже муравьев. И это вирус. Группа ученых из института Сенгера (Великобритания) провели глобальное исследование, в ходе которого определили 140000 видов вирусов, обитающих в пищеварительной системе человека. О каких именно вирусах идет речь, что нового показало данное исследование, и как оно может повлиять на будущее вирусологии? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →

Наиболее точное скалярное произведение векторов типа double. Вычисление значения полинома

Reading time7 min
Views12K
В прошлой статье речь шла о том, как можно сложить массив из чисел типа double наиболее точно, то есть получить такую сумму, как если бы мы выполняли вычисления в рамках арифметики с бесконечной точностью, а затем один раз округлили бы результат. Был показан алгоритм, который эквивалентен применению типа данных double-double, в котором сложение происходит сразу в двух переменных: основная сумма и хвостик-погрешность. Опытные читатели сразу догадались, что сложение хвостиков-погрешностей также допускает по отношению к себе рекурсивное применение того же алгоритма, что приводит не к удвоенной, а к утроенной точности, и вообще, можно организовать каскад сложений произвольного размера, получая любую наперёд заданную точность расчётов, поэтому фактически в прошлой статье была показана предпосылка к так называемой «дробной длинной арифметике». Опытный программист без труда разберётся как её реализовать, ну а я обещал дать аналогичные фундаментальные основы для скалярного произведения и вычисления полинома в точке. Поскольку все базовые вводные слова уже были сказаны в двух предшествующих статьях, в этой будет меньше «воды» и «лишних», по мнению опытных математиков, сведений. Прошу под кат.

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Reading time70 min
Views390K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →

Видеолекции: unix way

Reading time6 min
Views3.5K

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

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

Для начала определимся, какие кадры нам понадобятся:

  1. Собственно слайды с закадровым голосом
  2. Смена слайдов
  3. Цитаты-перебивки из популярных фильмов
  4. Несколько кадров с физиономией лектора и любимым котом (опционально)

Итак

Обобщение задачи Брокара

Reading time4 min
Views6.6K

История


Гильберт в 1900 году на II Международном конгрессе математиков в Париже отметил практическую важность теории чисел. Решение абстрактных задач часто приводило к появлению нового математического аппарата. Ярким примером служит Великая Теорема Ферма, в ходе доказательства которой в конце XX-ого века были исследованы мероморфные функции, применяющиеся современными инженерами-конструкторами на авто- и авиазаводах, а также IT-специалистами в рамках имитационного моделирования. Задачи о "красивых числах" — простых близнецах и совершенных числах, считавшиеся в Древней Греции практически бесполезными, теперь обеспечивают современную криптографию устойчивыми алгоритмами генерации ключей.


В 1913 году Рамануджан популяризирует неопределённое уравнение:

$n!+1=m^2 (1)$


Ранее оно фигурировало в работах Анри Брокара. Как утверждают историки, два математика занялись изучением указанного уравнения независимо друг от друга. Очевидно, факториал растёт быстрее квадрата, поэтому первые решения можно быстро получить перебором значений n.
Читать дальше →

Основы современного искусственного интеллекта: как он работает, и уничтожит ли наше общество уже в этом году?

Reading time18 min
Views30K

Сегодняшний ИИ технически «слабый» – однако он сложный и может значительно повлиять на общество



Не нужно быть Киром Дулли, чтобы знать, насколько пугающим может стать хорошо соображающий искусственный интеллект [американский актёр, исполнявший роль астронавта Дэйва Боумена в фильме «Космическая одиссея 2001 года» / прим. перев.]

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

«Топологическая» сортировка графа с циклами

Reading time4 min
Views15K
Полное название статьи должно было звучать как «Устойчивая „топологическая“ сортировка графа с циклами за O(|V| + |e| log |e|) по времени и O(|V|) по памяти без рекурсии», но мне сказали, что это перебор.
Читать дальше →

Julia: типы, мультиметоды и арифметика над полиномами

Reading time13 min
Views6K
В этой публикации речь пойдёт об основной, на мой взгляд, отличительной особенности языка Julia — представлении функций в виде методов с множественной диспетчеризацией. Это позволяет повысить производительность вычислений, не снижая читаемости кода и не портя абстрагируемость, с одной стороны, и позволяет работать с математическими понятиями в более привычной нотации, с другой. Для примера рассмотрен вопрос единообразной (с точки зрения линейных операций) работы с полиномами в представлении списка коэффициентов и с интерполяционными полиномами.
Читать дальше →

Отсеиваем простые из миллиарда чисел быстрее, чем в Википедии

Reading time4 min
Views16K
(Источник рисунка )

Общеизвестно, что Решето Эратосфена (РЭ) один из древнейших алгоритмов, появившийся задолго до изобретения компьютеров. Поэтому можно подумать, что за века этот алгоритм изучен вдоль и поперек и добавить к нему ничего невозможно. Если посмотреть Википедию – там море ссылок на авторитетные источники, в которых запросто утонуть. Поэтому удивился, когда на днях случайно обнаружил, что вариант, который в Википедии преподносится как оптимальный, можно заметно оптимизировать.
Читать дальше →

Введение в Python

Reading time12 min
Views97K
В данной статье мы затронем основы Python. Мы все ближе и ближе к цели, в общем, скоро приступим к работе с основными библиотеками для Data Science и будем использовать TensorFlow (для написания и развертывания нейросетей, тобишь Deep Learning).

Установка


Python можно скачать с python.org. Однако если он еще не установлен, то вместо
него рекомендую дистрибутивный пакет Anaconda, который уже включает в себя большинство библиотек, необходимых для работы в области науки о данных.

Если вы не используете дистрибутив Anaconda, то не забудьте установить менеджер пакетов pip, позволяющий легко устанавливать сторонние пакеты, поскольку некоторые из них нам понадобятся. Стоит также установить намного более удобную для работы интерактивную оболочку IPython. Следует учитывать, что дистрибутив Anaconda идет вместе с pip и IPython.

Пробельные символы


Во многих языках программирования для разграничения блоков кода используются
фигурные скобки. В Python используются отступы:

# пример отступов во вложенных циклах for
for i in [ 1, 2, 3, 4, 5] :
print (i) # первая строка в блоке for i
for j in (1, 2, З, 4, 5 ] :
print ( j ) # первая строка в блоке for j
print (i + j) # последняя строка в блоке for j
print (i) # последняя строка в блоке for i
print ( "циклы закончились ")
Читать дальше →

Создание надёжного и проверяемого ИИ: соответствие спецификациям, надёжное обучение и формальная верификация

Reading time9 min
Views3.8K
Ошибки и ПО шли рука об руку с самого начала эпохи программирования компьютеров. Со временем разработчики выработали набор практик по тестированию и отладке программ до их развёртывания, однако эти практики уже не подходят к современным системам с глубоким обучением. Сегодня основной практикой в области машинного обучения можно назвать тренировку на определённом наборе данных с последующей проверкой на другом наборе. Таким способом можно подсчитать среднюю эффективность работы моделей, однако важно также гарантировать надёжность, то есть приемлемую эффективность в худшем случае. В данной статье мы опишем три подхода для точного определения и устранения ошибок в обученных прогнозирующих моделях: состязательное тестирование [adversarial testing], устойчивое обучение [robust learning] и формальную верификацию [formal verification].

Системы с МО по определению не устойчивы. Даже системы, выигрывающие у человека в определённой области, могут не справиться с решением простых задач при внесении малозаметных различий. К примеру, рассмотрим проблему внесения возмущений в изображения: нейросеть, способную классифицировать изображения лучше людей, легко заставить поверить в то, что ленивец – это гоночный автомобиль, добавив небольшую долю тщательно рассчитанного шума в изображение.
Читать дальше →

Хватит спорить про функциональное программирование и ООП

Reading time5 min
Views34K
Пост содержит некоторое количество стёба, минздрав убедительно просит неподготовленного читателя воздержаться от прочтения.

Статьи на тему «ФП лучше» или «ООП лучше» напоминают дебаты, что же лучше для обеда, вилка или ложка. Традиционно джуны начинали с ложки, но кто-то очень авторитетный однажды поведал, что ест только мясо и использует вилку, поэтому зародилась новая мода — есть вилкой. Ей едят и каши, и супы, и даже умудряются лакать смузи. Интернет завален статьями, какие мы молодцы, что научились есть смузи вилкой и преодолели все грабли. Это и смешно и грустно, с одной стороны, даёт конкурентное преимущество бывалым ребятам, которые показывают сверхрезультаты просто игнорируя этот хайп, с другой, приходится переучивать коллег и сотрудников, вычищая из их головы нанесённый ветром мусор. В этой статье я постараюсь рассказать своё видение, которое не претендует на абсолютную истину, но очень хорошо работает на практике
Читать дальше →

Лабиринты: классификация, генерирование, поиск решений

Reading time44 min
Views93K

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

Классификация лабиринтов


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

Information

Rating
83-rd
Location
Петропавловск-Камчатский, Камчатский край, Россия
Date of birth
Registered
Activity