Как стать автором
Обновить
244
0
Осипов Роман @OsipovRoman

Руководитель IT-студии, эксперт Wolfram, математик

Отправить сообщение

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование

Время на прочтение8 мин
Количество просмотров7.8K
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ними связанных — для поиска параметров линейной рекурсии FindLinearRecurrence (коэффициентов линейного рекуррентного уравнения), производящих функциях GeneratingFunction и Z-преобразовании ZTransform.

Первая функция — FindSequenceFunction — по последовательности чисел ищет выражение для её n-го члена не требуя вообще ничего более.

Hold @ FindSequenceFunction[{1, 1, 2, 3, 5, 8, 13}, n]



FindSequenceFunction[
{-2, 4Sqrt[Pi],
-16, 16Sqrt[Pi],
-128/3, 32Sqrt[Pi],
-1024/15, 128Sqrt[Pi]/3,
-8192/105, 128Sqrt[Pi]/3},
n]


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз

Время на прочтение77 мин
Количество просмотров13K
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

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

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Всего голосов 22: ↑21 и ↓1+20
Комментарии20

Книга Алана Тьюринга и загадочная записка — Научный детектив

Время на прочтение30 мин
Количество просмотров11K

Оригинал перевода в моём блоге

Как ко мне попала эта книга?


В мае 2017 года я получил электронное письмо от моего старого учителя средней школы по имени Джордж Раттер, в котором он писал: «У меня есть копия большой книги Дирака на немецком языке (Die Prinzipien der Quantenmechanik), которая принадлежала Алану Тьюрингу, и после того как я прочел вашу книгу Создатели идей (Idea Makers), мне показалось само собой разумеющимся, что вы именно тот человек, которому она нужна». Он объяснил мне, что получил книгу от другого (к тому времени умершего) моего школьного учителя Нормана Рутледжа, о котором я знал, что он был другом Алана Тьюринга. Джордж закончил свое письмо фразой: «Если вам нужна эта книга, я мог бы вручить ее вам в следующий раз, когда вы приедете в Англию».

Спустя пару лет в марте 2019 года я действительно прибыл в Англию, после чего договорился с Джорджем о встрече за завтраком в небольшом отеле в Оксфорде. Мы ели, болтали и ждали, пока еда уляжется. Затем настал подходящий момент для обсуждения книги. Джордж сунул руку в портфель и вытащил довольно скромно оформленный, типичный академический томик середины 1900-х годов.



Я открыл обложку, размышляя, не может ли на ней быть с обратной стороны надписи: «Собственность Алана Тьюринга» или чего-то в этом духе. Но, к сожалению, это оказалось не так. Тем не менее к ней была приложена достаточно выразительная записка на четырех листах от Нормана Рутледжа к Джорджу Раттеру, написанная в 2002 году.

Я знал Нормана Рутледжа, когда еще был учеником средней школы в Итоне в начале 1970-х годов. Он был учителем математики по прозвищу «Чокнутый Норман». Он был приятным во всех отношениях преподавателем и рассказывал бесконечные байки о математике и о всяких других занимательных вещах. Он был ответственным за то, чтобы школа получила компьютер (программируемый с помощью перфоленты шириной с парту) — это был самый первый компьютер, который я когда-либо использовал.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии3

Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения

Время на прочтение8 мин
Количество просмотров8.3K

Оригинал перевода в моём блоге

Пара видео о Wolfram Language


Почему вы до сих пор не используете технологии Wolfram?


Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технологиях, например о том как они очень помогали им при обучении в школе или в проведении научных работ, но когда после этого я задаю им вопрос: «Итак, вы используете язык Wolfram Language и его вычислительные возможности в своих системах программного обеспечения?» Иногда они отвечают — да, но слишком часто наступает неловкое молчание, и после этого они говорят: «Нет, а разве это возможно?».

