На самом деле многие пакеты представляют собой обертки для решений на других языках: вышепредставленный JuMP содержит сишные и фортрановские солверы, PlotlyJS реализует https://plot.ly/javascript/, ну или реализация популярного ScikitLearn
Я набрал себе ru.wikipedia.org/wiki/Тестовые_функции_для_оптимизации с википедии, все сюда не выкладывал, чтоб не нагружать страницу, а за ссылку спасибо, будет здорово заделать чего с оврагами, пологостями и изломами
У Юлии есть много всяких графических пакетов например Makie использующий средства OpenGL — он самый интерактивный. Я использую Plots docs.juliaplots.org/latest/backends у него много окружений, матплотлиб в том числе. Интерактивны Plotly и PlotlyJS, причем последний сохраняет свои особенности при создании .html. Очень кстати понтово смотрелась моя презентация на курсовой, в которой графики можно было вращать и увеличивать мышкой
Помню, когда был молодым и впечатлительным (полгода назад), узнав про нейросети сразу же кинулся делать свой перцептрон и тоже на С++. Я тогда заморочился с перегрузкой всех матричных операций, а потом, чтоб избавиться от этого узкого места, выполнил всё в виде функций, ну и там ввод вывод в файлы, все-дела, но так и не решил проблему с памятью: там все веса между слоями класса Матрица, а чтоб создать массив этого класса состоящий из матриц разного размера пришлось изголяться с указателями, чтобы вызывать конструктор с параметрами. Тут если интересно. Все проблемы решились переходом на Java
В приведенной реализации ничего не настраивается, как, например длина шага и варьирование в градиентном спуске. Для функции одной-трех переменных можно построить рельеф, чтоб как то всё отслеживать, а вот когда переменных много, то тут только разные начальные значения пробовать. Я начал рассматривать метод роя частиц и по мне, так неплохо пробовать искать глобальный минимум чем то вроде него, а затем уточнять с помощь симплекса. Меня как студента пока интересует оптимизация ради оптимизации, а уж когда встанет задача, где минимизация будет лишь средством, можно будет воспользоваться чем-нибудь из пакетов — там куча понтовых методов с трудновыговариваемыми названиями, до них дело тоже дойдет
Это, кстати интересная тема. Но если подумать, сложновато будет смоделировать все процессы, происходящие в организме — а без гормонов, уровня сахара и защемленного нерва между позвонками, в общем без всех этих нюансов ваш клон будет другой личностью, иначе воспринимающей мир и приобретающую опыт отличный от вашего. Одна личность не может быть субъектом более одного жизненного опыта одновременно. Вот вы закрыли глаза, вам на голову надели шлем, вспышка, шлем снимают, и вы смотрите как выводят робота, на дисплее которого нарисовано удивление. Он имеет Вашу память и такие же взгляды, но на мир он теперь будет реагировать иначе с учетом нового тела, и с этого момента Вы с ним разошлись. Теперь существуют две личности у которых касательно определенного промежутка времени есть общие воспоминания — не более того. А если в процессе процедуры переноса сознания Вы помрёте, то это всё, конец. Теперь будет существовать и взаимодействовать с миром робот, а Вас более нет
Очень здоровская подача! Рифмы корявые, ритм хромой, но это комизма лишь добавляет. Пару четверостиший выучу, чтоб начинать декламировать в неловких ситуациях. Автору могу пожелать не терять энтузиазма — побольше тренироваться слагать стихи и уметь с помощью них описать возню с железом и кодинг!
Audiosurf весело игрался под что-нибудь от John5, а под композиции Франка Клепаки Ownage и Haunt, получались нереальные спуски в бездну! Ну вот, теперь знаю, как провести пятничный вечер…
Очень интересная и полезная статья, спасибо за старания! Такой тщательный разбор будет очень полезен для начинающих. Я тоже недавно начал знакомиться с Юлией, но меня интересует как раз возможность решать задачи, так как я студент-физик. Крайне здорово, что кто-то начал публиковать здесь статьи в другом ключе, так что надеюсь на продолжение и дальнейшее всестороннее раскрытие аспектов этого интересного языка
Mathematica, Mathlab и Mathcad коммерческие продукты, я здесь их не рассматривал, потому что большинство студентов и остальных частных лиц могут позволить себе только пиратку, а так да, к примеру Mathcad очень удобно пользовать, но только не выходя за рамки встроенных возможностей, потому как программирование там не ахти
Реальность (Jupyter задумывается на минуту на две). В оправдание можно было бы сказать, что DE очень сложный и обширный пакет, а Гадфлай мастер пока бета и вместе они притормаживают. В принципе, подключил пакеты и на протяжении сессии о них не думаешь — в юпитерском ноутбуке можно насобирать кучу однотипных программ и параллельно разбираться с ними, а не подключать пакеты для каждой. Но все равно это портит впечатление: тот же Scilab запускается не дольше 30 сек и уже сходу можно и дифур решить и нарисовать всё что нужно.
На самом деле многие пакеты представляют собой обертки для решений на других языках: вышепредставленный JuMP содержит сишные и фортрановские солверы, PlotlyJS реализует https://plot.ly/javascript/, ну или реализация популярного ScikitLearn
pkg.julialang.org — в списке пакетов можно поискать еще подобного (Ctrl+F и ввести gui)