shell> systeminfo
Название ОС: Microsoft Windows 7 Максимальная
Процессор(ы): Число процессоров - 1.
[01]: Intel64 Family 6 Model 58 Stepping 9 GenuineIntel ~2601 МГц
Полный объем физической памяти: 8 010 МБ
Доступная физическая память: 3 173 МБ
Вариант на Julia
function divisorsum(n::Int64)
arr = zeros(Int64, n)
for k1 = 1:Int(round(sqrt(n))), k2 = k1:n÷k1
val = k1 != k2 ? k1 + k2 : k1
arr[k1 * k2] += val
end
end
using BenchmarkTools
@benchmark divisorsum(1_000_000)
BenchmarkTools.Trial:
memory estimate: 7.63 MiB
allocs estimate: 2
--------------
minimum time: 56.909 ms (0.00% GC)
median time: 59.520 ms (0.00% GC)
mean time: 60.466 ms (2.21% GC)
maximum time: 107.803 ms (45.13% GC)
--------------
samples: 83
evals/sample: 1
@benchmark divisorsum(10_000_000)
BenchmarkTools.Trial:
memory estimate: 76.29 MiB
allocs estimate: 2
--------------
minimum time: 856.228 ms (0.61% GC)
median time: 891.972 ms (0.95% GC)
mean time: 897.030 ms (2.68% GC)
maximum time: 941.900 ms (5.56% GC)
--------------
samples: 6
evals/sample: 1
Нильсен Чанг Квантовые вычисления и информация — там 7я глава про физические реализации. Это библия квантовых вычислений — следует начинать с нее, а потом искать курс РКЦ, там про алгоритмы — по ходу поймёте, надо ли оно Вам
Сакс Оливер человек который принял жену за шляпу и другие книги автора. Агнозии, разделение полушарий и кучу всяких патологий объясняет этот великий нейропсихолог. Для полноты картины при спорах о разуме нужно базироваться не на среднестатистических людях, а как раз на личностях утративших ту или иную функцию и адаптировавшихся компенсировав потерю
Upd не обновил страницу, поэтому мысль чуть опоздала,. но книжку всё равно почитайте
Да, кстати, все вот спорят, дескать, есть сознание иль нету, а вот сложно провести границу, когда имеешь в расчете отклонения: врожденное слабоумие, слепоту-немоту-глухоту. Обладала ли мышлением девочка с рождения имеющая только тактильные ощущения? Пожалуйста, вот вам более простой, я бы даже сказал модельный случай — она по сути ведет себя как улитка, которая вытягивает усики, когда хочет покушоц. Или синдром Дауна — человек в большинстве случаев на всю жизнь в своих способностях к коммуникациям или долговременным планированиям застревает на уровне тех шимпазешек из экспериментов.
Сознание, мышление, эмоции — всё это просто слова, и мы спорим о других наборах слов, которые хотим привязать к этим понятиям, чтобы объяснить химию в жирной кашице, а потом мы начнем спорить, можно ли эти слова применять к устройству, в котором поочередно разряжаются конденсаторы (ну или в будущем меняются спины). На работу и того и другого оно не влияет. Нам не нужны определения, нам нужны функции, в которые можно слить данные, чтобы получить поведение системы через время
При выходе за границы будет ругаться, побочный эффект — замедление работы с массивом, это если хотите безопасности. А потом с помощью специальной приписки-макроса эту проверку можно убрать, и вот у нас опять производительность С
Первый пример понравился, просто никогда такого не замечал, так как работаю в Jupyter, а он работает на уровень ниже Глобальной области видимости.
Второй выдал
DomainError with -1:
Cannot raise an integer x to a negative power -1.
Make x a float by adding a zero decimal (e.g., 2.0^-1 instead of 2^-1), or write 1/x^1, float(x)^-1, or (x//1)^-1
То есть, скорей всего возведение в отрицательную степень инта вынудило бы создавать переменную флоат, которую бы возвращали, а так разработчики нас вынуждают возводить вещественное число, чтоб вычисления можно было проводить непосредственно на нем.
(вспоминаю gotcha на С/С++ когда всё занулялось из-за деления на инт)
Короче, нежданчики будут везде, и хорошо быть предупрежденным.
А что на счет Julia, то я нашел её очень удобной: можно быстро набросать абстрактные вычисления, всё проверить, а потом ускорить, а то и скачать готовый пакет. Да и сам процесс кодинга приятен, но в моем случае это скорее страстное хобби
Здраствуйте, увидел у Вас похожие штуки и решил спросить. Где почитать и найти таблицы с объяснениями всех команд, чисто чтоб подобное .text
Filename: In[35]
pushq %rbp
movq %rsp, %rbp
Source line: 1
mulsd %xmm0, %xmm0
popq %rbp
retq
nopw (%rax,%rax)
не представлялось какой-то магией, чтоб можно было такую вещь окинуть взором и сделать вывод, де, тут сумма и цикл, можно сделать и лучше
На самом деле многие пакеты представляют собой обертки для решений на других языках: вышепредставленный JuMP содержит сишные и фортрановские солверы, PlotlyJS реализует https://plot.ly/javascript/, ну или реализация популярного ScikitLearn
Я набрал себе ru.wikipedia.org/wiki/Тестовые_функции_для_оптимизации с википедии, все сюда не выкладывал, чтоб не нагружать страницу, а за ссылку спасибо, будет здорово заделать чего с оврагами, пологостями и изломами
У Юлии есть много всяких графических пакетов например Makie использующий средства OpenGL — он самый интерактивный. Я использую Plots docs.juliaplots.org/latest/backends у него много окружений, матплотлиб в том числе. Интерактивны Plotly и PlotlyJS, причем последний сохраняет свои особенности при создании .html. Очень кстати понтово смотрелась моя презентация на курсовой, в которой графики можно было вращать и увеличивать мышкой
Помню, когда был молодым и впечатлительным (полгода назад), узнав про нейросети сразу же кинулся делать свой перцептрон и тоже на С++. Я тогда заморочился с перегрузкой всех матричных операций, а потом, чтоб избавиться от этого узкого места, выполнил всё в виде функций, ну и там ввод вывод в файлы, все-дела, но так и не решил проблему с памятью: там все веса между слоями класса Матрица, а чтоб создать массив этого класса состоящий из матриц разного размера пришлось изголяться с указателями, чтобы вызывать конструктор с параметрами. Тут если интересно. Все проблемы решились переходом на Java
В приведенной реализации ничего не настраивается, как, например длина шага и варьирование в градиентном спуске. Для функции одной-трех переменных можно построить рельеф, чтоб как то всё отслеживать, а вот когда переменных много, то тут только разные начальные значения пробовать. Я начал рассматривать метод роя частиц и по мне, так неплохо пробовать искать глобальный минимум чем то вроде него, а затем уточнять с помощь симплекса. Меня как студента пока интересует оптимизация ради оптимизации, а уж когда встанет задача, где минимизация будет лишь средством, можно будет воспользоваться чем-нибудь из пакетов — там куча понтовых методов с трудновыговариваемыми названиями, до них дело тоже дойдет
Вариант на Julia
Пока у меня не появится самый быстрый корабль в галактике с бравой командой и планетарным вездеходом, серию масс эффект в этой жизни ничто не обойдёт
Сакс Оливер человек который принял жену за шляпу и другие книги автора. Агнозии, разделение полушарий и кучу всяких патологий объясняет этот великий нейропсихолог. Для полноты картины при спорах о разуме нужно базироваться не на среднестатистических людях, а как раз на личностях утративших ту или иную функцию и адаптировавшихся компенсировав потерю
Upd не обновил страницу, поэтому мысль чуть опоздала,. но книжку всё равно почитайте
Да, кстати, все вот спорят, дескать, есть сознание иль нету, а вот сложно провести границу, когда имеешь в расчете отклонения: врожденное слабоумие, слепоту-немоту-глухоту. Обладала ли мышлением девочка с рождения имеющая только тактильные ощущения? Пожалуйста, вот вам более простой, я бы даже сказал модельный случай — она по сути ведет себя как улитка, которая вытягивает усики, когда хочет покушоц. Или синдром Дауна — человек в большинстве случаев на всю жизнь в своих способностях к коммуникациям или долговременным планированиям застревает на уровне тех шимпазешек из экспериментов.
Сознание, мышление, эмоции — всё это просто слова, и мы спорим о других наборах слов, которые хотим привязать к этим понятиям, чтобы объяснить химию в жирной кашице, а потом мы начнем спорить, можно ли эти слова применять к устройству, в котором поочередно разряжаются конденсаторы (ну или в будущем меняются спины). На работу и того и другого оно не влияет. Нам не нужны определения, нам нужны функции, в которые можно слить данные, чтобы получить поведение системы через время
http://ai-news.ru/2018/06/centr_nejronauk_i_kognitivnyh_nauk_mgu.html советую посмотреть четвертую лекцию — там Зоя Александровна довольно широко охватила про эксперименты над животными с целью нахождения зачатков мышления и самосознания
При выходе за границы будет ругаться, побочный эффект — замедление работы с массивом, это если хотите безопасности. А потом с помощью специальной приписки-макроса эту проверку можно убрать, и вот у нас опять производительность С
Первый пример понравился, просто никогда такого не замечал, так как работаю в Jupyter, а он работает на уровень ниже Глобальной области видимости.
Второй выдал
То есть, скорей всего возведение в отрицательную степень инта вынудило бы создавать переменную флоат, которую бы возвращали, а так разработчики нас вынуждают возводить вещественное число, чтоб вычисления можно было проводить непосредственно на нем.
(вспоминаю gotcha на С/С++ когда всё занулялось из-за деления на инт)
Короче, нежданчики будут везде, и хорошо быть предупрежденным.
А что на счет Julia, то я нашел её очень удобной: можно быстро набросать абстрактные вычисления, всё проверить, а потом ускорить, а то и скачать готовый пакет. Да и сам процесс кодинга приятен, но в моем случае это скорее страстное хобби
.text
Filename: In[35]
pushq %rbp
movq %rsp, %rbp
Source line: 1
mulsd %xmm0, %xmm0
popq %rbp
retq
nopw (%rax,%rax)
не представлялось какой-то магией, чтоб можно было такую вещь окинуть взором и сделать вывод, де, тут сумма и цикл, можно сделать и лучше
На самом деле многие пакеты представляют собой обертки для решений на других языках: вышепредставленный JuMP содержит сишные и фортрановские солверы, PlotlyJS реализует https://plot.ly/javascript/, ну или реализация популярного ScikitLearn