Free Wolfram Engine for DevelopersЯ хочу быть убежден, что ответом на этот вопрос всегда будет только: «Да, это просто!». И чтобы помочь Вам в этом, мы сегодня запускаем бесплатный движок Wolfram Engine для разработчиков (Free Wolf Engine for developers). Это полноценный движок языка Wolfram Language, который можно развернуть в любой системе и вызвать из любых программ, языков, веб-серверов или чего-либо еще…

Wolfram Engine — это сердце всех наших программных продуктов. Это то, что реализует язык Wolfram, со всем его вычислительным интеллектом, алгоритмами, базой знаний и так тому подобным. Это то, что поддерживает наши настольные продукты (включая Mathematica), а также нашу облачную платформу. Это то, что сидит внутри Wolfram|Alpha, а также во все большем и большем количестве основных производственных систем в мире. И вот, наконец, мы предоставляем возможность бесплатного скачивания этого движка для решения задач использования в своих проектах по разработке программного обеспечения всем желающим.
Всего голосов 14: ↑13 и ↓1+12
Комментарии20

WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python

Время на прочтение8 мин
Количество просмотров7.8K

Оригинал перевода в моём блоге

Получение полного доступа к языку Wolfram Language из языка Python


Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении многих лет люди спрашивают нас, как получить доступ ко всем возможностям нашей технологии из других программных сред и языков программирования. Шли годы и мы создали множество таких решений как Wolfram CloudConnector для Excel, WSTP (протокол символьной передачи Wolfram) для программ на C/C++ и, конечно, J/Link, который обеспечивает доступ к Wolfram Language непосредственно из Java.

Поэтому сегодня мы рады официально представить вам новое долгожданное решение по объединению языков, что позволит напрямую и эффективно вызывать Wolfram Language из языка Python: Клиентскую библиотеку Wolfram для Python. И что особенно важно, это клиентская библиотека имеет полностью открытый исходный код размещенный на git-хранилище WolframClientForPython под лицензией MIT, так что вы можете сколько угодно копировать ее и как угодно использовать ее по своему усмотрению.

Это легко и просто


Клиентская библиотека Wolfram позволяет легко интегрировать большую коллекцию алгоритмов языка Wolfram Language, а также базу знаний Wolfram непосредственно в любой уже существующий код Python, что значительно экономит ваше время и силы при разработке нового кода. В этой статье мы сначала покажем вам, как настроить соединение между Python и Wolfram Language, рассмотрим несколько методов и примеров, которые могут быть использованы для вычислений на языке Wolfram Language, а затем и вызова его для использования из Python. Для получения более полной справочной информации перейдите по ссылке: домашняя страница документации для клиентской библиотеки Wolfram для Python.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии6

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

Время на прочтение17 мин
Количество просмотров11K

Скачать файл с кодом и данные можно в оригинале поста в моем блоге

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

Этот ресурс предоставляет уникальную возможность сравнить коды программ на разных языках, этим мы и займемся в этой статье. Она является полной переработкой и доработкой статьи Джона Маклуна "Code Length Measured in 14 Languages".
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии19

30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама

Время на прочтение43 мин
Количество просмотров18K

Оригинал перевода в моём блоге

Прямая трансляция Стивена Вольфрама о конкурсе (на английском)

Сайт конкурса

Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старого) в двоичной системе счисления задается как 0-0-0-1-1-1-1-0, что можно интерпретировать как 30 в десятичной системе счисления.

Итак, с чего все началось? — «Правило 30»


Как может быть так, что что-то невероятно простое производит на свет что-то невероятно сложное? Прошло уже почти 40 лет с того момента, как я впервые познакомился с Правилом 30, но оно до сих пор поражает меня и приводит в восторг. На долгое время оно стало моим личным любимым открытием в истории науки, за эти годы оно изменило все мое мировоззрение и привело меня к разнообразным новым типам понимания науки, технологий, философии и многому другому.

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

Итак, сегодня я предлагаю соискателям 30000 долларов США в качестве общей суммы призов за ответы на три основных вопроса о Правиле 30.

Правило 30 чрезвычайно просто:
Существует последовательность строк черных и белых клеток (ячеек) и, учитывая конкретную строку чёрно-белых ячеек, определяются цвета ячеек в строке ниже, рассматривая каждую ячейку в отдельности и ее смежных соседних ячеек, затем к ним применяется следующее простое правило подстановки, а именно:


Код
RulePlot[CellularAutomaton[30]]
[Посмотрите ролик, в котором за пару минут рассказывается суть клеточных автоматов и Правила 30 — примечание переводчика]
Всего голосов 38: ↑37 и ↓1+36
Комментарии19

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи

Время на прочтение10 мин
Количество просмотров4.4K


Все документы курса можно скачать здесь.

Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language.

Однако, конечно, время не стоит на месте и за последнее время появилось очень много нового: от продвинутых возможностей работы с нейросетями до всевозможных веб-операций; теперь есть Wolfram Engine, который можно поставить на свой сервер и обращаться к нему, как к Python; можно строить всяческие географические визуализации или химические; есть огромные хранилища всевозможных данных, в том числе по машинному обучению; можно подключаться ко всевозможным базам данных; решать сложнейшие математические задачи и пр.

Все возможности технологий Wolfram трудно перечислить за пару абзацев или несколько минут.
Все это сподвигло меня сделать новый курс, на который сейчас идет регистрация.
Уверен, открыв для себя возможности языка Wolfram Language, вы станете его использовать все чаще и чаще, решая свои задачи быстро и эффективно в самых разных областых: от науки до автоматизации дизайна или парсинга сайтов, от нейросетей до обработки иллюстраций, от визуализации молекул до построения мощных интерактивов.
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Моменты жизни Стивена Вольфрама — создателя Mathematica, Wolfram|Alpha, A New Kind Of Science и много чего ещё

Время на прочтение10 мин
Количество просмотров8.5K

Оригинал поста в моём личном блоге

Мне посчастливилось лично познакомиться со Стивеном Вольфрамом на Первой Российской конференции «Wolfram технологии», которая проходила в 2013 г. в СПбГУ. После мы пересекались на телемосте Стивена в Digital October. Записи этих выступлений вы найдёте ниже (к сожалению, у видео с конференции нет перевода).

Стивен Вольфрам крайне интересный человек: он приковывает к себе не только потрясающим умом, всем историческим IT-бэкграудом (ведь он лично работал и знает практически всех, кого мы можем вспомнить — от Стива Джобса до своего наставника Ричарда Фейнмана), своей славой «сверхгика» (чего стоит только его непрерывный сбор и анализ всех данных о себе) и пр.

Я думаю, что многим, связанным (или интересующимся) IT-индустрией будет интересно (даже полезно) посмотреть на моменты его жизни от детства до создания одной из первых систем компьютерной алгебры (SMP — которая потом легла в основу Mathematica), участия в создании языка пришельцев из фильма «Прибытие», слушаниях конгресса США по искусственному интеллекту и многом другом.

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

В основу этого поста легла страница Стивена о себе.
Всего голосов 37: ↑31 и ↓6+25
Комментарии2

«Игра престолов»: строим инфографику об убийствах, сексе, путешествиях по Вестеросу и многое другое

Время на прочтение22 мин
Количество просмотров79K



Оригинал поста + Вспомогательные функции и исходные данные

Оглавление


Взаимоотношения персонажей
Кто кого родил
Кто кому брат или сестра
Кто кого убил
Кто кому служит
Кто с кем женат или помолвлен
У кого с кем был секс
Все отношения на одном графе
Связь персонажей по сценам
Кто самый «популярный» персонаж Игры престолов?
Количество экранного времени у персонажей
Сколько персонажей было в сериях?
Кто из персонажей был в самом большом количестве серий «Игры престолов»?
Самые популярные локации «Игры престолов»
Карта локаций «Игры престолов»
Перемещения персонажей «Игры престолов» от серии к серии
Кто больше всего «путешествовал» из персонажей «Игры престолов»?
Самые популярные локации «Игры престолов» (по экранному времени)
В каких фильмах ещё играли актёры Игры престолов и насколько они знакомы?
Фильмы, в которых играли самые «востребованные» актёры «Игры престолов»:
Актёры «Игры престолов» в «Гарри Поттере»
Актёры «Игры престолов» в «Звёздных войнах»
Актёры «Игры престолов» в «Пиратах карибского моря»
В каких фильмах/сериалах много актёров «Игры престолов»
Как тесно связаны между собой актёры «Игры престолов»
Разговоры в «Игре престолов»
Пол персонажей «Игры престолов»: кого больше, мужчин или женщин?
В этом посте я расскажу о том, как применять язык Wolfram Languge в анализе и визуализации данных на примере базы данных по «Игре престолов». В этой статье не уделяется особого внимания парсингу данных, об этом я расскажу отдельно. Вместо этого пост целиком посвящен интересной инфографике и её созданию.

Надеюсь, что построенные визуализации заинтересуют тех, кому нравится этот замечательный сериал).
Всего голосов 148: ↑134 и ↓14+120
Комментарии77

Теорема Бошерницана

Время на прочтение3 мин
Количество просмотров4.3K
В статье дано простое доказательство того, что отображение компактного метрического пространства в себя, не уменьшающее расстояния, является изометрией.



Отображение $f:E\rightarrow E$ метрического пространства с метрикой $\rho (\cdot ,\cdot )$ называют изометрией, если для любых $x,y\in E$ справедливо равенство $\rho (x,y)=\rho (f(x),f(y))$. Мы докажем здесь следующее утверждение:

Теорема. Если $f:E\rightarrow E$ отображение компактного метрического пространства в себя, такое что

$\rho (x,y)\leq \rho (f(x),f(y))(1)$

для любых $x,y\in E$, то отображение $f$ — изометрия.

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

Через $|A|$ будем обозначать количество элементов конечного множества $A$.

Для $x\in E$ и $\varepsilon >0$ множество $Q_{x,\varepsilon }=\{y:y\in E,\rho (x,y)<\varepsilon \}$ назовем $\varepsilon$-окрестностью точки $x$ (или открытым шаром с центром в точке $x$ и радиусом $\varepsilon$).

Конечное множество $A\subset E$ назовём $\varepsilon$-сетью в $E$ (или просто $\varepsilon$-сетью), если для любой точки $x\in E$ найдётся точка $y\in A$ такая, что $\rho (x,y)<\varepsilon$. Множество $B\subset E$ назовём $\varepsilon$-разреженным, если $\rho (x,y)\geq \varepsilon$ для любых $x,y\in B$, таких, что $x\neq y$.

Для любого конечного множества $A=\left\{a_1,\ldots ,a_m\right\}\subset E$ обозначим через $l(A)$ сумму $\sum _{i\leq j} \rho \left(a_i,a_j\right)$. Величину $l(A)$ назовём длиной множества $A$.
Читать дальше →
Всего голосов 27: ↑19 и ↓8+11
Комментарии17

Новый способ введения экспоненты

Время на прочтение3 мин
Количество просмотров7.6K
В статье предложен новый весьма необычный способ определения экспоненты и на основе этого определения выведены её основные свойства.



Каждому положительному числу $a$ поставим в соответствие множество $E_a=\left\{x:x=\left(1+a_1\right)\left(1+a_2\right)\ldots \left(1+a_k\right)\right.$, где $a_1,a_2,\ldots ,a_k>0$ и $\left.a_1+a_2+\ldots +a_k=a\right\}$.

Лемма 1. Из $0<a<b$ следует, что для каждого элемента $x\in E_a$ найдётся элемент $y\in E_b$ такой, что $y>x$.

Будем писать $A\leq c$, если $c$ верхняя граница множества $A$. Аналогично, будем писать $A\geq c$, если $c$ — нижняя граница множества $A$.

Лемма 2. Если $a_1,a_2,\ldots ,a_k>0$, то $\left(1+a_1\right)\left(1+a_2\right)\ldots \left(1+a_k\right)\geq 1+a_1+a_2+\text{...}+a_k$.

Доказательство


Проведём рассуждение по индукции.

Для $k=1$ утверждение очевидно: $1+a_1\geq 1+a_1$.

Пусть $\left(1+a_1\right)\ldots \left(1+a_i\right)\geq 1+a_1+\ldots +a_i$ для $1<i<k$.

Тогда $\left(1+a_1\right)\ldots \left(1+a_i\right)\left(1+a_{i+1}\right)\geq 1+a_1+\ldots +a_i+\left(1+a_1+\ldots +a_i\right)a_{i+1}\geq$

$\geq 1+a_1+\ldots +a_i+a_{i+1}$.

Лемма 2 доказана.

В дальнейшем мы покажем, что каждое множество $E_a$ ограничено. Из леммы 2 следует, что

$\sup E_a\geq a$ (1)
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии41

Новое доказательство теоремы о многочлене

Время на прочтение3 мин
Количество просмотров8.1K
В статье приводится новое доказательство красивой и трудной теоремы математического анализа, изложенное таким образом, что оно доступно учащимся старших классов профильных математических школ.

Пусть $f(x)$ — бесконечно много раз дифференцируемая действительная функция, причем для каждой точки $x\in R$ найдется натуральное $n$ такое, что $f^{(n)}(x)=0$. Тогда $f(x)$ многочлен.

Доказательство


Нам понадобится теорема Бэра о системе замкнутых множеств:

1. Пусть $H$ и $F_{1},F_{2},...,F_{n},...$ замкнутые подмножества прямой, причем $H \neq \varnothing$ и $H\subset \bigcup \limits_{n} F_{n}$. Тогда в $H$ найдется точка, которая содержится в одном из $F_{n}$ вместе со своей окрестностью. Более точно, найдется точка $x\in H$, натуральное $n$ и $\varepsilon >0$ такие, что $(x-\varepsilon;x+\varepsilon)\cap H \subset F_{n}$.

Действительно (от противного), выберем точку $x_{1} \in H$ и окружим ее окрестностью $\Delta_{1}=(x-\varepsilon_{1};x+\varepsilon_{1})$, где $\varepsilon_{1}<1$. Мы предположили, что утверждение теоремы Бэра не верно. Значит $\Delta_{1} \cap H \not \subset F_{1}$. Выберем в $\Delta_{1} \cap H$ точку $x_{2}\notin F_{1}$. Окружим $x_{2}$ интервалом $\Delta_{2}=(x_{2}-\varepsilon_{2};x_{2}+\varepsilon_{2})$ таким, что концы этого интервала — точки $x_{2}-\varepsilon_{2}$ и $x_{2}+\varepsilon_{2}$ лежат в $\Delta_{1}$, а $\varepsilon_{2}<\frac{1}{2}$. По предположению $\Delta_{2}\cap H\notin F_{2}$. Это позволяет выбрать в $\Delta_{2} \cap H$ некоторую точку $x_{3} \notin F_{2},...$ Продолжая процесс, мы построим вложенную стягивающуюся последовательность интервалов $\Delta_{1}\supset \Delta_{2}\supset ...$ Ясно, что

$x_{1}-\varepsilon_{1}< x_{2}-\varepsilon_{2}<...<x_{n}-\varepsilon_{n}...$, (1)
$x_{1}+\varepsilon_{1}>x_{2}+\varepsilon_{2}>...>x_{n}+\varepsilon_{n}...$ (2)

Так как каждый промежуток $\Delta_{i}\cap H\neq \varnothing$, то $\lim _{i\to \infty}(x_{i}-\varepsilon_{i})=\lim_{i\to\infty} (x_{i}+\varepsilon_{i})=y, y\in H$, а из (1) и (2) следует, что $y\in \Delta_{i}$ для каждого $i$. Таким образом мы нашли точку $y \in H$, но не лежащую ни в одном из множеств
$F_{i} \phantom{1} (i=1,2,...)$.
Скажем, что точка на действительной прямой правильная, если в некоторой окрестности этой точки функция $f(x)$ — многочлен. Множество всех правильных точек обозначим символом $E$. Множество $E'$, дополнительное к $E$ обозначим через $F$ и назовем множеством неправильных точек. (Будем говорить, что если $x\in F$, то $x$ — неправильная точка).
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии9

Программа для оцифровки графиков, чертежей, рисунков: алгоритмы проекта «Репетитор: математика»

Время на прочтение7 мин
Количество просмотров15K

Содержание


Вступительное слово
Принцип работы
Описание программы
Финальный код программы
Преимущества работы с оцифрованными функциями на примерах
Эпилог



Вступительное слово


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

Для того, чтобы получить данные, нужно “оцифровать” такой график (или графический объект), другими словами, нужно получить набор абсцисс и ординат точек графика — далее над ними можно будет производить различные манипуляции: построить новый (качественный) график, производить вычисления, переведя его в новый формат (например, построив сплайн) и пр.

В проекте «Репетитор: математика» (почитайте статью на Хабрахабре — «Репетитор: математика» для подготовки к ЕГЭ и ВПР — от идеи до релиза. Рассказ об уникальном образовательном проекте) мы встретились с этой проблемой в двух основных видах:

  • “оцифровка” графика для того, чтобы сделать его соответствующим нашему стилю или просто сделать так, чтобы он выглядел прилично;
  • получение набора базовых точек для построения геометрических чертежей, гистограмм и пр. на основе авторского рисунка от руки (или с использованием простейших графических систем).

В этом посте приведен код созданной для этого функции graphicsDigitizing, а также кратко рассказывается о том, как она устроена. Также можно посмотреть как она работает вживую.
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

«Репетитор: математика» для подготовки к ЕГЭ и ВПР — от идеи до релиза. Рассказ об уникальном образовательном проекте

Время на прочтение22 мин
Количество просмотров9.1K

Содержание


Вступительное слово
С чего все началось?
Зарождение идеи и задач
Как перевести в цифровой формат то, что делает профессиональный репетитор?
Основные идеи приложения
Как обеспечить индивидуальный подход к каждому пользователю?
Продумывание основных элементов проекта
Дизайн приложения и его флоу-чарт
Дизайн бэк-энда (системы создания и управления ресурсами приложения)
В какой последовательности все делать?
Создание контента
Авторский контент
Перевод авторского контента в систему создания и управления ресурсами
Разработка IT-решения
Разработка бэк-энда
Разработка фронт-энда
Разработка дизайна
Трудности перед релизом
Функционал покупки
Единство дизайна
Логотип приложения
Релиз
Дальнейшие планы развития проекта: что мы делаем сейчас?
Функционал экспертной поддержки
Чат
Кроссплатформенная покупка
Партнерская программа
Блог для учеников и их родителей, учителей и репетиторов и другой контент
Эпилог



Вступительное слово


Уже более года назад — в декабре 2016 г. мы начали продумывать идею приложения «Репетитор: математика», которое позволило бы любому школьнику самостоятельно, просто и эффективно готовиться к экзаменам, которые встретятся в его жизни. При этом хотелось, чтобы наше приложение также было полезно учителям, репетиторам и родителям, являясь для них своего рода "готовыми рельсами" для работы с детьми.



Самый актуальный экзамен в жизни любого школьника — своего рода кульминация всего 11-летнего обучения — это Единый государственный экзамен, известный всем под аббревиатурой ЕГЭ. Подготовка к нему сложна и терниста, особенно если учесть, что в современных реалиях нашего образования далеко не каждый школьный учитель может подготовить своих учеников к сдаче этого экзамена на максимальный балл.
Читать дальше
Всего голосов 24: ↑23 и ↓1+22
Комментарии17

Как обучать вычислительному мышлению?

Время на прочтение35 мин
Количество просмотров22K

Перевод поста Стивена Вольфрама (Stephen Wolfram) "How to Teach Computational Thinking".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации



Содержание


Вычислительное будущее
Что такое вычислительное мышление?
Знакомство с Wolfram Language
А что насчет…
Основы
Куда может вписаться вычислительное мышление?
Что дети могут делать?
Во главе с детьми
Что такое вычисления и программирование?
Как все это будет происходить?


Вычислительное будущее


Вычислительное мышление станет определяющей характеристикой будущего, и именно поэтому так важно преподавать его детям уже сейчас. Вокруг формирования математического мышления у детей традиционно ведется много споров, однако эта проблема меркнет в сравнении с важностью обучения вычислительному мышлению.
Всего голосов 16: ↑15 и ↓1+14
Комментарии5

Простые числа Мерсенна и тест Люка-Лемера

Время на прочтение7 мин
Количество просмотров26K

Перевод поста Джона Макги (John McGee) "Mersenne Primes and the Lucas–Lehmer Test".
Код, приведенный в статье, можно скачать здесь.

Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации
.



Содержание


Введение.
Теорема множителей Эйлера и Мерсенна
Люка и Лемер
От ${M_{13}}$ до ${M_{20}}$
Совершенные числа
21-е, 22-е и 23-е числа Мерсенна
24-е, 25-е и 26-е числа Мерсенна.
27-е и 28-е числа Мерсенна
29-е число Мерсенна
30-е и 31-е числа Мерсенна
Великий интернет-поиск чисел Мерсенна
Факторизация чисел Мерсенна


Введение


Простое число Мерсенна — простое число вида ${M_p} = {2^p} - 1$ (значение степени р также должно быть простым). Эти простые числа получили свое название от имени французского математика и религиозного ученого Мерсенна, который и составил данный список простых чисел этой формы в первой половине семнадцатого века. Первые четыре из них были известны уже давно: ${M_2} = 3$, ${M_3} = 7$, ${M_5} = 31$ и ${M_7} = 127$.

Мерсенн утверждал, что значение ${2^p} - 1$ будет простым для простых чисел $p \leqslant 257$, принадлежащих множеству $p \in \left\{ {{\text{2}}{\text{,3}}{\text{,5}}{\text{,7}}{\text{,13}}{\text{,17}}{\text{,19}}{\text{,31}}{\text{,67}}{\text{,127}}{\text{,257}}} \right\}$. Во всем ли он был прав, можно проверить с помощью функции Wolfram LanguagePrimeQ, в которой используются современные методы тестирования чисел на простоту, для которых не требуется поиска конкретного множителя, чтобы доказать, что число составное.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии20

Исследование положения глаз у более 1000000 лиц: правило золотого сечения или правило третей?

Время на прочтение17 мин
Количество просмотров13K

Перевод поста Майкла Тротта (Michael Trott) "Profiling the Eyes: ϕaithful or ROTen? Or Both?".
Код, приведенный в статье, можно скачать здесь.

Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации




Содержание


Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях
Уровень линии глаз на старых картинах — скорее ROT, чем φaithful
Высота линии глаз в современных картинах
Высота линии глаз в работах профессиональных фотографов
Высота линии глаз в селфи
Фото из профилей LinkedIn
Лица с обложек еженедельных журналов последних трех десятилетий
Обложки комиксов
Ежедневные газеты и журналы мод
Знаменитости из киноиндустрии
Кино: линия глаз в движении
Выводы



Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях


Существует огромное количество литературы, посвященной золотому сечению в природе, в физиологии и психологии, а также в произведениях искусства (см. эту статью о золотом сечении, и вот эти: о золотом сечении в искусстве, в природе и в человеческом теле, и еще — о структуре творческого процесса в науке и искусстве). В последние годы нарастает скептицизм по поводу распространенности золотой пропорции в этих областях. Были пересмотрены более ранние исследования. Смотрите, например, исследования греческих храмов Фотакиса, Марковского, Фостера, Холланда и Бенджафилда, и Свободовой и др. — по физиологии человека.
Всего голосов 19: ↑16 и ↓3+13
Комментарии8

Фильм «Скрытые фигуры»: задачи из фильма и современный подход к расчетам орбиты и возвращения на Землю

Время на прочтение10 мин
Количество просмотров13K

Перевод поста Джеффри Брайанта (Jeffrey Bryant), Пако Джейна (Paco Jain) и Майкл Тротта (Michael Trott) "Hidden Figures: Modern Approaches to Orbit and Reentry Calculations".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации



Содержание


Размещение спутника в определенном месте
Константы и первичная обработка
Вычисления
Построение графика
Как рассчитываются орбиты сегодня
Моделирование возвращаемого спутника



Вышедший недавно в кинотеатрах фильм Скрытые фигуры получил хорошие отзывы. Действие разворачивается в важный период истории США; в нем затрагивается также ряд тем вроде гражданских прав и космической гонки. В центре повествования — история Кэтрин Джонсон и ее коллег (Дороти Воган и Мэри Джексон) из NASA в период развертывания программы Меркурий и ранних исследований пилотируемых космических полетов. Внимание также акцентируется на драматической борьбе за гражданские права афро-американских женщин в NASA, происходившей в то время. Компьютеры в то время едва появились, так что способность Джонсон и ее коллег решать сложные навигационные задачи орбитальной механики без использования компьютера обеспечили важную проверку ранних компьютерных результатов.



Я остановлюсь на двух аспектах ее научной работы, упомянутых в фильме: вычислениях орбиты и расчетах, связанных с вхождением в атмосферу. Для орбитальных вычислений я сначала сделал ровно то же, что и Джонсон, а затем применил более современный прямой подход с использованием инструментов Wolfram Language. В фильме упоминается о решении дифференциальных уравнений методом Эйлера; я же буду сравнивать этот метод с более современным и вычислю возвратную траекторию с помощью данных модели атмосферы, полученных непосредственно из Wolfram Language).
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии7

Как говорить с искусственным интеллектом?

Время на прочтение11 мин
Количество просмотров16K

Перевод поста Стивена Вольфрама (Stephen Wolfram) "How Should We Talk to AIs?".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации



Содержание


Вычисления — это сила
Язык вычислительного мышления
Понимание ИИ
Что будет делать ИИ?
Постановка целей для ИИ
Разговор одного ИИ с другим
Сбор информации: обзор миллиарда лет
А что, если бы каждый мог писать код?
Действительно ли это будет работать?
Скажу больше



Еще совсем недавно идея иметь компьютер, который может отвечать на вопросы на английском языке, казалась научной фантастикой. Но когда мы в 2009 году выпустили Wolfram|Alpha, одним из самых больших сюрпризов (по крайней мере, для меня!) стало то, что мы сумели сделать наш продукт реально работающим. И теперь люди ежедневно задают личным помощникам несметное количество вопросов — на обычном разговорном языке.



Все это достаточно неплохо работает (хотя мы всегда стараемся сделать лучше!). Но как насчет более сложных вещей? Как общаться с искусственным интеллектом?

Я долго думал об этом, пытаясь совместить философию, лингвистику, неврологию, информатику и другие области знания. И я понял, что ответ всегда был перед моим носом, и лежал он в той сфере, которой я занимался последние 30 лет: Wolfram Language.

Может быть, это как раз тот случай, когда у вас есть молоток, и вы видите вокруг одни гвозди. Хотя я уверен, что дело не только в этом. По крайней мере, продумывание этого вопроса — хороший способ понять больше об искусственном интеллекте и его взаимоотношениях с людьми.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность