https://discopal.ispras.ru/api.php?action=feedcontributions&user=StasFomin&feedformat=atomDISCOPAL - Вклад участника [ru]2024-03-28T13:55:28ZВклад участникаMediaWiki 1.26.4https://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&diff=28724Blog:Advanced Algorithms/Эксперимент — улучшаем старые решения2024-03-28T13:05:11Z<p>StasFomin: </p>
<hr />
<div>Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возможно это почему-то сложно, или непонятно, а близок уже второй дедлайн (и главное, из-за него блокируется доступ к остальным квестам).<br />
<br />
Экспериментально до второго дедлайна (2024-04-08) попробуем такую схему:<br />
* Можно взять любую из [[Решенные практические задачи|решенных]] задач, решение которой было не в этом году, посмотреть-попробовать имеющееся Python-решение — и если получится его ускорить в 2 раза, то эту задачу тоже засчитаем.<br />
<br />
[[File:Эксперимент — улучшаем старые решения_2024-03-28_16-04-56_image0.png||right]]<br />
<br />
* Ну разумеется, при оформлении все также — «резервируем» страницу-задачу и т.п.</div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_2024-03-28_16-04-56_image0.png&diff=28723Файл:Эксперимент — улучшаем старые решения 2024-03-28 16-04-56 image0.png2024-03-28T13:04:59Z<p>StasFomin: MsUpload</p>
<hr />
<div></div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&diff=28722Blog:Advanced Algorithms/Эксперимент — улучшаем старые решения2024-03-28T12:59:23Z<p>StasFomin: </p>
<hr />
<div>Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возможно это почему-то сложно, или непонятно, а близок уже второй дедлайн (и главное, из-за него блокируется доступ к остальным квестам).<br />
<br />
Экспериментально до второго дедлайна (2024-04-08) попробуем такую схему:<br />
* Можно взять любую из [[Решенные практические задачи|решенных]] задач, решение которой было не в этом году, посмотреть-попробовать имеющееся Python-решение — и если получится его ускорить в 1.5 раза, то эту задачу тоже засчитаем.<br />
** Ну разумеется, при оформлении все также — «резервируем» страницу-задачу и т.п.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&diff=28721Blog:Advanced Algorithms/Эксперимент — улучшаем старые решения2024-03-28T12:58:54Z<p>StasFomin: </p>
<hr />
<div>Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возможно это почему-то сложно, или непонятно, а близок уже второй дедлайн (и главное, из-за него блокируется доступ к остальным квестам).<br />
<br />
Экспериментально до второго дедлайна (2024-04-08) попробуем такую схему:<br />
* Можно взять любую из [[Решенные практические задачи|решенных]] задач, решение которой было не в этом году, посмотреть-попробовать имеющееся решение — и если получится его ускорить в 1.5 раза, то эту задачу тоже засчитаем.<br />
** Ну разумеется, при оформлении все также — «резервируем» страницу-задачу и т.п.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&diff=28720Blog:Advanced Algorithms/Эксперимент — улучшаем старые решения2024-03-28T12:58:19Z<p>StasFomin: </p>
<hr />
<div>Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возможно это почему-то сложно, или непонятно, а близок уже второй дедлайн (и главное, из-за него блокируется доступ к остальным квестам).<br />
<br />
Экспериментально до второго дедлайна (2024-04-08) попробуем такую схему:<br />
* Можно взять любую из [[Решенные практические задачи|решенных]] задач, решение которой было не в этом году, посмотреть-попробовать имеющееся решение — и если получится его ускорить в 1.5 раза, то эту задачу тоже засчитаем.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82_%E2%80%94_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B0%D0%B5%D0%BC_%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&diff=28719Blog:Advanced Algorithms/Эксперимент — улучшаем старые решения2024-03-28T12:58:02Z<p>StasFomin: Новая страница: «Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возмо…»</p>
<hr />
<div>Несколько беспокоит, что многие из вас так и не приступали к практическим задачам. Возможно это почему-то сложно, или непонятно, а близок уже второй дедлайн (и главное, из-за него блокируется доступ к остальным квестам).<br />
<br />
Экспериментально до второго дедлайна (2024-04-08) попробуем такую схему:<br />
* Можно взять любую из [[Решенные практические задачи|решенных]] задач, решение которой было не в этом году, посмотреть-попробовать решение — и если получится его ускорить в 1.5 раза, то эту задачу тоже засчитаем.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28718Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:49:33Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.codewof.co.nz/style/python3/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет. Это совсем несложное ограничение, грызу локти, что не делал такого раньше. Заодно это будет мотивировать добавить комментариев и сделать код более читаемым.<br />
<br />
{{wl-publish: 2024-03-28 12:41:52 +0000 | StasFomin }}</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28717Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:49:02Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.codewof.co.nz/style/python3/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет. Это совсем несложное ограничение, грызу локти, что не делал такого раньше. Заодно можно и добавить комментариев и т.п.<br />
<br />
{{wl-publish: 2024-03-28 12:41:52 +0000 | StasFomin }}</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28716Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:47:40Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.codewof.co.nz/style/python3/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет. Это совсем несложное ограничение, грызу локти, что не делал такого раньше.<br />
<br />
{{wl-publish: 2024-03-28 12:41:52 +0000 | StasFomin }}</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28715Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:41:52Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.pythonchecker.com/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет. Это совсем несложное ограничение, грызу локти, что не делал такого раньше.<br />
{{wl-publish: 2024-03-28 12:41:52 +0000 | StasFomin }}</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28714Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:30:49Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.pythonchecker.com/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет. Это совсем несложное ограничение, грызу локти, что не делал такого раньше.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28713Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:30:15Z<p>StasFomin: </p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочувствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.pythonchecker.com/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет.</div>StasFominhttps://discopal.ispras.ru/index.php?title=Blog:Advanced_Algorithms/Python-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%E2%80%94_%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%BD%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%81%D1%8F_%D0%B8%D1%85_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D0%B9&diff=28712Blog:Advanced Algorithms/Python-решения — давайте потренируемся их сделать питонистей2024-03-28T12:29:56Z<p>StasFomin: Новая страница: «При решении квеста «Практикуемся В Алгоритмах» жалко, что часто вижу технически питон…»</p>
<hr />
<div>При решении квеста «[[Практикуемся В Алгоритмах]]» жалко, что часто вижу технически питон код, но совсем не в питон стиле — переписанный нейросетями с других языков, плохо отформатированный, грязный... а ведь именно четкость и читаемость, это то, что я хочу чтобы получилось, до того, как перейдем к чему-то типа «[[Моделирование труднорешаемых задач]]», ибо там уже это править будет тяжело.<br />
<br />
Чтобы прочуствовать [https://ru.wikipedia.org/wiki/%D0%94%D0%B7%D0%B5%D0%BD_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0 дзен-питона], давайте хотя бы сначала придерживаться [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html PEP-8], ну, или формально, проверяйте [https://www.pythonchecker.com/ онлайн-чекером] — чтобы это не прошло впустую, я тоже буду им проверять, и «заворачивать» решение, пока не пройдет.</div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%9A%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9_%C2%AB%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2%C2%BB_(%D0%98%D0%A1%D0%9F%D0%A0%D0%90%D0%9D,_3_%D0%BA%D1%83%D1%80%D1%81_%D0%9C%D0%A4%D0%A2%D0%98)&diff=28711Курс лекций «Сложность алгоритмов» (ИСПРАН, 3 курс МФТИ)2024-03-28T12:08:48Z<p>StasFomin: /* Темы */</p>
<hr />
<div>{{SideBar|<br />
{{Special:Wikilog/Blog:Advanced Algorithms/Template:BlogInformerLine/11/sort=wlp_talk_updated}}<br />
|style=max-width:35%<br />
}}<br />
* Логинимся, и разогревочный тест проверки заданий который были в фокусе несколько недель → [[Special:MediawikiQuizzer/Algs-3-course-ispras-weekly|Cозвонный тест]]<br />
<!--<br />
* [[Special:MediawikiQuizzer/Algs-3-course-ispras-weekly|Cозвонный тест]]<br />
* [[Special:MediawikiQuizzer/Python|Приветственная созвонная проверка]]<br />
--><br />
<br />
* [https://i.0x1.tv/apps/raw/s/mipt-course-03/hard-problems.svg Обзор курса]<br />
<br />
<br />
<!--<br />
* [[Special:MediawikiQuizzer/Algs-3-course-ispras-exam|Тест для экстренного набора очков]]<br />
--><br />
<br />
<!--<br />
Зум-созвон, пока по четвергам, 10:00.<br />
<br />
<blockquote><br />
https://ispras.zoom.us/j/6020710675?pwd=SWxUb3ZjK3NxUzhHTzJRY2Z4YmwxZz09<br />
Meeting ID: 602 071 0675<br />
Passcode: 1729<br />
</blockquote><br />
--><br />
<br />
<br />
<br />
<br />
<br />
Проходим квест:<br />
{{:Как зарегистрироваться на курс}}<br />
<br />
----<br />
<poll><br />
UNSAFE_ID=aa-20240210<br />
ALTERNATIVE<br />
OPEN_RESULTS<br />
OPEN_VOTERS<br />
AUTHORIZED<br />
ALLOW_REVOTE<br />
END_POLL 2024-03-15<br />
Записываемся на курс «Сложность алгоритмов-2024»?<br />
Да<br />
Нет<br />
</poll><br />
<br />
<br />
<br />
<!--<br />
<poll><br />
UNSAFE_ID=git-20220210<br />
ALTERNATIVE<br />
AUTHORIZED<br />
ALLOW_REVOTE<br />
END_POLL 2022-02-25<br />
Знаете ли вы Git?<br />
Да<br />
Нет<br />
</poll><br />
--><br />
<!--<br />
* [[Special:MediawikiQuizzer/GRE-CS-v01|Сегодняшний квест]]<br />
--><br />
<br />
<!-- * [[Special:MediawikiQuizzer/Algs-3-course-ispras-exam|Тест перед экзаменом]] --> <br />
<!--<br />
[[Special:MediawikiQuizzer/GRE-CS-v01|Обещанный тест на повышение оценки с 15:00-15:30]]<br />
--><br />
<br />
__TOC__<br />
<br />
<!-- Если кто-то еще хочет в этом семестре сдавать — [mailto:stas-fomin@yandex.ru пишите], будем договариваться.<br />
--><br />
<br />
<!--<br />
<poll><br />
AUTHORIZED<br />
UNSAFE ID=2019-05-21-record-for-exam<br />
REVOTE<br />
OPEN_RESULTS<br />
OPEN_VOTERS<br />
Выберите удобный день для сдачи зачета (можно несколько).<br />
2019-05-27<br />
2019-05-28<br />
2019-05-29<br />
2019-05-30<br />
2019-05-31<br />
</poll><br />
<br />
<s>Хорошо, по результатам голосования встречаемся в четверг, в 11:00, 2019-05-30</s><br />
Хорошо, по результатам переголосования встречаемся в среду, в 10:00, 2019-05-29<br />
<br />
[[Участник:StasFomin|StasFomin]] 11:25, 29 мая 2019 (MSK): Никто не пришел, ведомости заполнены, пытайтесь поймать меня или НН с отрывным. Всем успехов.<br />
--><br />
<br />
<!--<br />
<poll><br />
AUTHORIZED<br />
POINTS 3<br />
UNSAFE ID=2017-05-26-record-for-exam<br />
REVOTE<br />
OPEN_RESULTS<br />
OPEN_VOTERS<br />
Какие дни утром удобны для сдачи? Можно использовать три голоса.<br />
2017-05-30, вторник<br />
2017-05-31, среда<br />
2017-06-01, четверг<br />
2017-06-02, пятница<br />
</poll><br />
--><br />
<br />
<!--<br />
[[Special:MediawikiQuizzer/Algs-3-course-ispras-exam|Предэкзаменационный тест]]<br />
--><br />
<br />
<!-- Курс лекций «Сложность алгоритмы» для 3 курса курса МФТИ. --><br />
<br />
Семестровый курс по выбору для студентов 3-го курса ФУПМ МФТИ.<br />
<br />
;Лекторы: [mailto:stas-fomin@yandex.ru Стас Фомин], <br />
<br />
<br />
<!-- Место чтения курса - ИСПРАН, Станиславского 19.<br />
Солженицына, можно найти в общем, 110 аудитория. --><br />
<br />
<!--<br />
* В этом году это не экзамен, а дифференцированный зачет. Почти все получили оценку<ref>10 мая</ref> по результатам активности на семинарах и в домашних задачах. <br />
** Пара оставшихся будет сдавать зачет Николаю Николаевичу Кузюрину, следите за обьявлениями. Ближайший прием — вторник, 29 мая, c 13:00 до 16-17, 301.<br />
** Если кто-то недоволен оценкой — пишите, договаривайтесь о пересдаче и т.п.<br />
** Ведомости пока не заполнены, буду заполнены и сданы по гуглтаблице где-то в июне.<br />
--><br />
<br />
<!--<br />
[https://titanpad.com/discopal Интерактивная Доска]<br />
--><br />
----<br />
<br />
Формат проведения лекций: демонстрация с проектором с параллельным обсуждением, проверка тестами знаний по предыдущим темам. Подразумевается параллельное изучение студентами электронной версии курса, просмотра видео лекций, решение задач.<br />
<br />
Ведется [https://docs.google.com/spreadsheet/pub?key=0Ao6tsK_6FZEldFhKM3F6TzlQWmtXY3owalpvT3BRS2c&single=true&gid=11&output=html список посещений].<br />
<br />
<blockquote><br />
В карантинное время — занимаемся самостоятельно по темам из раздела «Фокус»,<br />
читаем книгу, смотрим видео и слайды, решаем задачи, см. ниже.<br />
</blockquote><br />
<br />
<br />
<br />
<html><center><br />
</p><div class="sites-embed-align-left-wrapping-off"><div class="sites-embed-border-on sites-embed sites-embed-full-width" style="width: 100%;"><h4 class="sites-embed-title">Успеваемость зарегистрированных студентов</h4><div class="sites-embed-object-title" style="display: none;">Эффективные алгоритмы(студенты).2007</div><div class="sites-embed-content sites-embed-type-spreadsheet"><iframe src="https://docs.google.com/spreadsheet/pub?key=0Ao6tsK_6FZEldFhKM3F6TzlQWmtXY3owalpvT3BRS2c&single=true&gid=11&output=html" id="1695919049" frameborder="0" height="400" width="100%"></iframe></div></div></div><br />
</center></html><br />
<br />
<!--<br />
== Надо зарегистрироваться ==<br />
* Зарегистрироваться здесь. Залогиниться. <br />
* Зайти на страницу [http://discopal.ispras.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Preferences настроек], указать свой email и подтвердить его. Почту от mail.ru не используйте. Она ужасно проблемная (все нотификации уйдут в спам или отразятся сервисом).<br />
* На своей личной странице, написать хотя бы ФИО и группу.<br />
* На странице [[Blog:Advanced Algorithms]] найти вкладку «следить», и подписаться на этот блог. Но по опыту последних лет, народ разучился пользоватся RSS-подписками… с другой стороны — на ФУПМ МФТИ тотально используется VK — все студенты и администрации в этой сети. Поэтому заведена группа, https://vk.com/discopal, подписывайтесь и туда, туда тоже будут идти обьявления, плюс там же открытые обсуждения и все такое.<br />
--><br />
<br />
== Книга ==<br />
На растерзание отдается <!-- [https://www.dropbox.com/s/co3zye1k98efsfa/book-advanced-algorithms.pdf?dl=0 свежая сборка] --> <br />
[[:Файл:Book-advanced-algorithms.pdf|свежая сборка]]<br />
— можно искать в ней ошибки (они 100% есть — даже орфографические).<br />
<br />
Специально искать опечатки смысла мало, проще действовать по принципу WIN-WIN, читать с помощью PDFXChange или другого ридера, позволяющего делать комментарии, делать пометки по ходу чтения и отсылать (каждый день) помеченный вариант на mailto:stas-fomin@yandex.ru.<br />
И каждый день скачивать заново — ибо книга будет пересобираться и меняться постоянно.<br />
<br />
=== ? ===<br />
* [[https://www.math.ucdavis.edu/~greg/zoology/diagram.xml zoo]]<br />
<br />
== Темы ==<br />
=== Пройдено ===<br />
[[Файл:Усвоим весь объем — вовсе нет.png|360px|right]]<br />
* [[Формально об алгоритмах. Вычислительные модели]]<br />
* [[Временная и пространственная сложность алгоритмов]]<br />
* [[Полиномиальные сводимости и NP-полные задачи. Классы NP, coNP, NPC]]<br />
* [[Вероятностные вычисления. Классы RP, coRP, ZPP, BPP]]<br />
* [[Жадный алгоритм в задачах о покрытии]]<br />
* [[Жадный алгоритм в задаче о рюкзаке]]<br />
<br />
=== Фокус ===<br />
* [[Динамическое программирование для задачи о рюкзаке]]<br />
* [[Полностью полиномиальная аппроксимационная схема (FPTAS) для задачи о рюкзаке]]<br />
* [[Полиномиальный в среднем алгоритм для задачи о рюкзаке]]<br />
* [[Полиномиальный в среднем алгоритм для SAT]]<br />
* [[Полиномиальный в среднем алгоритм для задачи упаковки]]<br />
<br />
=== Не пройдено ===<br />
* [[Приближенный алгоритм для метрической задачи коммивояжера]]<br />
* [[Вероятностная проверка тождеств]]<br />
* [[MAX-SAT: вероятностное округление]]<br />
* [[MAX-SAT: дерандомизация]]<br />
* [[MAX-CUT: вероятностное округление]]<br />
* [[Вероятностный подсчет числа выполняемых наборов для ДНФ]]<br />
<br />
=== Может и не будем === <br />
* [[Вероятностно проверяемые доказательства. PCP-системы. PCP-теорема]]<br />
* [[PCP и аппроксимируемость]]<br />
* [[Полиномиальная иерархия]]<br />
* [[Схемная сложность]]<br />
<br />
На этих страницах слайды презентаций, задачи, и т.п.<br />
Замечания по каждой презентации можно (и нужно) писать на вкладку «Обсуждение», для соотвествующего PDF-файла.<br />
<br />
В книге (и прошлых лекциях) всего сильно больше, но мы сфокусируемся именно на этих темах — на экзамене спрашивать будем только по ним.<br />
Но можно конечно читать и больше, найденные ошибки зачтутся, а знания скорее всего пригодятся на шестом курсе. <br />
<br />
<br />
----<br />
<br />
<!--<br />
* [[Вероятностный подсчет числа выполняемых наборов для ДНФ]]<br />
--><br />
<br />
== Тренировка ==<br />
<br />
[[Special:MediawikiQuizzer/Algs-3-course-ispras-weekly|Проверь себя]], помнишь ли элементарные понятия и факты из курса.<br />
<br />
== Практика ==<br />
{{:Практикуемся В Алгоритмах}}<br />
<br />
== Моделирование труднорешаемых задач ==<br />
{{:Моделирование труднорешаемых задач}}<br />
<br />
----<br />
Кому надо 10-баллов — запишите видеоролики по вашим питон-ноутбукам, см. [[Blog:Advanced Algorithms/2022-12-01 Кто решил бизнес-задачи, запишите по ним видеоролики]]<br />
<br />
== Теоретические упражнения ==<br />
Достаточно 3 задач из двух тем.<br />
<br />
{{:Решаем теоретические упражнения}}<br />
<br />
<!--<br />
Отдельно, пробуем новую инициативу — те, кто решил хоть несколько задач, и понял принцип оформления, предлагайте задачи с решениями по теме курса (можно взять из любых знакомых вам курсов и книг с алгоритмами).<br />
Этих задач на экзамене не будет, но возможно они пригодятся в следующем году, ну и за них будет выписано много премиальных баллов (2× … 3×… ) по сравнению с решением существующих задач.<br />
<br />
Эти задачи заводим в<br />
[[:Category:Предложенные студентами задачи]]<br />
--><br />
<br />
----<br />
<br />
<br />
<br />
<!--<br />
* Дискретный логарифм<br />
** Почему ДЛ обратим в среднем так же плохо, как в худшем.<br />
* Начала криптографии (односторонние функции)<br />
** Протокол диффи-хелмана<br />
--><br />
<br />
== Книга ==<br />
Специальная верстка для чтения с ноутбуков и КПК:<br />
* альбомная ориентация<br />
* крупные беззасечные шрифты<br />
<br />
Кому не нравится — пишите обоснованные протесты (почему, конструктивные предложения).<br />
<br />
Пишите замечания по содержимому — про проблемы с версткой и библиографией не писать, все там только в процессе.<br />
<br />
[[:File:book-advanced-algorithms.pdf]]<br />
<br />
Смешное — [https://vk.com/im?sel=1712504&w=wall-54530371_213451%2F1a6855f382934ad3ee реакция «обычных программистов»]<br />
<br />
==== Видео ====<br />
<br />
;Update: Можно не смотреть, технология многопоточных MKV-перестала работать, будет новое видео, небольшими блоками.<br />
{{/Лекции весеннего семестра 2013}}<br />
<br />
== Примечания и ссылки ==<br />
<br />
* Рекомендуем изучить Python. Ресурсов миллиарды, вот, например, хотя бы [http://ru.wikiversity.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%BD%D0%B0%D1%83%D1%87%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python лекции], а еще лучше — [http://pythontutor.ru интерактивный учебник].<br />
<br />
== Полезная сопутствующая литература по курсу. ==<br />
<br />
* Очень хорошие лекции по классической теории сложности, написанные одним из корифеев оной: [http://www.wisdom.weizmann.ac.il/%7Eoded/cc.html Introduction to Complexity Theory by Oded Goldreich]<br />
* Более краткий [http://www.cs.technion.ac.il/%7Ecs236313/ курс по классической теории сложности], университет Technion.<br />
* Еще один классический [http://www.cs.yale.edu/HTML/YALE/CS/HyPlans/lovasz/complex.ps курс лекций по теории сложности от László Lovász.]<br />
* ''А. Китаев, А. Шень, М. Вялый'', [http://discopal.ispras.ru/img_auth.php/9/96/Qbook_.pdf Классические и квантовые вычисления] — замечательная книга. Содержит отличное введение в теорию сложности.<br />
* Лекции [https://www.youtube.com/watch?v=NzeS8XoGCLI&list=PL4_hYwCyhAvbXd4YjOILzI5nPZMIzotMG Сложность вычислений (3 курс, осень 2019) - лектор -- Мусатов Д.В.], [https://vk.com/video-176869000_456239030 трейлер]<br />
<br />
----<br />
{{:Библиотека}}<br />
<br />
<br />
<!--<br />
== Нужно знать! ==<br />
<br />
[[File:Что ждут на курсе по криптографии от вас.jpg|800px|center]]<br />
--><br />
<br />
<references/></div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:StasFomin/Innopolis/Wtf&diff=28710Участник:StasFomin/Innopolis/Wtf2024-03-28T08:09:59Z<p>StasFomin: </p>
<hr />
<div>https://eduwiki.innopolis.university/index.php/BSc:_EfficientAlgorithms<br />
<br />
= Высокопроизводительные вычисления =<br />
: '''Квалификация выпускника''': бакалавр<br />
: '''Направление подготовки''': 09.03.01 - “Информатика и вычислительная техника”<br />
: '''Направленность (профиль) образовательной программы''': Математические основы ИИ<br />
: '''Программу разработал(а)''': Конюхов И.В.<br />
<br />
== 1. Краткая характеристика дисциплины ==<br />
Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области программного обеспечения и его разработки; искусственного интеллекта и его применения для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины обучающиеся рассматривают некоторые известные численные алгоритмы и особенности их параллельной реализации на центральных и графических процессорах. Рассматриваются прямые методы решения систем линейных алгебраических уравнений с матрицами общего и специального типов (метод Гаусса, разложение Холецкого, прогонка), итерационные методы решения систем линейных уравнений (методы простой итерации и верхней релаксации), вопросы реализации разреженных матриц и алгебры над ними, методы Монте-Карло, численные методы решения систем обыкновенных дифференциальных уравнений и уравнений с частными производными, а также новейшие физически-информированные нейронные сети.<br />
<br />
== 2. Перечень планируемых результатов обучения ==<br />
: '''Целью освоения дисциплины''' является формирование общего понимания высокоэффективной реализации общих вычислительных алгоритмов с использованием процессоров различных типов и архитектур, а также демонстрация современных подходов к вычислительным алгоритмам на базе технологий машинного обучения.<br />
<br />
: '''Задачами дисциплины''' являются изучение технологий параллельного программирования на центральных, графических и нейропроцессорах, анализ вычислительных алгоритмов с целью выявления точек параллелизма (hotpoints) и узких мест (bottle necks), а также внедрение технологий искусственного интеллекта и нейронных сетей в классические вычислительные задачи.<br />
<br />
=== Общая характеристика результата обучения по дисциплине ===<br />
: '''Знания:'''<br />
*подходов к параллельному программированию,<br />
*архитектур современных процессоров,<br />
*программных моделей с общей памятью,<br />
*архитектуры современных графических процессоров,<br />
*основ выполнения вычислений общего назначения на разных платформах,<br />
*современных подходов к программированию алгоритмов решения задач математики и физики.<br />
<br />
: '''Умения:'''<br />
*SIMD- и MIMD-программирование для CPU,<br />
*SIMD-программирование для GPU,<br />
*выполнять синхронизацию потоков,<br />
*выполнять оптимизация общей памяти.<br />
<br />
: '''Навыки (владения):'''<br />
*проведения анализ алгоритмов на предмет возможного параллелизма с выявлением "горячих точек" и "бутылочных горлышек",<br />
*применения современного параллельного программирования к методам статистики,<br />
*решения систем алгебраических уравнений наиболее эффективным способом,<br />
*решения основных типов дифференциальных уравнений, встречающихся в широком спектре реальных задач,<br />
*применения современных вычислительных алгоритмов на основе машинного обучения для решения различных типов дифференциальных уравнений.<br />
<br />
== 3. Структура и содержание дисциплины ==<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:30%" | Наименование раздела <br> дисциплины<br />
| style="width:60%" | Содержание дисциплины по темам<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. || Введение в высокопроизводительные вычисления, OpenMP и OpenCL <br />
||- Существующие суперкомпьютерные системы<br>- Модель общей памяти<br>- Подходы к программированию MIMD и SIMD<br>- Массивно-параллельные ускорители<br>- Иерархия памяти<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. || Параллельные алгоритмы линейной алгебры<br />
||- Матричное умножение: оптимизация производительности различных реализаций на основе различных типов памяти устройства<br>- Прямые методы решения СЛАУ: исключение Гаусса, разложение Холецкого, метод прогонки, параллельная реализация<br>- Итерационные методы решения СЛАУ: метод Якоби, метод Зейделя, релаксационные методы, параллельная реализация<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. || Параллельные методы решения дифференциальных уравнений<br />
||- Решение систем обыкновенных дифференциальных уравнений<br>- Решение волнового уравнения<br>- Решение задачи теплопроводности<br>- Решение задачи Дирихле для уравнения Пуассона<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. || Физически информированные нейронные сети<br />
||- Основы нейронных сетей<br>- Основы методов оптимизации<br>- Принципы преобразования задач, записанных в терминах дифференциальных уравнений, в оптимизационные<br>- Повышение эффективности процедуры обучения<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. || Параллельные методы Монте-Карло<br />
||- Вычисление определенных интегралов<br>- Способы уменьшения дисперсии<br>- Генераторы псевдослучайных чисел<br>- Подходы к распараллеливанию методов Монте-Карло<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования<br />
||- Многопоточность в современных языках программирования<br>- Существующие обертки для OpenCL и CUDA<br>- Другие высокоуровневые подходы к параллельному программированию<br />
|}<br />
<br />
== 4. Методические и оценочные материалы ==<br />
===Задания для практических занятий:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:30%" | Наименование раздела<br>дисциплины (модуля)<br />
| style="width:60%" | Перечень рассматриваемых тем (вопросов)<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. || Введение в высокопроизводительные вычисления, OpenMP и OpenCL||1) Напишите программу, которая получает ID потока, печатает на консоли "Привет из потока #", печатает общее количество потоков из главного потока. Введите необходимые переменные локально, а затем сделайте их глобальными. Протестируйте программу. Используйте необходимые пункты для решения возникших проблем.<br>2) Напишите программу, которая хранит 3 массива фиксированной длины, инициализирует элементы массивов их индексами, печатает общее количество потоков из главного потока, суммирует элементы двух первых массивов и записывает их в третий, а также печатает результат из текущего потока. Запустите задачу в параллельной секции и с помощью параллельного цикла. Протестируйте программу. Попробуйте использовать параллельный цикл с параллельной секцией и без нее. Попробуйте измерить время вычислений.<br>3) Напишите программу, которая вычисляет определенный интеграл заданной функции на заданном интервале (с использованием метода трапеций). Протестируйте программу. Измерьте время вычисления.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. || Параллельные алгоритмы линейной алгебры||1) Реализуйте матрично-векторное умножение в OpenMP и OpenCL. Обсудите различные технологии хранения данных.<br>2)Выполните матричное умножение, попробуйте оптимизацию.<br>3) Реализуйте методы развертки и редукции для полосато-матричного СЛАУ. Использование инструментария OpenMP и OpenCL для распараллеливания.<br>4) Решите СЛАУ с помощью итерационного алгоритма. Реализуйте решение с помощью подходов OpenMP и OpenCL.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. || Параллельные методы решения дифференциальных уравнений||1) Реализуйте решение задачи распространения тепла с ленточной матрицей с помощью прямых методов.<br>2) Реализуйте решение задачи распространения тепла с ленточной матрицей с использованием итерационных методов.<br> 3) Сравните вычислительную производительность реализаций на CPU и GPU.<br>4) Реализуйте визуализацию вычислительных экспериментов.<br> 5) Напишите компьютерную программу, которая решает систему ОДУ, продумайте способы распараллеливания решения.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. || Физически информированные нейронные сети||1) Напишите компьютерную программу, которая решает обыкновенное дифференциальное уравнение с помощью классических численных алгоритмов.<br>2) Напишите компьютерную программу, реализующую физически информированную нейронную сеть для решения обыкновенного дифференциального уравнения.<br>3) Заранее реализуйте процедуру сравнения. Протестируйте решение на различных уравнениях. Сделайте вывод о сходимости алгоритма и о процедуре обучения.<br>4) Реализуйте параллельную версию алгоритма. Сравните вычислительную производительность.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. || Параллельные методы Монте-Карло||1) Реализуйте вычисление определенных интегралов с помощью классических квадратурных формул. Сравните погрешность вычислений с помощью метода Монте-Карло. Сравните время работы обоих подходов для достижения одинаковой точности.<br>2) Реализуйте технику уменьшения дисперсии для метода Монте-Карло. Проведите эксперименты, подтверждающие эффективность реализации.<br>3) Реализуйте генератор равномерного распределения. Проведите эксперименты по оценке корректности и производительности генератора.<br> 4) Реализуйте генератор нормального распределения. Проведите эксперименты по оценке корректности и эффективности работы генератора.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования||Нет.<br />
|}<br />
<br />
===Текущий контроль успеваемости обучающихся по дисциплине:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:5%" | №<br>п/п<br />
| style="width:20%" | Наименование раздела<br>дисциплины<br />
| style="width:25%" | Форма текущего контроля<br><br />
| style="width:50%" | Материалы текущего контроля<br><br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1.<br />
| Введение в высокопроизводительные вычисления, OpenMP и OpenCL<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное)<br />
| Тестирование (письменное или компьютерное)<br><br />
- Как включить поддержку OpenMP в проекте?<br>- Как определить, поддерживает ли GPU OpenCL или нет?<br>- Как собрать информацию о CPU?<br>- Как собрать информацию о GPU?<br>- Как выполнять код параллельно с использованием OpenMP?<br>- Как выполнять код параллельно на GPU?<br />
|- <br />
| style="text-align:center;" | 2.<br />
| Параллельные алгоритмы линейной алгебры<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое разреженные матрицы?<br>- Опишите особенности умножения разреженных матриц<br>- Объясните прямой и обратный путь разложения Гаусса<br>- Как составить схему решения метода прогонки?<br>- Как организовать итерации для приближенного решения СЛАУ?<br>- Как понять, нужно ли останавливать итерационный процесс или нет?<br>- Как оптимизировать алгоритмы умножения матриц с точки зрения затрат памяти и времени?<br />
| <br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3.<br />
| Параллельные методы решения дифференциальных уравнений<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое волновое уравнение?<br>- Что такое уравнение теплопроводности?<br>- Как задача теплопроводности связана с задачей диффузии?<br>- Как описать такие задачи с помощью дифференциальных уравнений?<br>- Что такое "преобразование" с точки зрения математики?<br>- Какие типы преобразований вы знаете для решения дифференциальных уравнений?<br>- Как численно решать системы обыкновенных дифференциальных уравнений?<br />
| <br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4.<br />
| Физически информированные нейронные сети<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое нейронная сеть?<br>- Какова структура однослойного и многослойного перцептрона?<br>- Как переформулировать задачу Коши с начальным значением в терминах задачи оптимизации?<br>- Как оценить погрешность алгоритма PINN?<br />
<br>- В чем плюсы и минусы подхода PINN по сравнению с классическими численными методами?<br>- Как ускорить процедуру обучения с помощью параллельного программирования?<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5.<br />
| Параллельные методы Монте-Карло<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое определенный интеграл?<br>- Каковы классические формулы квадратур?<br>- Что такое равномерное распределение?<br>- Что такое нормальное распределение?<br>- Как использовать распределения при построении генераторов случайных величин?<br>- Как использовать статистический подход для оценки определенного интеграла?<br>- Как вычислить число Пи с помощью метода Монте-Карло?<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования <br />
|| Проверка выполнения домашних заданий;<br>Устный опрос;<br>Доклад<br />
|| Темы докладов:<br><br />
- Обзор Nvidia CUDA<br>- Обзор OpenACC<br>- C# и многопоточное программирование (Task Parallel Library)<br>- C# и программирование графических процессоров Nvidia CUDA (AleaGPU и альтернативы)<br> -C# и программирование на GPU OpenCL (Cudafy.NET, или Cloo.NET и альтернативные варианты)<br>- Java и многопоточное программирование<br>- Программирование на Java и Nvidia CUDA GPU<br>- Программирование на Java и OpenCL GPU<br>- Python и многопоточное программирование<br>- Обзор программирования на Python и GPU<br>- Swift и многопоточное программирование<br>- Swift и программирование на GPU<br>- Go и многопоточное программирование<br>- Go и программирование на GPU<br>- Rust и многопоточное программирование и программирование на GPU<br>- Erlang и многопоточное программирование<br />
|}<br />
<br />
===Контрольные вопросы для подготовки к промежуточной аттестации:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:25%" | Наименование <br> раздела дисциплины<br />
| style="width:65%" | Вопросы<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. ||Введение в высокопроизводительные вычисления, OpenMP и OpenCL<br />
||1) OpenMP: подпрограммы библиотеки времени выполнения, переменные окружения<br>2) Директивы компилятора OpenMP: секции parallel<br>3) Директивы компилятора OpenMP: синхронизация<br>4) OpenCL: платформа и модели выполнения<br>5) OpenCL: модель памяти<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. ||Параллельные алгоритмы линейной алгебры ||1) Матричная алгебра: разреженные матрицы<br>2) СЛАУ: устранение гаусса<br>3) СЛАУ: разложение Холецкого<br>4) СЛАУ: методы прогонки<br>5) СЛАУ: итерационные методы<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. ||Параллельные методы решения дифференциальных уравнений ||1) Волновые уравнения<br>2) Сеточные методы<br>3) Задача теплопроводности<br>4) Задача Дирихле для уравнения Пуассона<br>5) Системы обыкновенных дифференциальных уравнений и соответствующие решения<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. ||Физически информированные нейронные сети ||1) Физически обоснованные нейронные сети<br>2) PINN для решения обыкновенных дифференциальных уравнений<br>3) PINN и системы обыкновенных дифференциальных уравнений<br>4) PINN и частичные дифференциальные уравнения<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. ||Параллельные методы Монте-Карло ||1) Математический анализ: определенные интегралы и методы их вычислений<br>2) Статистика: свойства случайной величины<br>3) Статистика: равномерное распределение<br>4) Статистика: нормальное распределение<br>5) Метод Монте-Карло<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. ||Высокопроизводительные вычисления и современные языки программирования<br />
||1) Модель программирования Nvidia CUDA<br>2) Модель памяти Nvidia CUDA<br>3) Модель программирования OpenACC<br />
|}<br />
<br />
===Вопросы/Задания к промежуточной аттестации в устной/письменной форме:===<br />
#Что такое закон Амдала?<br />
#Перечислите особенности #pragma parallel<br />
#Какие типы модификаторов доступа к памяти вы знаете?<br />
#Сравните секции parallel и задачи OpenMP<br />
#Как синхронизировать потоки в OpenMP?<br />
#Опишите структуру программы OpenCL<br />
#Какие виды памяти в OpenCL вы знаете?<br />
#Что такое ядра OpenCL?<br />
#Перечислите сервисные операции OpenCL<br />
#Как вычислить определенный интеграл? <br />
#Что такое случайная переменная?<br />
#Что такое генератор случайных величин?<br />
#Как построить генератор случайных величин?<br />
#Как работают методы Монте-Карло?<br />
#Как выполнить умножение разреженных матриц?<br />
#Перечислите прямые методы решения СЛАУ<br />
#В чем разница между устранением Гаусса и разложением Холецкого?<br />
#Объясните итерационный алгоритм решения СЛАУ на графе<br />
#Как ускорить алгоритмы линейной алгебры с помощью многопоточного программирования?<br />
#Как задать граничные условия для дифференциальных уравнений с частными производными?<br />
#Как задать начальные условия для дифференциальных уравнений с частными производными?<br />
#В чем разница между явными и неявными конечно-разностными схемами?<br />
#Перечислите возможные способы решения задачи о распространении тепла в пластине.<br />
#Переформулируйте поставленную задачу Коши в оптимизационную задачу.<br />
#Что такое PINN-подход к дифференциальным уравнениям?<br />
#Перечислите известные оптимизаторы и их особенности.<br />
#Как избежать влияния начального условия на значение, выдаваемое нейронной сетью?<br />
#Что делать с начальным распределением функции в задаче PDE, формулируя задачу оптимизации?<br />
#Что делать с граничными условиями в PDE-задаче при формулировке задачи оптимизации?<br />
#Как решить систему ODE с помощью PINN-подхода?<br />
#Сравните Nvidia CUDA и OpenCL. В чем плюсы и минусы обоих наборов инструментов?<br />
#Сравнение библиотек OpenACC и OpenMP: основные различия и цели другого подхода<br />
#C#: библиотека параллельных задач<br />
#Java: Runnable<br />
#Python: модуль потоков<br />
<br />
=== Перечень учебно-методического обеспечения дисциплины ===<br />
Список основной литературы:<br />
#Barbara Chapman, Gabriele Jost, Ruud van der Pas. (2008) Using OpenMP: Portable Shared Memory Parallel Programming, The MIT Press,<br />
#Scarpino, M. (2011) OpenCL in Action: How to Accelerate Graphics and Computations, Manning.<br />
#Banger, R., Bhattacharyya, K. (2013) OpenCL Programming by Example, Packt Publishing.<br />
#Sanders, J., Kandrot, E. (2010) CUDA by example: an introduction to general-purpose GPU programming, Addison-Weslye<br />
<br />
Список дополнительной литературы:<br />
#Введение в высокопроизводительные вычисления: [https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial introduction-high-performance-computing]<br />
#Введение в параллельное программирование: [http://www.hpcc.unn.ru/mskurs/cs338_pp_index.htm introduction-parallel-programming]<br />
#Учебные материалы по OpenMP: [https://www.openmp.org/resources/tutorials-articles/ OpenMP-tutorials]<br />
#Учебные материалы по OpenCL: [https://www.nersc.gov/assets/pubs_presos/MattsonTutorialSC14.pdf OpenCL-tutorials]<br />
<br />
Необходимое программное обеспечение:<br />
#Microsoft VS Code / Microsoft Visual Studio / любая другая подходящая среда разработки на языке C++<br />
#GNU Plot<br />
#OpenMP, OpenCL, CUDA библиотеки<br />
<br />
=== Методические указания для обучающихся по освоению дисциплины ===<br />
<br />
{| class="wikitable" style="width:80%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; font-weight:bold;"<br />
| style="width:20%" | Вид учебных<br>занятий/деятельности<br />
| style="width:80%" | Деятельность обучающегося<br />
|- <br />
| style="vertical-align:middle; text-align:center;" | Лекция<br />
| style="vertical-align:middle; text-align:left;" | Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Практические (лабораторные) занятия<br />
| style="vertical-align:middle; text-align:left;" | Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов. <br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Самостоятельная работа<br />
| style="vertical-align:middle; text-align:left;" | Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка презентаций. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис. <br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Доклад<br />
| style="vertical-align:middle; text-align:left;" | Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Дискуссия<br />
| style="vertical-align:middle; text-align:left;" | Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Разработка отдельных частей кода<br />
| style="vertical-align:middle; text-align:left;" | Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Выполнение домашних заданий и групповых проектов<br />
| style="vertical-align:middle; text-align:left;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Индивидуальная работа<br />
| style="vertical-align:middle; text-align:left;" | При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Тестирование (устное/письменное)<br />
| style="vertical-align:middle; text-align:left;" | При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.<br />
|}<br />
<br />
=== Методы и технологии обучения, способствующие формированию компетенции ===<br />
{| class="wikitable"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| Методы и технологии обучения, способствующие формированию компетенции<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| Информационно-коммуникационная технология, проектная технология, технология проблемного обучения, кейс-технология, традиционные технологии, модульные технологии<br />
|}</div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:StasFomin/Innopolis/Wtf&diff=28709Участник:StasFomin/Innopolis/Wtf2024-03-28T08:06:23Z<p>StasFomin: Новая страница: «= Высокопроизводительные вычисления = : '''Квалификация выпускника''': бакалавр : '''Направл…»</p>
<hr />
<div>= Высокопроизводительные вычисления =<br />
: '''Квалификация выпускника''': бакалавр<br />
: '''Направление подготовки''': 09.03.01 - “Информатика и вычислительная техника”<br />
: '''Направленность (профиль) образовательной программы''': Математические основы ИИ<br />
: '''Программу разработал(а)''': Конюхов И.В.<br />
<br />
== 1. Краткая характеристика дисциплины ==<br />
Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области программного обеспечения и его разработки; искусственного интеллекта и его применения для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины обучающиеся рассматривают некоторые известные численные алгоритмы и особенности их параллельной реализации на центральных и графических процессорах. Рассматриваются прямые методы решения систем линейных алгебраических уравнений с матрицами общего и специального типов (метод Гаусса, разложение Холецкого, прогонка), итерационные методы решения систем линейных уравнений (методы простой итерации и верхней релаксации), вопросы реализации разреженных матриц и алгебры над ними, методы Монте-Карло, численные методы решения систем обыкновенных дифференциальных уравнений и уравнений с частными производными, а также новейшие физически-информированные нейронные сети.<br />
<br />
== 2. Перечень планируемых результатов обучения ==<br />
: '''Целью освоения дисциплины''' является формирование общего понимания высокоэффективной реализации общих вычислительных алгоритмов с использованием процессоров различных типов и архитектур, а также демонстрация современных подходов к вычислительным алгоритмам на базе технологий машинного обучения.<br />
<br />
: '''Задачами дисциплины''' являются изучение технологий параллельного программирования на центральных, графических и нейропроцессорах, анализ вычислительных алгоритмов с целью выявления точек параллелизма (hotpoints) и узких мест (bottle necks), а также внедрение технологий искусственного интеллекта и нейронных сетей в классические вычислительные задачи.<br />
<br />
=== Общая характеристика результата обучения по дисциплине ===<br />
: '''Знания:'''<br />
*подходов к параллельному программированию,<br />
*архитектур современных процессоров,<br />
*программных моделей с общей памятью,<br />
*архитектуры современных графических процессоров,<br />
*основ выполнения вычислений общего назначения на разных платформах,<br />
*современных подходов к программированию алгоритмов решения задач математики и физики.<br />
<br />
: '''Умения:'''<br />
*SIMD- и MIMD-программирование для CPU,<br />
*SIMD-программирование для GPU,<br />
*выполнять синхронизацию потоков,<br />
*выполнять оптимизация общей памяти.<br />
<br />
: '''Навыки (владения):'''<br />
*проведения анализ алгоритмов на предмет возможного параллелизма с выявлением "горячих точек" и "бутылочных горлышек",<br />
*применения современного параллельного программирования к методам статистики,<br />
*решения систем алгебраических уравнений наиболее эффективным способом,<br />
*решения основных типов дифференциальных уравнений, встречающихся в широком спектре реальных задач,<br />
*применения современных вычислительных алгоритмов на основе машинного обучения для решения различных типов дифференциальных уравнений.<br />
<br />
== 3. Структура и содержание дисциплины ==<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:30%" | Наименование раздела <br> дисциплины<br />
| style="width:60%" | Содержание дисциплины по темам<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. || Введение в высокопроизводительные вычисления, OpenMP и OpenCL <br />
||- Существующие суперкомпьютерные системы<br>- Модель общей памяти<br>- Подходы к программированию MIMD и SIMD<br>- Массивно-параллельные ускорители<br>- Иерархия памяти<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. || Параллельные алгоритмы линейной алгебры<br />
||- Матричное умножение: оптимизация производительности различных реализаций на основе различных типов памяти устройства<br>- Прямые методы решения СЛАУ: исключение Гаусса, разложение Холецкого, метод прогонки, параллельная реализация<br>- Итерационные методы решения СЛАУ: метод Якоби, метод Зейделя, релаксационные методы, параллельная реализация<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. || Параллельные методы решения дифференциальных уравнений<br />
||- Решение систем обыкновенных дифференциальных уравнений<br>- Решение волнового уравнения<br>- Решение задачи теплопроводности<br>- Решение задачи Дирихле для уравнения Пуассона<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. || Физически информированные нейронные сети<br />
||- Основы нейронных сетей<br>- Основы методов оптимизации<br>- Принципы преобразования задач, записанных в терминах дифференциальных уравнений, в оптимизационные<br>- Повышение эффективности процедуры обучения<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. || Параллельные методы Монте-Карло<br />
||- Вычисление определенных интегралов<br>- Способы уменьшения дисперсии<br>- Генераторы псевдослучайных чисел<br>- Подходы к распараллеливанию методов Монте-Карло<br />
|- style="background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования<br />
||- Многопоточность в современных языках программирования<br>- Существующие обертки для OpenCL и CUDA<br>- Другие высокоуровневые подходы к параллельному программированию<br />
|}<br />
<br />
== 4. Методические и оценочные материалы ==<br />
===Задания для практических занятий:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:30%" | Наименование раздела<br>дисциплины (модуля)<br />
| style="width:60%" | Перечень рассматриваемых тем (вопросов)<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. || Введение в высокопроизводительные вычисления, OpenMP и OpenCL||1) Напишите программу, которая получает ID потока, печатает на консоли "Привет из потока #", печатает общее количество потоков из главного потока. Введите необходимые переменные локально, а затем сделайте их глобальными. Протестируйте программу. Используйте необходимые пункты для решения возникших проблем.<br>2) Напишите программу, которая хранит 3 массива фиксированной длины, инициализирует элементы массивов их индексами, печатает общее количество потоков из главного потока, суммирует элементы двух первых массивов и записывает их в третий, а также печатает результат из текущего потока. Запустите задачу в параллельной секции и с помощью параллельного цикла. Протестируйте программу. Попробуйте использовать параллельный цикл с параллельной секцией и без нее. Попробуйте измерить время вычислений.<br>3) Напишите программу, которая вычисляет определенный интеграл заданной функции на заданном интервале (с использованием метода трапеций). Протестируйте программу. Измерьте время вычисления.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. || Параллельные алгоритмы линейной алгебры||1) Реализуйте матрично-векторное умножение в OpenMP и OpenCL. Обсудите различные технологии хранения данных.<br>2)Выполните матричное умножение, попробуйте оптимизацию.<br>3) Реализуйте методы развертки и редукции для полосато-матричного СЛАУ. Использование инструментария OpenMP и OpenCL для распараллеливания.<br>4) Решите СЛАУ с помощью итерационного алгоритма. Реализуйте решение с помощью подходов OpenMP и OpenCL.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. || Параллельные методы решения дифференциальных уравнений||1) Реализуйте решение задачи распространения тепла с ленточной матрицей с помощью прямых методов.<br>2) Реализуйте решение задачи распространения тепла с ленточной матрицей с использованием итерационных методов.<br> 3) Сравните вычислительную производительность реализаций на CPU и GPU.<br>4) Реализуйте визуализацию вычислительных экспериментов.<br> 5) Напишите компьютерную программу, которая решает систему ОДУ, продумайте способы распараллеливания решения.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. || Физически информированные нейронные сети||1) Напишите компьютерную программу, которая решает обыкновенное дифференциальное уравнение с помощью классических численных алгоритмов.<br>2) Напишите компьютерную программу, реализующую физически информированную нейронную сеть для решения обыкновенного дифференциального уравнения.<br>3) Заранее реализуйте процедуру сравнения. Протестируйте решение на различных уравнениях. Сделайте вывод о сходимости алгоритма и о процедуре обучения.<br>4) Реализуйте параллельную версию алгоритма. Сравните вычислительную производительность.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. || Параллельные методы Монте-Карло||1) Реализуйте вычисление определенных интегралов с помощью классических квадратурных формул. Сравните погрешность вычислений с помощью метода Монте-Карло. Сравните время работы обоих подходов для достижения одинаковой точности.<br>2) Реализуйте технику уменьшения дисперсии для метода Монте-Карло. Проведите эксперименты, подтверждающие эффективность реализации.<br>3) Реализуйте генератор равномерного распределения. Проведите эксперименты по оценке корректности и производительности генератора.<br> 4) Реализуйте генератор нормального распределения. Проведите эксперименты по оценке корректности и эффективности работы генератора.<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования||Нет.<br />
|}<br />
<br />
===Текущий контроль успеваемости обучающихся по дисциплине:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:5%" | №<br>п/п<br />
| style="width:20%" | Наименование раздела<br>дисциплины<br />
| style="width:25%" | Форма текущего контроля<br><br />
| style="width:50%" | Материалы текущего контроля<br><br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1.<br />
| Введение в высокопроизводительные вычисления, OpenMP и OpenCL<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное)<br />
| Тестирование (письменное или компьютерное)<br><br />
- Как включить поддержку OpenMP в проекте?<br>- Как определить, поддерживает ли GPU OpenCL или нет?<br>- Как собрать информацию о CPU?<br>- Как собрать информацию о GPU?<br>- Как выполнять код параллельно с использованием OpenMP?<br>- Как выполнять код параллельно на GPU?<br />
|- <br />
| style="text-align:center;" | 2.<br />
| Параллельные алгоритмы линейной алгебры<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое разреженные матрицы?<br>- Опишите особенности умножения разреженных матриц<br>- Объясните прямой и обратный путь разложения Гаусса<br>- Как составить схему решения метода прогонки?<br>- Как организовать итерации для приближенного решения СЛАУ?<br>- Как понять, нужно ли останавливать итерационный процесс или нет?<br>- Как оптимизировать алгоритмы умножения матриц с точки зрения затрат памяти и времени?<br />
| <br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3.<br />
| Параллельные методы решения дифференциальных уравнений<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое волновое уравнение?<br>- Что такое уравнение теплопроводности?<br>- Как задача теплопроводности связана с задачей диффузии?<br>- Как описать такие задачи с помощью дифференциальных уравнений?<br>- Что такое "преобразование" с точки зрения математики?<br>- Какие типы преобразований вы знаете для решения дифференциальных уравнений?<br>- Как численно решать системы обыкновенных дифференциальных уравнений?<br />
| <br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4.<br />
| Физически информированные нейронные сети<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое нейронная сеть?<br>- Какова структура однослойного и многослойного перцептрона?<br>- Как переформулировать задачу Коши с начальным значением в терминах задачи оптимизации?<br>- Как оценить погрешность алгоритма PINN?<br />
<br>- В чем плюсы и минусы подхода PINN по сравнению с классическими численными методами?<br>- Как ускорить процедуру обучения с помощью параллельного программирования?<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5.<br />
| Параллельные методы Монте-Карло<br />
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта<br />
| Тестирование (письменное или компьютерное):<br><br />
- Что такое определенный интеграл?<br>- Каковы классические формулы квадратур?<br>- Что такое равномерное распределение?<br>- Что такое нормальное распределение?<br>- Как использовать распределения при построении генераторов случайных величин?<br>- Как использовать статистический подход для оценки определенного интеграла?<br>- Как вычислить число Пи с помощью метода Монте-Карло?<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования <br />
|| Проверка выполнения домашних заданий;<br>Устный опрос;<br>Доклад<br />
|| Темы докладов:<br><br />
- Обзор Nvidia CUDA<br>- Обзор OpenACC<br>- C# и многопоточное программирование (Task Parallel Library)<br>- C# и программирование графических процессоров Nvidia CUDA (AleaGPU и альтернативы)<br> -C# и программирование на GPU OpenCL (Cudafy.NET, или Cloo.NET и альтернативные варианты)<br>- Java и многопоточное программирование<br>- Программирование на Java и Nvidia CUDA GPU<br>- Программирование на Java и OpenCL GPU<br>- Python и многопоточное программирование<br>- Обзор программирования на Python и GPU<br>- Swift и многопоточное программирование<br>- Swift и программирование на GPU<br>- Go и многопоточное программирование<br>- Go и программирование на GPU<br>- Rust и многопоточное программирование и программирование на GPU<br>- Erlang и многопоточное программирование<br />
|}<br />
<br />
===Контрольные вопросы для подготовки к промежуточной аттестации:===<br />
{| class="wikitable" style="width:70%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| style="width:10%" | №<br>п/п<br />
| style="width:25%" | Наименование <br> раздела дисциплины<br />
| style="width:65%" | Вопросы<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 1. ||Введение в высокопроизводительные вычисления, OpenMP и OpenCL<br />
||1) OpenMP: подпрограммы библиотеки времени выполнения, переменные окружения<br>2) Директивы компилятора OpenMP: секции parallel<br>3) Директивы компилятора OpenMP: синхронизация<br>4) OpenCL: платформа и модели выполнения<br>5) OpenCL: модель памяти<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 2. ||Параллельные алгоритмы линейной алгебры ||1) Матричная алгебра: разреженные матрицы<br>2) СЛАУ: устранение гаусса<br>3) СЛАУ: разложение Холецкого<br>4) СЛАУ: методы прогонки<br>5) СЛАУ: итерационные методы<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 3. ||Параллельные методы решения дифференциальных уравнений ||1) Волновые уравнения<br>2) Сеточные методы<br>3) Задача теплопроводности<br>4) Задача Дирихле для уравнения Пуассона<br>5) Системы обыкновенных дифференциальных уравнений и соответствующие решения<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 4. ||Физически информированные нейронные сети ||1) Физически обоснованные нейронные сети<br>2) PINN для решения обыкновенных дифференциальных уравнений<br>3) PINN и системы обыкновенных дифференциальных уравнений<br>4) PINN и частичные дифференциальные уравнения<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 5. ||Параллельные методы Монте-Карло ||1) Математический анализ: определенные интегралы и методы их вычислений<br>2) Статистика: свойства случайной величины<br>3) Статистика: равномерное распределение<br>4) Статистика: нормальное распределение<br>5) Метод Монте-Карло<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| style="text-align:center;" | 6. ||Высокопроизводительные вычисления и современные языки программирования<br />
||1) Модель программирования Nvidia CUDA<br>2) Модель памяти Nvidia CUDA<br>3) Модель программирования OpenACC<br />
|}<br />
<br />
===Вопросы/Задания к промежуточной аттестации в устной/письменной форме:===<br />
#Что такое закон Амдала?<br />
#Перечислите особенности #pragma parallel<br />
#Какие типы модификаторов доступа к памяти вы знаете?<br />
#Сравните секции parallel и задачи OpenMP<br />
#Как синхронизировать потоки в OpenMP?<br />
#Опишите структуру программы OpenCL<br />
#Какие виды памяти в OpenCL вы знаете?<br />
#Что такое ядра OpenCL?<br />
#Перечислите сервисные операции OpenCL<br />
#Как вычислить определенный интеграл? <br />
#Что такое случайная переменная?<br />
#Что такое генератор случайных величин?<br />
#Как построить генератор случайных величин?<br />
#Как работают методы Монте-Карло?<br />
#Как выполнить умножение разреженных матриц?<br />
#Перечислите прямые методы решения СЛАУ<br />
#В чем разница между устранением Гаусса и разложением Холецкого?<br />
#Объясните итерационный алгоритм решения СЛАУ на графе<br />
#Как ускорить алгоритмы линейной алгебры с помощью многопоточного программирования?<br />
#Как задать граничные условия для дифференциальных уравнений с частными производными?<br />
#Как задать начальные условия для дифференциальных уравнений с частными производными?<br />
#В чем разница между явными и неявными конечно-разностными схемами?<br />
#Перечислите возможные способы решения задачи о распространении тепла в пластине.<br />
#Переформулируйте поставленную задачу Коши в оптимизационную задачу.<br />
#Что такое PINN-подход к дифференциальным уравнениям?<br />
#Перечислите известные оптимизаторы и их особенности.<br />
#Как избежать влияния начального условия на значение, выдаваемое нейронной сетью?<br />
#Что делать с начальным распределением функции в задаче PDE, формулируя задачу оптимизации?<br />
#Что делать с граничными условиями в PDE-задаче при формулировке задачи оптимизации?<br />
#Как решить систему ODE с помощью PINN-подхода?<br />
#Сравните Nvidia CUDA и OpenCL. В чем плюсы и минусы обоих наборов инструментов?<br />
#Сравнение библиотек OpenACC и OpenMP: основные различия и цели другого подхода<br />
#C#: библиотека параллельных задач<br />
#Java: Runnable<br />
#Python: модуль потоков<br />
<br />
=== Перечень учебно-методического обеспечения дисциплины ===<br />
Список основной литературы:<br />
#Barbara Chapman, Gabriele Jost, Ruud van der Pas. (2008) Using OpenMP: Portable Shared Memory Parallel Programming, The MIT Press,<br />
#Scarpino, M. (2011) OpenCL in Action: How to Accelerate Graphics and Computations, Manning.<br />
#Banger, R., Bhattacharyya, K. (2013) OpenCL Programming by Example, Packt Publishing.<br />
#Sanders, J., Kandrot, E. (2010) CUDA by example: an introduction to general-purpose GPU programming, Addison-Weslye<br />
<br />
Список дополнительной литературы:<br />
#Введение в высокопроизводительные вычисления: [https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial introduction-high-performance-computing]<br />
#Введение в параллельное программирование: [http://www.hpcc.unn.ru/mskurs/cs338_pp_index.htm introduction-parallel-programming]<br />
#Учебные материалы по OpenMP: [https://www.openmp.org/resources/tutorials-articles/ OpenMP-tutorials]<br />
#Учебные материалы по OpenCL: [https://www.nersc.gov/assets/pubs_presos/MattsonTutorialSC14.pdf OpenCL-tutorials]<br />
<br />
Необходимое программное обеспечение:<br />
#Microsoft VS Code / Microsoft Visual Studio / любая другая подходящая среда разработки на языке C++<br />
#GNU Plot<br />
#OpenMP, OpenCL, CUDA библиотеки<br />
<br />
=== Методические указания для обучающихся по освоению дисциплины ===<br />
<br />
{| class="wikitable" style="width:80%;"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; font-weight:bold;"<br />
| style="width:20%" | Вид учебных<br>занятий/деятельности<br />
| style="width:80%" | Деятельность обучающегося<br />
|- <br />
| style="vertical-align:middle; text-align:center;" | Лекция<br />
| style="vertical-align:middle; text-align:left;" | Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Практические (лабораторные) занятия<br />
| style="vertical-align:middle; text-align:left;" | Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов. <br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Самостоятельная работа<br />
| style="vertical-align:middle; text-align:left;" | Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка презентаций. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис. <br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Доклад<br />
| style="vertical-align:middle; text-align:left;" | Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Дискуссия<br />
| style="vertical-align:middle; text-align:left;" | Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Разработка отдельных частей кода<br />
| style="vertical-align:middle; text-align:left;" | Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Выполнение домашних заданий и групповых проектов<br />
| style="vertical-align:middle; text-align:left;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Индивидуальная работа<br />
| style="vertical-align:middle; text-align:left;" | При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.<br />
|-<br />
| style="vertical-align:middle; text-align:center;" | Тестирование (устное/письменное)<br />
| style="vertical-align:middle; text-align:left;" | При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.<br />
|}<br />
<br />
=== Методы и технологии обучения, способствующие формированию компетенции ===<br />
{| class="wikitable"<br />
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"<br />
| Методы и технологии обучения, способствующие формированию компетенции<br />
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"<br />
| Информационно-коммуникационная технология, проектная технология, технология проблемного обучения, кейс-технология, традиционные технологии, модульные технологии<br />
|}</div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:StasFomin/Bookmarks/0x1&diff=28704Участник:StasFomin/Bookmarks/0x12024-03-20T21:19:31Z<p>StasFomin: Добавлена закладка Info &amp; Privacy</p>
<hr />
<div>== 2024 ==<br />
=== 2024-03 ===<br />
<br />
* 2024-03-20, 21:19:31: [https://vimeo.com/manage/showcases/149565/info Info & Privacy]<br />
* 2024-03-03, 19:13:37: [https://www.researchgate.net/publication/320081770_Creating_Realistic_Map-like_Visualisations_Results_from_User_Studies (1) Creating Realistic Map-like Visualisations: Results from User Studies | Request PDF]<br />
<br />
=== 2024-02 ===<br />
<br />
* 2024-02-28, 11:09:11: [https://gist.github.com/plembo/409a8d7b1bae66622dbcd26337bbb185 Convert docx to markdown with pandoc]<br />
* 2024-02-23, 12:28:49: [https://play.google.com/store/apps/details?id=pl.bezzalogowe.udpsink GStreamer Webcam – Apps on Google Play]<br />
*: <html>The app streams video from your Android device's main camera to given IP address. Video is encoded with H.264, audio can be encoded with FLAC. Video and audio sources are ahcsrc and openslessrc respectively. Receiving machine must have gstreamer1.0 and gst-launch-1.0 installed.<br><br>To receive video run:<br>gst-launch-1.0 udpsrc port=5000 ! h264parse ! avdec_h264 ! autovideosink<br><br>To receive video and audio encoded with FLAC run:<br>gst-launch-1.0 udpsrc port=5000 ! h264parse ! avdec_h264 ! autovideosink udpsrc port=5001 ! flacparse ! flacdec ! autoaudiosink sync=false<br><br>Last used IP address is saved. Keep in mind that maximum video resolution and bitrate is limited by your bandwidth.</html><br />
<!-- NEXT BOOKMARK --><br />
* 2024-02-23, 01:32:37: [https://github.com/mareksuma1985/GStreamer_Tutorial_udpsink GitHub - mareksuma1985/GStreamer_Tutorial_udpsink: Streams video from main camera to a given IP address.]<br />
* 2024-02-23, 00:54:04: [http://gstreamer-devel.230.s1.nabble.com/about-GStreamer-performance-problem-td971155.html GStreamer-devel - about GStreamer performance problem]<br />
*: <html>hdv1394src ! queue ! mpegtsparse ! rtpmp2tpay ! udpsink </html><br />
<!-- NEXT BOOKMARK --><br />
* 2024-02-20, 22:24:24: [https://blog.timekit.io/google-oauth-invalid-grant-nightmare-and-how-to-fix-it-9f4efaf1da35#.eqa5iwbkt Google OAuth “invalid_grant” nightmare — and how to fix it | by Lasse B. Andersen | Inside Timekit]</div>StasFominhttps://discopal.ispras.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:StasFomin/Bookmarks/Algorithms&diff=28703Участник:StasFomin/Bookmarks/Algorithms2024-03-20T19:14:22Z<p>StasFomin: Добавлена закладка sheryl-ai/MVGCN: Multi-View Graph Convolutional Network and Its Applications on Neuroimage Analysis for Parkinson's Disease (AMIA 2018)</p>
<hr />
<div>== 2024 ==<br />
=== 2024-03 ===<br />
<br />
* 2024-03-20, 19:14:22: [https://github.com/sheryl-ai/MVGCN sheryl-ai/MVGCN: Multi-View Graph Convolutional Network and Its Applications on Neuroimage Analysis for Parkinson's Disease (AMIA 2018)]<br />
* 2024-03-03, 19:22:07: [https://sysblok.ru/knowhow/kak-ustroena-nejroset-bert-ot-google/ Как устроена нейросеть BERT от Google - Системный Блокъ]<br />
* 2024-03-03, 19:13:07: [https://github.com/LeorFinkelberg/Optimization LeorFinkelberg/Optimization]<br />
<br />
=== 2024-02 ===<br />
<br />
* 2024-02-27, 20:55:59: [https://vk.com/video-176869000_456239030 Video005 — Видео]<br />
<br />
=== 2024-01 ===<br />
<br />
* 2024-01-27, 07:22:19: [https://github.com/MykolaHerasymovych/Optimizing-Acceptance-Threshold-in-Credit-Scoring-using-Reinforcement-Learning/blob/master/Source/simulation.py Optimizing-Acceptance-Threshold-in-Credit-Scoring-using-Reinforcement-Learning/Source/simulation.py at master · MykolaHerasymovych/Optimizing-Acceptance-Threshold-in-Credit-Scoring-using-Reinforcement-Learning]<br />
* 2024-01-27, 07:05:06: [https://habr.com/ru/companies/glowbyte/articles/519382/ ML и DS оттенки кредитного риск-менеджмента / Хабр]<br />
* 2024-01-27, 02:47:46: [https://bijournal.hse.ru/data/2015/10/12/1076342406/2.pdf BI 3 (33) 2015 new.indd - 2.pdf]<br />
* 2024-01-26, 03:06:01: [https://habr.com/ru/companies/yandex/articles/263991/ Вероятностное программирование / Хабр]<br />
* 2024-01-21, 03:00:34: [https://github.com/fast-algos/graphs-matrices-optimization/blob/master/lecture1.pdf graphs-matrices-optimization/lecture1.pdf at master · fast-algos/graphs-matrices-optimization]<br />
* 2024-01-21, 02:53:24: [https://github.com/ChrisTX/lecture-notes/tree/7726d59c6caeaa7ac874cbc1fb1e08353bfd98f3/Approximation%20Algorithms lecture-notes/Approximation Algorithms at 7726d59c6caeaa7ac874cbc1fb1e08353bfd98f3 · ChrisTX/lecture-notes]<br />
* 2024-01-20, 00:29:21: [https://github.com/tlkahn/zkSNARKs-Cryptography-Protocol-Survey tlkahn/zkSNARKs-Cryptography-Protocol-Survey]<br />
* 2024-01-20, 00:23:51: [https://github.com/prokls/theoretical-computer-science-2/blob/master/randomized_complexity_classes.pdf theoretical-computer-science-2/randomized_complexity_classes.pdf at master · prokls/theoretical-computer-science-2]<br />
* 2024-01-19, 23:12:56: [https://zhuanlan.zhihu.com/p/37270132 Теорема PCP, часть 1: Введение - Чжиху]<br />
* 2024-01-19, 23:07:56: [https://github.com/mourad1081/complexity-exam-questions mourad1081/complexity-exam-questions: Réponse aux questions de complexité]<br />
* 2024-01-19, 23:06:42: [https://github.com/LucaCappelletti94/lectures-notes/tree/0b0550ee36eab19d0d48f74e407beee1e5a3e78f/Unimi/Algoritmi%20e%20Complessita lectures-notes/Unimi/Algoritmi e Complessita at 0b0550ee36eab19d0d48f74e407beee1e5a3e78f · LucaCappelletti94/lectures-notes]<br />
* 2024-01-19, 22:51:02: [https://github.com/BrownAppliedCryptography/notes BrownAppliedCryptography/notes: Scribed course notes.]<br />
* 2024-01-19, 22:49:27: [https://github.com/mnielsen/expander_graph_notes mnielsen/expander_graph_notes: Notes on expander graphs]<br />
* 2024-01-19, 22:48:32: [https://github.com/pragmaticTNT pragmaticTNT]<br />
* 2024-01-19, 22:43:13: [https://github.com/mnielsen/expander_graph_notes/blob/193880dde69c1aa2bdf974a4975a0b960a278575/expanders_github.tex expander_graph_notes/expanders_github.tex at 193880dde69c1aa2bdf974a4975a0b960a278575 · mnielsen/expander_graph_notes]<br />
* 2024-01-19, 02:36:35: [https://github.com/sleepymalc/Notes/blob/7e28b1c548da109b7e89a62acc6ed1076841352c/EECS598-001-Approximation-Algorithms-and-Hardness-of-Approximation/Lectures/lec_2.tex Notes/EECS598-001-Approximation-Algorithms-and-Hardness-of-Approximation/Lectures/lec_2.tex at 7e28b1c548da109b7e89a62acc6ed1076841352c · sleepymalc/Notes]<br />
* 2024-01-19, 02:16:16: [https://github.com/sleepymalc/Notes/tree/7e28b1c548da109b7e89a62acc6ed1076841352c/EECS598-001-Approximation-Algorithms-and-Hardness-of-Approximation Notes/EECS598-001-Approximation-Algorithms-and-Hardness-of-Approximation at 7e28b1c548da109b7e89a62acc6ed1076841352c · sleepymalc/Notes]<br />
* 2024-01-19, 01:41:18: [https://github.com/arielgabizon/Lectures/blob/master/4elemproofAarhus2019.pdf Lectures/4elemproofAarhus2019.pdf at master · arielgabizon/Lectures]<br />
* 2024-01-19, 01:10:29: [https://github.com/Landarzar/complexityPoster/blob/master/poster.pdf complexityPoster/poster.pdf at master · Landarzar/complexityPoster]<br />
* 2024-01-19, 00:54:25: [https://github.com/jarrodmillman/pcp/blob/master/final.tex pcp/final.tex at master · jarrodmillman/pcp]<br />
* 2024-01-18, 22:17:49: [https://github.com/SanskarX10/Coding-Graph-Theory-101/tree/main SanskarX10/Coding-Graph-Theory-101: Coding and explanation of Graph theory algorithms used in computer science in python-3 . These set of notebooks acts as a course in graph theory.]<br />
* 2024-01-18, 22:16:14: [https://github.com/rjwrobel86/Python4Statistics/tree/main rjwrobel86/Python4Statistics: Python Scripts and Jupyter Notebooks for Prof. Robert Wrobel's Applied Business Statistics course at Webster University and anybody else who wants to learn!]<br />
* 2024-01-18, 22:04:34: [https://github.com/hishamcse/Discrete-Math-Specialization-Coursera-/tree/master hishamcse/Discrete-Math-Specialization-Coursera-: This repository contains the materials, python codes for the quiz and some codes implemented using jupyter notebook related to the specialization ( Introduction to Discrete Mathematics In Computer Science)]<br />
* 2024-01-18, 21:52:09: [https://github.com/i40a/python-for-industry40 i40a/python-for-industry40: Jupyter Notebook files from the course Python for Industry 4.0.]<br />
* 2024-01-18, 21:50:24: [https://github.com/kylebeggs/Numerical-Methods-in-Python kylebeggs/Numerical-Methods-in-Python: A collection of Python notebooks covering topics in an undergraduate Numerical Methods in Engineering course.]<br />
* 2024-01-18, 21:49:05: [https://github.com/sslotin/universum-dl sslotin/universum-dl: Some notebooks from a Deep Learning mini-course taught in Summer '18]<br />
* 2024-01-18, 21:43:06: [https://github.com/ali-tny/boyd-convex-optimisation-py ali-tny/boyd-convex-optimisation-py: homework notebooks for the Stanford Convex Optimisation course in python (rather than Matlab)]<br />
* 2024-01-18, 21:40:45: [https://github.com/Novota15/fourier-transforms-in-python Novota15/fourier-transforms-in-python: A jupyter python notebook that provides a crash course on Fourier Series, Fourier Transforms, Fast Fourier Transforms, and improving Chebyshev Interpolation with FFT]<br />
* 2024-01-18, 21:37:53: [https://github.com/nivkeren/computational-methods nivkeren/computational-methods: computational-methods course notebooks]<br />
* 2024-01-18, 21:36:24: [https://github.com/ptah23/audio-transformers-course-notebooks ptah23/audio-transformers-course-notebooks: Python notebooks for hugging face audio transformers course]<br />
* 2024-01-18, 21:31:16: [https://github.com/iutzeler/refresher-course iutzeler/refresher-course: Jupyter Notebooks for practical sessions of the "Refresher Course in Matrix Analysis and Numerical Optimization" at Université Grenoble Alpes]<br />
* 2024-01-18, 21:30:20: [https://github.com/codeninja55/mathematic_notebooks/tree/master codeninja55/mathematic_notebooks: A repository store for all mathematic references, jupyter notebooks, and notes from various courses taken.]<br />
* 2024-01-18, 21:26:26: [https://github.com/juanklopper/Linear-algebra-for-data-science-with-python/tree/master juanklopper/Linear-algebra-for-data-science-with-python: Jupyter notebooks for my course on linear algebra using symbolic python.]<br />
* 2024-01-18, 21:19:14: [https://github.com/Milwa97/A-level-math Milwa97/A-level-math: A level math course in form of jupyter notebooks. The aim of the course is to develop mathematical intuition and a better understanding of mathematics at the post-elementary level]<br />
* 2024-01-18, 21:18:21: [https://github.com/aezarebski/aas-extended-examples aezarebski/aas-extended-examples: A collection of notebooks used in the tutorials for the applied analytic statistics course in 2020]<br />
* 2024-01-18, 21:17:45: [https://github.com/raghurama123/NumericalMethods raghurama123/NumericalMethods: Contains Jupyter notebooks and other materials prepared for the course Numerical Methods offered at TIFR Hyderabad (https://moldis-group.github.io/teaching.html)]<br />
* 2024-01-18, 21:16:47: [https://github.com/ymlai87416/ComputationalFinance_notebook ymlai87416/ComputationalFinance_notebook: Notebook and assignment for Coursera course: Introduction to Computational Finance and Financial Econometrics by Eric Zivot]<br />
* 2024-01-18, 21:13:14: [https://github.com/Unipisa/HLT Unipisa/HLT: Notebooks for course HLT]<br />
* 2024-01-18, 21:13:01: [https://github.com/Pengyue-Lab/uiuc-cs357-fa21-scripts Pengyue-Lab/uiuc-cs357-fa21-scripts: A repository of useful scripts for the course CS357 in the form of Jupyter Notebook.]<br />
* 2024-01-18, 21:10:36: [https://github.com/inducer/numpde-notes inducer/numpde-notes: Slides/notes and Jupyter notebook demos for an introductory course of numerical methods for PDEs]<br />
* 2024-01-18, 21:09:14: [https://github.com/iutzeler/NumericalOptimization/tree/master/Lab2_GradientDescent NumericalOptimization/Lab2_GradientDescent at master · iutzeler/NumericalOptimization]<br />
* 2024-01-18, 21:05:56: [https://github.com/garth-wells/IA-maths-Jupyter/tree/master garth-wells/IA-maths-Jupyter: Notebooks in support of of the Part IA (Michaelmas Term) mathematics course at the Department of Engineering at University of Cambridge]<br />
* 2024-01-18, 21:00:16: [https://github.com/SSQ/Coursera-Stanford-Greedy-Algorithms-Minimum-Spanning-Trees-and-Dynamic-Programming SSQ/Coursera-Stanford-Greedy-Algorithms-Minimum-Spanning-Trees-and-Dynamic-Programming: Notebook for quick search]<br />
* 2024-01-18, 20:58:40: [https://github.com/inducer/numerics-notes/tree/main inducer/numerics-notes: Slides/notes and Jupyter notebook demos for an introductory course of numerical analysis/scientific computing]<br />
* 2024-01-18, 19:50:42: [https://github.com/croach/oreilly-matplotlib-course croach/oreilly-matplotlib-course: Jupyter notebooks from my O'Reilly Media course "Matplolib for Developers: Data Visualization and Analysis with Python"]<br />
* 2024-01-18, 19:50:04: [https://github.com/z4ir3/finance-courses z4ir3/finance-courses: Notes and examples about Portfolio Construction and Analysis with Python (Jupyter notebooks)]<br />
* 2024-01-18, 19:49:32: [https://github.com/jansenicus/www-coursera-downloader jansenicus/www-coursera-downloader: This Jupyter Notebook will help you downloading Coursera videos, subtitles and quizzes (but not answering the quiz). It will automatically download and convert vtt subtitle files into srt. All resources downloaded are numbered according to their sequence.]<br />
* 2024-01-18, 19:48:16: [https://github.com/fastai/numerical-linear-algebra-v2 fastai/numerical-linear-algebra-v2: Jupyter Notebooks for Computational Linear Algebra course, taught summer 2018 in USF MSDS program]<br />
* 2024-01-18, 19:47:48: [https://github.com/yourwanghao/CMUComputationalPhotography yourwanghao/CMUComputationalPhotography: Jupyter Notebooks for CMU Computational Photography Course 15.463]<br />
* 2024-01-18, 19:45:02: [https://github.com/lmarti/evolutionary-computation-course lmarti/evolutionary-computation-course: Jupyter/IPython notebooks about evolutionary computation.]<br />
* 2024-01-18, 19:43:06: [https://github.com/mandli/intro-numerical-methods mandli/intro-numerical-methods: Jupyter notebooks and other materials developed for the Columbia course APMA 4300]<br />
* 2024-01-17, 19:39:02: [https://github.com/ageron/tf2_course ageron/tf2_course: Notebooks for my "Deep Learning with TensorFlow 2 and Keras" course]<br />
* 2024-01-17, 19:33:55: [https://github.com/fastai/numerical-linear-algebra fastai/numerical-linear-algebra: Free online textbook of Jupyter notebooks for fast.ai Computational Linear Algebra course]<br />
* 2024-01-16, 07:43:24: [https://github.com/juanklopper/MIT_OCW_Linear_Algebra_18_06 juanklopper/MIT_OCW_Linear_Algebra_18_06: IPython notebooks on Gilbert Strang's MIT course on linear algebra (18.06)]<br />
* 2024-01-16, 07:43:04: [https://github.com/xuwenhao/geektime-ai-course xuwenhao/geektime-ai-course: Jupyter Notebooks for Geektime AI Course]<br />
* 2024-01-16, 07:42:49: [https://github.com/ML-course/master ML-course/master: A machine learning course using Python, Jupyter Notebooks, and OpenML]<br />
* 2024-01-16, 07:39:44: [https://github.com/dataflowr/notebooks dataflowr/notebooks: code for deep learning courses]<br />
* 2024-01-16, 07:38:51: [https://github.com/FurkanGozukara/Stable-Diffusion FurkanGozukara/Stable-Diffusion: Stable Diffusion, SDXL, LoRA Training, DreamBooth Training, Automatic1111 Web UI, DeepFake, Deep Fakes, TTS, Animation, Text To Video, Tutorials, Guides, Lectures, Courses, ComfyUI, Google Colab, RunPod, NoteBooks, ControlNet, TTS, Voice Cloning, AI, AI News, ML, ML News, News, Tech, Tech News, Kohya LoRA, Kandinsky 2, DeepFloyd IF, Midjourney]<br />
* 2024-01-16, 07:37:44: [https://github.com/phlippe/uvadlc_notebooks phlippe/uvadlc_notebooks: Repository of Jupyter notebook tutorials for teaching the Deep Learning Course at the University of Amsterdam (MSc AI), Fall 2022/Spring 2022]<br />
* 2024-01-16, 07:36:44: [https://github.com/fastai/course22 fastai/course22: The fast.ai course notebooks]<br />
* 2024-01-16, 07:35:36: [https://github.com/mlabonne/llm-course mlabonne/llm-course: Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.]<br />
* 2024-01-16, 07:30:12: [https://github.com/peremartra/Large-Language-Model-Notebooks-Course peremartra/Large-Language-Model-Notebooks-Course: Practical course about Large Language Models.]<br />
* 2024-01-16, 07:29:16: [https://github.com/aperham90/QS_combinatorics/blob/main/Oralists_Aug142023.ipynb QS_combinatorics/Oralists_Aug142023.ipynb at main · aperham90/QS_combinatorics]<br />
* 2024-01-16, 07:28:41: [https://github.com/fastai/numerical-linear-algebra/blob/master/nbs/2.%20Topic%20Modeling%20with%20NMF%20and%20SVD.ipynb numerical-linear-algebra/nbs/2. Topic Modeling with NMF and SVD.ipynb at master · fastai/numerical-linear-algebra]<br />
<br />
== 2023 ==<br />
=== 2023-11 ===<br />
<br />
* 2023-11-12, 16:18:02: [https://github.com/d-kirsanov/fresheye/blob/master/Code.gs fresheye/Code.gs at master · d-kirsanov/fresheye]<br />
* 2023-11-11, 17:52:20: [https://github.com/bitbank2/TIFF_G4 bitbank2/TIFF_G4: A set of highly optimized functions for decoding and displaying 1-bpp CCITT G4 images]<br />
<br />
=== 2023-10 ===<br />
<br />
* 2023-10-19, 07:40:49: [https://www.researchgate.net/publication/267146475_Lectures_on_Sphere_Arrangements_-_the_Discrete_Geometric_Side (3) Lectures on Sphere Arrangements – the Discrete Geometric Side | Request PDF]<br />
* 2023-10-02, 23:59:09: [https://sproul.xyz/blog/posts/gurobi-academic-validation.html How to Partially Bypass Gurobi's Academic IP Validation - sproul.xyz]<br />
<br />
=== 2023-09 ===<br />
<br />
* 2023-09-17, 22:31:02: [https://www.hindawi.com/journals/scn/2020/4195852/ Efficient Privacy-Preserving Fingerprint-Based Authentication System Using Fully Homomorphic Encryption]<br />
* 2023-09-17, 22:30:48: [https://github.com/taeyun1010/HomFingerPrintAuth taeyun1010/HomFingerPrintAuth]<br />
<br />
=== 2023-08 ===<br />
<br />
* 2023-08-05, 16:03:43: [https://www.math.auckland.ac.nz/~sgal018/crypto-book/ch17.pdf ch17.pdf]<br />
* 2023-08-05, 16:03:30: [https://github.com/kelbyludwig?tab=followers kelbyludwig (Kelby Ludwig) / Followers]<br />
<br />
=== 2023-06 ===<br />
<br />
* 2023-06-06, 16:10:06: [https://github.com/Geometrein/dashmap.io Geometrein/dashmap.io: DashMap is an open source web platform that gathers, analyses and visualises urban data.]<br />
* 2023-06-06, 15:51:02: [https://github.com/nhabbash/transport-network-analysis/tree/master nhabbash/transport-network-analysis: Graph-based analysis of a city's public transportation network]<br />
* 2023-06-05, 05:58:48: [https://github.com/search?q=pyrosm+plotly+language%3APython&type=code Code search results · GitHub]<br />
* 2023-06-05, 05:58:34: [https://wiki.openstreetmap.org/wiki/PBF_Format PBF Format — OpenStreetMap Wiki]<br />
* 2023-06-05, 05:56:56: [https://github.com/winstonyym/urbanity/tree/db0fa19f0ced219b1bbf4daf146474c649d0d765 GitHub - winstonyym/urbanity at db0fa19f0ced219b1bbf4daf146474c649d0d765]<br />
<br />
=== 2023-03 ===<br />
<br />
* 2023-03-20, 11:52:55: [https://github.com/NVukobrat/CASIA-Iris-Recognition/tree/master/code CASIA-Iris-Recognition/code at master · NVukobrat/CASIA-Iris-Recognition]<br />
*: <html> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/NVukobrat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NVukobrat"> NVukobrat </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/NVukobrat/CASIA-Iris-Recognition">CASIA-Iris-Recognition</a></strong></html><br />
<!-- NEXT BOOKMARK --><br />
* 2023-03-14, 22:56:49: [https://github.com/rogerorr/NtTrace rogerorr/NtTrace: An strace-like program for the Windows 'native' API]<br />
* 2023-03-14, 22:52:46: [https://docs.pyvista.org/examples/00-load/create-point-cloud.html Create Point Cloud — PyVista 0.38.4 documentation]<br />
* 2023-03-12, 22:38:15: [https://www.diva-portal.org/smash/get/diva2:532809/FULLTEXT01.pdf FULLTEXT01.pdf]<br />
* 2023-03-10, 03:47:08: [https://habr.com/ru/company/yandex_praktikum/blog/578910/ Создаём анимационные обучающие видео на Python с помощью Manim / Хабр]<br />
*: <html><div data-gallery-root="" class="tm-comment"><div class="tm-comment__body-content"><div xmlns="http://www.w3.org/1999/xhtml"><p>В After Effects, например, можно использовать JavaScript, и сделать тоже самое, но с большим комфортом</p></div></div> <!----> <!----></div> <div class="tm-comment-footer"><div class="tm-votes-meter tm-comment-footer__votes-meter"><svg height="24" width="24" class="tm-svg-img tm-votes-meter__icon tm-votes-meter__icon tm-votes-meter__icon_appearance-comment"><title>Комментарий пока не оценивали</title> <use xlink:href="https://habr.com/img/megazord-v28.2b11c25e..svg#counter-rating"></use></svg> <span title="Комментарий пока не оценивали" class="tm-votes-meter__value tm-votes-meter__value tm-votes-meter__value_appearance-comment tm-votes-meter__value_rating"></span></div></div></html><br />
*: <html>Первый видео-курс по Python мне подкинул сосед, спец. по видео пост продакшн. Он его учил чтобы писать скрипты для <a href="https://ru.wikipedia.org/wiki/Houdini_(%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)" rel="noopener noreferrer nofollow">Houdini</a>.</html><br />
<!-- NEXT BOOKMARK --><br />
* 2023-03-09, 19:39:38: [https://github.com/Xpitfire/symbolicai Xpitfire/symbolicai: Compositional Differentiable Programming Library]<br />
*: <html>pip install symbolicai</html><br />
<!-- NEXT BOOKMARK --><br />
* 2023-03-08, 23:08:15: [https://en.wikipedia.org/wiki/Christofides_algorithm Christofides algorithm - Wikipedia]<br />
*: <html>In July 2020 however, Karlin, Klein, and Gharan released a preprint in which they introduced a novel approximation algorithm and claimed that its approximation ratio is 1.5&nbsp;−&nbsp;10<sup>−36</sup>. Their method follows similar principles to Christofides' algorithm, but uses a randomly chosen tree from a carefully chosen random distribution in place of the minimum spanning tree.<sup id="cite_ref-5" class="reference"><a href="https://en.wikipedia.org/wiki/#cite_note-5">[5]</a></sup><sup id="cite_ref-6" class="reference"><a href="https://en.wikipedia.org/wiki/#cite_note-6">[6]</a></sup> The paper was published at <a href="https://en.wikipedia.org/wiki/Symposium_on_Theory_of_Computing" title="Symposium on Theory of Computing">STOC'21</a><sup id="cite_ref-7" class="reference"><a href="https://en.wikipedia.org/wiki/#cite_note-7">[7]</a></sup> where it received a best paper award.<sup id="cite_ref-8" class="reference"><a href="https://en.wikipedia.org/wiki/#cite_note-8">[8]</a></sup></html><br />
<!-- NEXT BOOKMARK --><br />
<br />
== 2022 ==<br />
=== 2022-04 ===<br />
<br />
* 2022-04-27, 22:04:58: [http://nicktitterton.com/SDPmaxcut.html Nick Titterton]<br />
*: <html>X = cvx.Variable((V, V), PSD=True) </html><br />
<br />
=== 2022-03 ===<br />
<br />
* 2022-03-15, 10:41:48: [https://slideplayer.com/slide/6504827/ The Traveling Salesman Problem in Theory & Practice Lecture 11: Branch & Cut & Concorde 8 April 2014 David S. Johnson - ppt download]<br />
* 2022-03-15, 09:30:35: [https://github.com/jvkersch/pyconcorde GitHub - jvkersch/pyconcorde: Python wrapper around the Concorde TSP solver]<br />
* 2022-03-15, 09:30:26: [https://github.com/dmishin/tsp-solver GitHub - dmishin/tsp-solver: Travelling Salesman Problem solver in pure Python + some visualizers]<br />
* 2022-03-11, 03:25:24: [https://github.com/spacedeck/spacedeck-open GitHub - spacedeck/spacedeck-open: Spacedeck, a web based, real time, collaborative whiteboard application with rich media support]<br />
<br />
== 2021 ==<br />
<br />
=== 2021-12 ===<br />
<br />
* 2021-12-01, 05:20:51: [https://github.com/ccanonne/phdthesis/blob/master/introduction/sec-introduction.tex phdthesis/sec-introduction.tex at master · ccanonne/phdthesis · GitHub]<br />
<br />
=== 2021-11 ===<br />
<br />
* 2021-11-26, 19:23:23: [https://activecalculus.org/ Active Calculus Landing Page]<br />
* 2021-11-21, 11:53:11: [https://www.cis.upenn.edu/~plclub/blog/2020-10-09-hs-to-coq/ Tutorial: Verify Haskell Programs with hs-to-coq]<br />
* 2021-11-21, 03:05:00: [https://habr.com/ru/company/JetBrains-education/blog/589343/ Первый truly stateless оптимальный алгоритм модел-чекера и его проверка на Coq / Хабр]<br />
*: <html>Рынок труда и задачи сегодня — скорее академические. Да, есть компании, которые фигачат на коках-агдах что-то в прод (вроде во всяких боингах-BAE было что-то), но в чистом ресёрче больше шансов этим заниматься. Ну и плюс последнее время — блокчейн, там стараются применять формальные методы (например, чуваки из iohk систематически что-то доказывают на агде про свой блокчейн).</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-11-20, 22:02:20: [https://academy.yandex.ru/dataschool/book?from=habr Учебник. Машинное обучение и Data Science: погружение в тему]<br />
*: <html><div><section id="hero" class="lc-section lpc-section "><div class="lc-offsets lc-offsets_padding-top_none lc-offsets_padding-bottom_m"><div class="lc-text lc-text_align_left"><div class="lc-text lc-text_column_xl"><div class="lc-text-block lc-text-block_size_s52 lc-text-block_typeface_medium lc-text-block_font_text lc-text__title" style="color:rgba(0, 0, 0, 1)"><div class="lc-styled-text"><h1 class="lc-styled-text__text lc-styled-text__text_align_left">Машинное обучение и&nbsp;Data Science: погружение в&nbsp;тему</h1></div></div><div class="lc-text-block lc-text-block_size_s18 lc-text-block_typeface_light lc-text-block_font_text lc-text__text" style="color:rgba(0, 0, 0, 1)"><div class="lc-styled-text"><div class="lc-styled-text__text lc-styled-text__text_align_left"><span class="font-weight-500">Знания и опыт выпускников, преподавателей и&nbsp;друзей Школы анализа данных&nbsp;— в&nbsp;одном онлайн учебнике.</span> Погрузитесь в&nbsp;ML и&nbsp;узнайте, какие технологии меняют лицо современной науки и&nbsp;дают жизнь сервисам, которыми пользуются миллионы людей.</div></div></div></div></div></div></section></div><div><section id="hero-button" class="lc-section lpc-section "><div class="lc-offsets lc-offsets_padding-top_none lc-offsets_padding-bottom_none"><div class="lc-button-list lc-button-list_align_left"><div class="lc-button-list__container"><a class="Link link lc-link lc-button lc-button_theme_base lc-button_size_m lc-button_type_link lc-button-list__item" href="https://ml-handbook.ru/?from=habr" target="_blank" data-clickable="true" rel="noopener" data-log-node="0--100"><div class="lc-button__under"></div><span class="lc-button__text"><div class="lc-styled-text"><span class="lc-styled-text__text lc-styled-text__text_align_center"><span class="button-yellow">Перейти в&nbsp;учебник <svg class="footer__button-subscribe-svg" width="26" height="16" viewBox="0 0 26 16" fill="none" xmlns="http://www.w3.org/2000/svg"> </svg></span></span></div></span></a></div></div></div></section></div></html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-11-10, 02:57:35: [https://www.youtube.com/channel/UC81Q2wnuk5KqOFVgAbq4nUw Lead Coding by FRAZ - YouTube]<br />
*: <html><yt-img-shadow id="avatar" width="80" class="style-scope ytd-c4-tabbed-header-renderer no-transition" style="background-color: transparent;" loaded=""><img id="img" class="style-scope yt-img-shadow" alt="" src="https://yt3.ggpht.com/C3s-9KNhCtkX9UAhIktZNAngThkd4MUmt3V3GXKDzDzGuIueIR0u3bRpNc-4cnyRRTTeh9AHgA=s88-c-k-c0x00ffffff-no-rj" width="80"></yt-img-shadow><ytd-channel-avatar-editor class="style-scope ytd-c4-tabbed-header-renderer" disable-upgrade="" hidden=""></ytd-channel-avatar-editor><div id="inner-header-container" class="style-scope ytd-c4-tabbed-header-renderer"><div id="meta" class="style-scope ytd-c4-tabbed-header-renderer"><ytd-channel-name id="channel-name" wrap-text="" class="style-scope ytd-c4-tabbed-header-renderer"><!--css-build:shady--><div id="container" class="style-scope ytd-channel-name"> <div id="text-container" class="style-scope ytd-channel-name"> <yt-formatted-string id="text" title="" class="style-scope ytd-channel-name">Lead Coding by FRAZ</yt-formatted-string></div></div></ytd-channel-name></div></div></html><br />
<!-- NEXT BOOKMARK --><br />
<br />
=== 2021-10 ===<br />
<br />
* 2021-10-12, 10:13:18: [https://www.openmined.org/ OpenMined]<br />
<br />
=== 2021-09 ===<br />
<br />
* 2021-09-23, 10:34:11: [https://habr.com/ru/post/579350/ Что же не так с ДЭГ в Москве? / Хабр]<br />
* 2021-09-02, 16:34:43: [https://xn----8sbfhdabdwf1afqu5baxe0f2d.xn--p1ai/office/contender/my/desc/87164 Личная карточка пользователя]<br />
<br />
=== 2021-08 ===<br />
<br />
* 2021-08-31, 14:25:23: [https://habr.com/ru/post/566920/ Алгебраические типы данных и Python / Хабр]<br />
<br />
=== 2021-07 ===<br />
<br />
* 2021-07-01, 16:12:00: [https://habr.com/ru/company/yandex/blog/263991/ Вероятностное программирование / Блог компании Яндекс / Хабр]<br />
*: <html><h1 class="post__title post__title_full"><span class="post__title-text">Вероятностное программирование</span> </h1> <ul class="post__hubs post__hubs_full-post inline-list"> <li class="inline-list__item inline-list__item_hub"> <a href="https://habr.com/ru/company/yandex/" class="inline-list__item-link hub-link " title="Вы не подписаны на этот хаб" onclick="if (typeof ga === 'function') { ga('send', 'event', 'hub', 'post page', 'Блог компании Яндекс'); }">Блог компании Яндекс</a>, </li> <li class="inline-list__item inline-list__item_hub"> <a href="https://habr.com/ru/hub/search_technologies/" class="inline-list__item-link hub-link " title="Вы не подписаны на этот хаб" onclick="if (typeof ga === 'function') { ga('send', 'event', 'hub', 'post page', 'Поисковые технологии'); }">Поисковые технологии</a>, </li> <li class="inline-list__item inline-list__item_hub"> <a href="https://habr.com/ru/hub/programming/" class="inline-list__item-link hub-link " title="Вы не подписаны на этот хаб" onclick="if (typeof ga === 'function') { ga('send', 'event', 'hub', 'post page', 'Программирование'); }">Программирование</a>, </li> <li class="inline-list__item inline-list__item_hub"> <a href="https://habr.com/ru/hub/maths/" class="inline-list__item-link hub-link " title="Вы не подписаны на этот хаб" onclick="if (typeof ga === 'function') { ga('send', 'event', 'hub', 'post page', 'Математика'); }">Математика</a>, </li> <li class="inline-list__item inline-list__item_hub"> <a href="https://habr.com/ru/hub/machine_learning/" class="inline-list__item-link hub-link " title="Вы не подписаны на этот хаб" onclick="if (typeof ga === 'function') { ga('send', 'event', 'hub', 'post page', 'Машинное обучение'); }">Машинное обучение</a> </li> </ul> <ul class="post__marks inline-list"></ul> <div class="post__body post__body_full"> <div class="post__text post__text-html post__text_v1" id="post-content-body">Вероятностное моделирование является одним из мощнейших инструментов для специалиста по анализу данных. К сожалению, для его использования необходимо не только уверенно владеть </div></div></html><br />
<!-- NEXT BOOKMARK --><br />
<br />
=== 2021-06 ===<br />
<br />
* 2021-06-29, 21:56:20: [http://ibmdecisionoptimization.github.io/docplex-doc/cp/samples.html Examples of constraint programming — DOcplex.CP: Constraint Programming Modeling for Python V2.20 documentation]<br />
* 2021-06-29, 21:55:42: [https://python-mip.readthedocs.io/en/latest/intro.html Introduction — Python-MIP documentation]<br />
* 2021-06-29, 21:55:20: [http://www.om-db.wi.tum.de/psplib/data.html Data sets]<br />
<br />
=== 2021-05 ===<br />
<br />
* 2021-05-30, 11:24:30: [https://www.facebook.com/ Facebook]<br />
*: <html>Аллен Дауни прямо радует - читается хорошо, без академической воды и понятно, с адекватными и ясными примерами практических задач. Последний раз все было так ясно и лаконично при перерешивании задач по терверу из советского учебника Вентцель и книги по байесовским методам Джона Крушке. Покрутил, наверное, в 10 раз в голове теорему Байеса и, вообще, понятие вероятности, условной вероятности, совместной вероятности, априорного и апостериорного распределения, сопряженного приора, pdf, pmf, cdf с разных сторон (и в очередной раз так и не просек простую идею бета-распределения, но, верю, она же есть) - ну чтобы чуйка развилась еще больше. Я честно, от всего сердца и ума, делал несколько подходов к прикладной байесовской статистике с разных сторон и с разными инструментами, прочитал, наверно несколько книг (поняв в них далеко не все) и не помню уже как много статей, но постоянно преследовал вопрос - а зачем и как это мне поможет в повседневной практике? Основная цель, которую я преследовал и до сих пор преследую для себя - научиться понимать "небольшие" данные и причины, стоящие за ними глубже, чем позволяют популярные статистические методы и мало кем, на самом деле, глубоко понимаемые доверительные интервалы на хи-квадратах, погоняемых группами сТЬЮдентов</html><br />
<!-- NEXT BOOKMARK --><br />
<br />
=== 2021-04 ===<br />
<br />
* 2021-04-15, 06:40:47: [https://people.sc.fsu.edu/~jburkardt/datasets/knapsack_multiple/knapsack_multiple.html KNAPSACK_MULTIPLE - Data for the 01 Multiple Knapsack Problem]<br />
<!-- NEXT BOOKMARK --><br />
* 2021-04-09, 06:30:07: [https://interview.cups.online/live-coding/?room=97803a89-5a70-4eee-9017-a2ebfd6dbc8b Code Editor]<br />
* 2021-04-06, 18:23:38: [https://colab.research.google.com/drive/1F_9BqVAXze6T9U7cj5BsrkyfzaoYnCc6?usp=sharing#scrollTo=CH-o_Xw5tQXm networkx pyvis.ipynb - Colaboratory]<br />
* 2021-04-03, 01:17:44: [https://github.com/Corvince/mesa-geo/blob/master/examples/GeoSIR/README.md mesa-geo/README.md at master · Corvince/mesa-geo]<br />
* 2021-04-02, 19:03:23: [https://habr.com/ru/post/543566/?utm_campaign=543566&utm_source=habrahabr&utm_medium=rss Семейный бюджет, Google sheets и Python / Хабр]<br />
*: <html><p>Localtunnel - <a href="https://localtunnel.github.io/www" rel="noopener noreferrer nofollow"><u>https://localtunnel.github.io/www</u></a></p><p>Teleconsole - <a href="https://www.teleconsole.com/" rel="noopener noreferrer nofollow"><u>https://www.teleconsole.com/</u></a>Pagekite - <a href="https://pagekite.net/" rel="noopener noreferrer nofollow"><u>https://pagekite.net/</u></a>&nbsp;</p></html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-04-02, 05:24:20: [https://github.com/trobey/covid trobey/covid: A Coronovirus model in Python Mesa]<br />
* 2021-04-02, 05:11:20: [https://github.com/repast Repast]<br />
* 2021-04-02, 05:05:17: [https://dmnfarrell.github.io/bioinformatics/abm-mesa-python Bioinformatics and other bits - A simple agent based infection model with Mesa and Bokeh]<br />
* 2021-04-02, 04:50:44: [https://github.com/killerfridge/covid/blob/master/COVID%20Agent%20Based%20Model.ipynb covid/COVID Agent Based Model.ipynb at master · killerfridge/covid]<br />
<br />
=== 2021-03 ===<br />
<br />
* 2021-03-22, 16:22:55: [https://www.cyberforum.ru/anylogic/thread1914252.html Литература по AnyLogic - AnyLogic - Киберфорум]<br />
* 2021-03-19, 01:16:41: [https://github.com/arty-name/livejournal-export/blob/master/download_comments.py livejournal-export/download_comments.py at master · arty-name/livejournal-export · GitHub]<br />
* 2021-03-18, 08:51:01: [https://vitus-wagner.dreamwidth.org/2236410.html vitus_wagner | Криптапокалипсис сегодня]<br />
*: <html>Schneier on Security: "No, RSA Is Not Broken"<br><br><a href="https://www.schneier.com/blog/archives/2021/03/no-rsa-is-not-broken.html">https://www.schneier.com/blog/archives/2021/03/no-rsa-is-not-broken.html</a><br><br>Вобщем, реакция общества скептическая пока </html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-03-10, 01:54:19: [https://www.noahlab.com.hk/logistics-ranking/#/ranking EMO 2021 Competition-3LVRP]<br />
* 2021-03-04, 02:46:51: [https://www.ics.uci.edu/~irani/s18_cs262/HW/ Index of /~irani/s18_cs262/HW]<br />
* 2021-03-04, 01:40:09: [https://www.cl.cam.ac.uk/teaching/0910/L15/solution1.pdf solution1.pdf]<br />
* 2021-03-01, 11:41:58: [https://www.researchgate.net/publication/336370288_Solving_the_Quadratic_Assignment_Problem_using_the_Swallow_Swarm_Optimization_Problem/references (13) (PDF) Solving the Quadratic Assignment Problem using the Swallow Swarm Optimization Problem]<br />
* 2021-03-01, 03:33:45: [https://www.npmjs.com/package/react-d3-tree react-d3-tree - npm]<br />
* 2021-03-01, 03:19:41: [https://github.com/anvaka/VivaGraphJS anvaka/VivaGraphJS: Graph drawing library for JavaScript]<br />
<br />
=== 2021-02 ===<br />
<br />
* 2021-02-21, 03:10:20: [https://habr.com/ru/post/510746/?utm_campaign=510746&utm_source=habrahabr&utm_medium=rss Objects Representations for Machine Learning system based on Lattice Theory / Хабр]<br />
* 2021-02-20, 17:12:08: [https://habr.com/ru/post/530898/?utm_campaign=530898&utm_source=habrahabr&utm_medium=rss Как выучить иностранный язык: алгоритм / Хабр]<br />
* 2021-02-20, 10:40:05: [https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization Is there a JS better than D3.js for graph visualization? - Quora]<br />
*: <html><div><div class="q-box puppeteer_test_question_main" style="box-sizing: border-box;"><div class="q-text qu-display--flex qu-px--large qu-pb--large qu-flexDirection--row qu-fontSize--regular" style="box-sizing: initial; width: 1002px; margin-left: auto; margin-right: auto; padding-top: 30px; align-items: stretch;" width="1002"><div class="q-box" style="box-sizing: border-box; width: 602px;" width="602"><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-flex qu-flexWrap--wrap qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/D3-js-JavaScript-library" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>D3.js (JavaScript library)</span></span></div></div></a></div><div class="q-box qu-mr--tiny qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/Data-Visualization" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>Data Visualization</span></span></div></div></a></div><div class="q-box qu-mb--tiny" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/topic/JavaScript-programming-language" target="_top"><div class="q-inlineFlex qu-py--tiny qu-px--small qu-color--gray qu-bg--gray_ultralight qu-borderRadius--small qu-whiteSpace--nowrap qu-hover--color--blue" style="box-sizing: border-box; display: inline-flex;"><div class="q-text qu-fontSize--small" style="box-sizing: border-box;"><span class="q-text" style="box-sizing: border-box; word-break: break-word;"><span>JavaScript (programming language)</span></span></div></div></a></div></div><div class="q-text qu-bold qu-fontSize--xlarge qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is there a JS better than D3.js for graph visualization?</span> </span></div></div></div></span></div></div></div><div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-bg--white" style="box-sizing: border-box;"><span data-nosnippet="true"><div class="q-box ad question_page_ad top_slot" style="display: none !important;"><div><div><div class="q-box qu-pt--medium" style="box-sizing: border-box; padding-bottom: 0px; position: relative;"><div class="q-flex qu-mb--small" style="box-sizing: border-box; display: flex;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">Ad by InApps</div></div><div class="q-box qu-pl--tiny" style="box-sizing: border-box; margin-left: auto;"><div class="q-relative qu-size--18" style="box-sizing: border-box; position: relative;" size="18"><div class="q-absolute qu-center" style="box-sizing: border-box; position: absolute;"></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-text qu-mb--tiny qu-bold qu-color--gray_dark_dim qu-passColorToLinks qu-userSelect--text qu-lineHeight--regular" style="box-sizing: border-box; font-size: 16px; word-break: break-word;"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF">How is big data transforming web development in 2021?</span></div></div><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-box qu-mb--small" style="box-sizing: border-box;"><div class="q-text" style="box-sizing: border-box;">We are experts in front-end and back-end web development applying the latest technology and big data.</div></div></div></div><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: auto; color: inherit; text-align: inherit;" width="auto" tabindex="0"><div class="q-box qu-mt--n_small qu-py--tiny" style="box-sizing: border-box;"><button class="q-click-wrapper qu-active--textDecoration--none qu-focus--textDecoration--none base___StyledClickWrapper-lx6eke-1 cykKyr qu-borderRadius--pill qu-alignItems--center qu-justifyContent--center qu-whiteSpace--nowrap qu-userSelect--none qu-display--inline-flex qu-tapHighlight--white qu-textAlign--center qu-cursor--pointer qu-hover--textDecoration--none" style="box-sizing: border-box; font: inherit; outline: currentcolor none medium; padding: 0px 20px 0px 12px; height: 38px; min-width: 38px; position: relative; border-width: 0px; color: inherit; background-color: rgba(0, 0, 1, 0.03);" type="button" tabindex="0" role="button"><div class="q-flex qu-alignItems--center qu-justifyContent--center" style="box-sizing: border-box; display: flex; max-width: 100%;"><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 24px; height: 24px; flex-shrink: 0; line-height: 0;" width="24px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 iMqyvJ"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><polyline points="17 13.5 17 19.5 5 19.5 5 7.5 11 7.5"></polyline><path d="M14,4.5 L20,4.5 L20,10.5 M20,4.5 L11,13.5"></path></g></svg></span></span><div class="q-text qu-display--inline-flex qu-alignItems--center qu-overflow--hidden puppeteer_test_button_text qu-medium qu-color--gray qu-ml--tiny" style="box-sizing: border-box; font-size: 14px;"><div class="q-text qu-ellipsis qu-whiteSpace--nowrap" style="box-sizing: border-box;">Learn More</div></div></div></button></div></div></div></div></div></div></span></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-borderBottom qu-pt--small qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">5 Answers</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-6584511-200-gHdHqooFGwsq5j4909Ts9IId7tkpfuCS.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Adrian-M-P-Brasoveanu" target="_blank"><span>Adrian M.P. Brasoveanu</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">works at MODUL University, Vienna</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Adrian-M-P-Brasoveanu" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">88</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">110.9K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">It would be extremely difficult to come up with a better framework for graph visualization in JavaScript than D3 for several reasons:</span></p> <ul class="q-box" style="box-sizing: border-box; direction: ltr; overflow-wrap: break-word; list-style: outside none disc; margin-bottom: 1em; margin-right: 2em;"><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is built around all the normal web stuff like HTML, DOM, CSS, therefore there is no need to learn new technologies in order to use it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 is rather like a programming language for graphics. Leave aside the fact it’s written in JS, and it looks more like a Processing type of interpreted programming language.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0.7em;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">D3 has a big community behind it. While even 2–3 years there were still problems finding good documentation for it, right now however there shouldn’t be any issues with it.</span></li><li class="q-relative" style="box-sizing: border-box; position: relative; margin-left: 2em; padding-bottom: 0px;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">As other answers have mentioned, you can think of D3 as more of a basic utility that can be used to develop higher level charts/libraries, and as it turns out there are many of them. They are not better than D3, but rather they use D3.</span></li></ul><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 0px; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">In general if you need something better you need to define in which sense? If you need better speed? Better functionality? Faster rendering speed versus faster development time? Depending on the answer you might find faster graphics library, e.g., if they were developed directly in C, however I doubt that beside Processing or D3 you will find anything faster in the JavaScript world. Be aware though that both Processing and D3 have a steep learning curve, and Processing also requires you to use a lot of mathematics.</span></p> </span></div><div></div></div></div><div class="q-text qu-mt--small qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD">8.8K views</span><span class="q-box qu-display--none" style="box-sizing: border-box;"> · </span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 diCWLm"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0">View 2 Upvoters</div></span></span><span> · </span>Answer requested by <div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Jeff-Kinney-7" target="_blank"><span>Jeff Kinney</span></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-mt--small" style="box-sizing: border-box;"><div><div class="q-box qu-borderBottom qu-pb--small" style="box-sizing: border-box;"><div class="q-flex qu-alignItems--center" style="box-sizing: border-box; display: flex;"><div class="q-box" style="box-sizing: border-box; flex: 1 1 0%;"><div class="q-text qu-medium qu-fontSize--regular qu-color--gray_dark qu-passColorToLinks" style="box-sizing: border-box;">Related Questions</div></div><div class="q-box qu-ml--small" style="box-sizing: border-box;"><div class="q-click-wrapper qu-display--inline-block qu-tapHighlight--white qu-cursor--pointer qu-hover--textDecoration--underline" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; color: inherit; text-align: inherit;" tabindex="0"><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;">More Answers Below</div></div></div></div></div><div class="q-box" style="box-sizing: border-box;"><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/unanswered/Which-is-better-for-network-visualization-Vis-js-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Which is better for network visualization, Vis.js or D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-best-for-graph-rendering-sigma-js-or-d3-js-Why"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is best for graph rendering: sigma.js or d3.js? Why?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/Is-d3-js-worth-learning"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">Is d3.js worth learning?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-are-the-data-visualization-alternatives-to-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What are the data visualization alternatives to D3.js?</span> </span></div></div></div></span></div></div></div></div></div></a></div><div><a class="q-box qu-display--block qu-cursor--pointer qu-hover--textDecoration--none qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" target="_blank" href="https://www.quora.com/What-is-better-for-data-visualization-R-Python-libraries-or-D3-js"><div class="q-box qu-py--tiny qu-hover--textDecoration--underline qu-tapHighlight--none qu-display--flex qu-alignItems--center" style="box-sizing: border-box; position: relative;"><div class="q-flex qu-alignItems--center qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box; display: flex; height: 100%;"><div class="q-box qu-flex--auto qu-overflow--hidden" style="box-sizing: border-box;"><div class="q-text qu-color--gray_dark" style="box-sizing: border-box;"><div class="q-box qu-py--tiny" style="box-sizing: border-box;"><span class="q-text qu-color--blue_dark" style="box-sizing: border-box; font-size: inherit;"><div class="q-flex qu-flexDirection--row" style="box-sizing: border-box; display: flex;"><div class="q-inline qu-flexWrap--wrap" style="box-sizing: border-box; display: inline;"><div class="q-text qu-truncateLines--2 puppeteer_test_question_title" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><span style="background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">What is better for data visualization: R/Python libraries or D3. js?</span> </span></div></div></div></span></div></div></div></div></div></a></div></div><div style="position: relative; top: -50px;"></div></div></div></div></div></div></div><div class="CssComponent-sc-1oskqb9-0 cXjXFI"><div class="q-box" style="box-sizing: border-box;"><div class="q-box" style="box-sizing: border-box;"><div><div><div><div><div class="q-box qu-pb--medium qu-borderBottom" style="box-sizing: border-box; margin-left: 0.1px; margin-right: 0.1px;"><div class="q-box qu-pt--medium qu-pb--medium" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box;"><div><div class="q-box" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex;"><div class="q-box qu-mb--small" style="box-sizing: border-box; width: 100%;" width="100%"><div class="q-box spacing_log_answer_header" style="box-sizing: border-box;"><div class="q-flex" style="box-sizing: border-box; display: flex; align-items: start; width: 100%;" width="100%"><div class="q-inlineFlex qu-flex--none qu-mr--small qu-alignItems--center" style="box-sizing: border-box; display: inline-flex;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><div class="q-relative qu-display--inline-flex" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline-flex" style="box-sizing: border-box;"><a class="q-box qu-display--inline-flex qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><div class="q-inlineFlex qu-flex--none" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex" style="box-sizing: border-box; display: inline-flex; position: relative;"><div class="q-inlineFlex qu-overflow--hidden qu-borderRadius--circle qu-borderWidth--retinaOverride" style="box-sizing: border-box; display: inline-flex; border-width: 2px; border-style: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 0.5px;"><div class="q-box qu-bg--white__ignore_dark_mode qu-borderRadius--circle" style="box-sizing: border-box; position: absolute; inset: 1px;"></div><img class="q-image qu-display--block qu-size--36 qu-minWidth--36" style="box-sizing: border-box; max-width: 100%; position: relative;" src="https://qph.fs.quoracdn.net/main-thumb-36335708-200-hytiefnyaoseitkgetzltsqfcpreptom.jpeg" size="36"><div class="q-box qu-borderRadius--circle qu-borderAll qu-borderColor--darken Photo___StyledBox-sc-1x7c6d3-0 guhqSv" style="box-sizing: border-box; position: absolute; inset: 0px;"></div></div></div></div></a></div></div></div></div></div><div class="q-box qu-alignSelf--center qu-flex--auto" style="box-sizing: border-box; overflow-wrap: break-word;"><div class="q-text qu-fontSize--regular qu-truncateLines--3 qu-passColorToLinks" style="box-sizing: border-box; margin-bottom: 2px;"><span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text qu-bold" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Taha-Kachwala" target="_blank"><span>Taha Kachwala</span></a></div></div></div></div></span>, <span class="q-box qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Digital Media Technologist</span></span></span></div><div class="q-text qu-color--gray_light qu-fontSize--small qu-passColorToLinks" style="box-sizing: border-box;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/Is-there-a-JS-better-than-D3-js-for-graph-visualization/answer/Taha-Kachwala" target="_top" rel="nofollow">Answered 3 years ago</a><span> · </span>Upvoted by <span><span class="q-box qu-display--none" style="box-sizing: border-box;"></span><span class="CssComponent-sc-1oskqb9-0 AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0 bxBZxD"><span class="q-text" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><div class="q-relative qu-display--inline" style="box-sizing: border-box; position: relative;"><div class="q-box qu-display--inline" style="box-sizing: border-box;"><a class="q-box qu-color--gray_dark qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit;" href="https://www.quora.com/profile/Ravi-Shankar-1920" target="_blank"><span>Ravi Shankar</span></a></div></div></div></div></span>, <span class="q-box qu-borderBottom qu-borderWidth--retinaOverride qu-borderWidth--regular" style="box-sizing: border-box; word-break: break-word;">Mater's Master of Science in Computer Science &amp; D3.js, University of Massachusetts, Dartmouth (2018)</span></span></span><span> · </span>Author has <span class="q-text qu-bold" style="box-sizing: border-box;">63</span> answers and <span class="q-text qu-bold" style="box-sizing: border-box;">625.1K</span> answer views</div></div></div></div></div></div><div class="q-relative spacing_log_answer_content puppeteer_test_answer_content" style="box-sizing: border-box; position: relative;"><div class="q-click-wrapper qu-display--block qu-tapHighlight--white qu-cursor--pointer" style="box-sizing: border-box; font: inherit; outline: inherit; padding: 0px; width: 100%; color: inherit; text-align: inherit;" width="100%" tabindex="0"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box" style="box-sizing: border-box; max-width: 100%;"><div class="q-box qu-cursor--pointer QTextTruncated___StyledBox-sc-1pev100-0 ejgusd" style="box-sizing: border-box;"><div class="q-relative" style="box-sizing: border-box; position: relative;"><div class="q-box qu-overflow--hidden" style="box-sizing: border-box; max-height: 300px;"><div class="q-text" style="box-sizing: border-box;"><span class="q-box qu-userSelect--text" style="box-sizing: border-box;"><p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">You can imagine D3 to be more of a framework you can use to design any type of visualization. It will require you to invest time and effort in learning, manipulation and cleaning of data, scaling, labeling etc. You can basically build any 2D visualizations you like from simple charts like bar and pie, to complex PCP and even custom visualizations. It is free, open sourced, and comes with a lot of good documentation and help from stack overflow.</span></p> <div class="q-box" style="box-sizing: border-box; margin-bottom: 1em; transition-property: undefined; transition-duration: 1s; transition-timing-function: ease-out; filter: blur(0px);"><img class="q-image qu-display--block qu-borderRadius--small" style="box-sizing: border-box; max-width: 100%;" src="https://qph.fs.quoracdn.net/main-qimg-bd3c312e9d3c76d8840eaafa65b5b7b4"></div> <p class="q-text qu-display--block" style="box-sizing: border-box; margin-bottom: 1em; overflow-wrap: anywhere; word-break: break-word; direction: ltr; text-align: start;"><span style="font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;">(I had created this DOTA2 map using D3 and had done some analysis - </span><span class="q-inline" style="box-sizing: border-box; display: inline;"><a class="q-box qu-cursor--pointer qu-hover--textDecoration--underline qu-userSelect--text" style="box-sizing: border-box; border-radius: inherit; font-weight: normal; font-style: normal; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;" title="www.academia.edu" href="https://www.academia.edu/22194561/DotA2_Spatio-Temporal_Game_Analysis" target="_blank" rel="noopener nofollow">DotA2 Spatio-Temporal Game Analysis</a><span class="q-inlineBlock qu-verticalAlign--text-bottom" style="box-sizing: border-box; display: inline-block; width: 16px; height: 16px; flex-shrink: 0; line-height: 0; margin-left: 2px;" width="16px" name="ExternalLink"><span class="CssComponent__CssInlineComponent-sc-1oskqb9-1 Icon___StyledCssInlineComponent-sc-11tmcw7-0 lcSoNN"><svg width="24px" height="24px" viewBox="0 0 24 24"><g id="external_link" class="icon_svg-stroke" stroke="#666" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></g></svg></span></span></span></p></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-02-20, 10:32:26: [https://js.cytoscape.org/ Cytoscape.js]<br />
* 2021-02-20, 10:29:31: [http://vega.github.io/ Vega]<br />
* 2021-02-20, 10:29:13: [http://sigmajs.org/ Sigma js]<br />
* 2021-02-11, 11:00:24: [https://www.youtube.com/watch?v=NzeS8XoGCLI&list=PL4_hYwCyhAvbXd4YjOILzI5nPZMIzotMG Сложность вычислений 1. Вводная лекция - YouTube]<br />
* 2021-02-09, 23:09:20: [https://github.com/caiyangcy/VRP-Algorithms caiyangcy/VRP-Algorithms]<br />
* 2021-02-09, 23:08:38: [https://neo.lcc.uma.es/vrp/solution-methods/ Solution Methods for VRP | Vehicle Routing Problem]<br />
* 2021-02-09, 23:08:23: [http://www.ieomsociety.org/paris2018/papers/494.pdf 494.pdf]<br />
* 2021-02-09, 00:34:16: [https://mbraak.github.io/django-mptt-admin/ django-mptt-admin]<br />
*: <html>filter_tree_queryset</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-02-07, 11:22:47: [https://towardsdatascience.com/making-artistic-maps-with-python-9d37f5ea8af0 Making Artistic Maps with Python. Rock Chalk Jayhawk! | by Frank Ceballos | Towards Data Science]<br />
* 2021-02-07, 11:21:11: [https://habr.com/ru/company/skillfactory/blog/540286/?utm_campaign=540286&utm_source=habrahabr&utm_medium=rss Как создавать красивые карты с помощью Python / Блог компании SkillFactory / Хабр]<br />
* 2021-02-04, 20:32:08: [https://bl.ocks.org/mbostock/4600693 Curved Links - bl.ocks.org]<br />
* 2021-02-03, 12:23:00: [https://joneisen.me/d3-tsp-demo/ Travelling Salesman Problem]<br />
* 2021-02-02, 14:14:27: [https://habr.com/ru/post/539892/?utm_campaign=539892&utm_source=habrahabr&utm_medium=rss Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком / Хабр]<br />
*: <html>С. Вайн, „Опционы. Курс для профессоналов“, 2003. </html><br />
*: <html>Я свои деньги (401k) в фонде могу инвестировать в довольно широких пределах, от высокорисковых активов до низкорисковых и низкодоходных (типа гособлигаций).</html><br />
<!-- NEXT BOOKMARK --><br />
<br />
=== 2021-01 ===<br />
<br />
* 2021-01-30, 03:50:08: [https://www.geeksforgeeks.org/box-stacking-problem-dp-22/ Box Stacking Problem | DP-22 - GeeksforGeeks]<br />
* 2021-01-26, 07:42:08: [https://www.qgis.org/en/site/ Welcome to the QGIS project!]<br />
* 2021-01-26, 07:28:36: [https://habr.com/ru/post/511144/ Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение / Хабр]<br />
* 2021-01-26, 06:38:53: [https://habr.com/ru/post/437280/ Простая логистика своими руками / Хабр]<br />
* 2021-01-26, 06:32:51: [https://infostart.ru/public/1222785/ Яндекс.Маршрутизация vs Sygic. Замещаем импортозамещение]<br />
* 2021-01-26, 06:05:38: [https://docs.pgrouting.org/2.2/en/src/dijkstra/doc/pgr_dijkstra.html pgr_dijkstra — pgRouting Manual (2.2)]<br />
* 2021-01-26, 05:34:10: [https://habr.com/ru/company/yandex/blog/496818/#arxiv Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации / Блог компании Яндекс / Хабр]<br />
*: <html>Еще раз — представленное решение настолько плохо, что любой Open Source роутинг типа PgRouting или Spatialite Routing будет на порядки быстрее (100-1000 раз, навскидку).</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-01-26, 04:22:42: [https://habr.com/ru/company/yandex/blog/507448/ Как мы сэкономили время курьерам. Логистика в Яндекс.Еде / Блог компании Яндекс / Хабр]<br />
*: <html>Как мы сэкономили время курьерам. Логистика в Яндекс.Еде</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-01-26, 04:22:39: [https://habr.com/ru/company/yandex/blog/494792/ Яндекс.Маршрутизация: как мы окунулись в логистику и решили поменять будущее / Блог компании Яндекс / Хабр]<br />
*: <html>Было бы интересно если бы вы выложили матрицу и точки для 3000 локаций, ваше решение, чтобы посмотреть бенчмарк (мы тоже занимаемся VRP задачами)</html><br />
*: <html>Солвер Яндекс.Маршрутизации использует комбинацию <a href="https://habr.com/ru/post/209610/">алгоритма симуляции отжига</a> и генетического алгоритма. </html><br />
*: <html> заточенных именно под MVRP-задачи и готовых к интеграции с системами управления предприятием. В России известны VeeRoute, Maxoptra, Антор. </html><br />
*: <html>Программа написана хорошими программистами, она умеет разбрасывать грузы по машинам и строить оптимальный (по времени или пробегу) маршрут объезда заказов, учитывая кучу параметров. Но логист этой функциональностью никак не пользуется. Зато он активно использует визуализацию заказов на карте.</html><br />
*: <html>Яндекс.Маршрутизация: как мы окунулись в&nbsp;логистику и&nbsp;решили поменять будущее</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-01-26, 04:22:37: [https://habr.com/ru/company/yandex/blog/496818/ Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации / Блог компании Яндекс / Хабр]<br />
*: <html>Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-01-13, 23:28:35: [https://habr.com/ru/post/518372/?utm_campaign=518372&utm_source=habrahabr&utm_medium=rss Что вас ждет на курсе Алгоритмов в Яндекс.Практикуме / Хабр]<br />
*: <html>Это вы еще в школе21 от Сбера не учились.<br> Там всё то же, но бесплатно, и преподавателей нет совсем</html><br />
*: <html>Оставлю ссылку openedu.ru/course/ITMOUniversity/PADS<br> Единственный момент, в 2017 году, когда я проходил, графов не было. Может сейчас добавили.</html><br />
*: <html>Вышеупомянутый leetcode, например, не оценивает производительность работы с консолью, оценивается только работа алгоритма. Также собственно и на hackerrunk, только там, в отличии от leetcode, функции чтения из консоли и далее вывод ответа в консоль реализованы заранее и скрыты от пользователя (но код можно развернуть и посмотреть).</html><br />
*: <html>Подтверждаю — 50-100 решенных литкодов позволяют пройти алгоритм секцию в том же яндексе</html><br />
<!-- NEXT BOOKMARK --><br />
* 2021-01-12, 16:25:42: [https://habr.com/ru/post/536804/?utm_campaign=536804&utm_source=habrahabr&utm_medium=rss Аксиома выбора и принципиальные ограничения человеческого разума / Хабр]<br />
* 2021-01-12, 11:33:42: [https://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html Computational Complexity: Impagliazzo's Five Worlds]<br />
<br />
== 2020 ==<br />
=== 2020-12 ===<br />
<br />
* 2020-12-15, 21:12:50: [https://habr.com/ru/company/leroy_merlin/blog/533182/?utm_campaign=533182&utm_source=habrahabr&utm_medium=rss Как попадает товар в магазины «Леруа Мерлен» с точки зрения математики заказа / Блог компании Леруа Мерлен / Хабр]<br />
* 2020-12-01, 22:40:34: [https://bijournal.hse.ru/data/2018/12/04/1144145361/2.pdf BI 3 (45) 2018 RU.indd - 2.pdf]<br />
<br />
=== 2020-11 ===<br />
<br />
* 2020-11-26, 02:18:46: [https://habr.com/ru/company/ruvds/blog/529780/?utm_campaign=529780&utm_source=habrahabr&utm_medium=rss Заметки Датасатаниста: что делать, если перед вами оказалась NP-полная задача / Блог компании RUVDS.com / Хабр]<br />
* 2020-11-26, 02:15:02: [https://habr.com/ru/post/322900/ Что такое логическое программирование и зачем оно нам нужно / Хабр]<br />
* 2020-11-26, 01:52:18: [https://github.com/itmo-swm ITMO Smart Waste Management system]<br />
* 2020-11-26, 01:25:36: [https://en.wikipedia.org/wiki/Circulation_problem Circulation problem - Wikipedia]<br />
* 2020-11-26, 01:24:20: [https://github.com/gboeing/osmnx gboeing/osmnx: OSMnx: Python for street networks. Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.]<br />
* 2020-11-26, 01:24:15: [https://www.sciencedirect.com/science/article/pii/S0198971516303970?via%3Dihub OSMnx: New methods for acquiring, constructing, analyzing, and visualizing complex street networks - ScienceDirect]<br />
* 2020-11-17, 09:41:05: [https://onlinelibrary.wiley.com/doi/full/10.1002/sys.21492 A method for designing minimum‐cost multisource multisink network layouts - Heijnen - 2020 - Systems Engineering - Wiley Online Library]<br />
* 2020-11-17, 09:40:42: [https://cs.stackexchange.com/questions/70490/minimizing-transportation-cost-through-a-network-multiple-source-sinks algorithms - Minimizing transportation cost through a network, multiple source/sinks - Computer Science Stack Exchange]<br />
* 2020-11-17, 08:55:10: [https://www.researchgate.net/publication/278166053_The_Logistic_Model_for_Decision_Making_in_Waste_Management (1) (PDF) The Logistic Model for Decision Making in Waste Management]<br />
<br />
=== 2020-10 ===<br />
<br />
* 2020-10-13, 14:31:27: [https://github.com/vasil-sd/engineering-sw-hw-model-checking-letures vasil-sd/engineering-sw-hw-model-checking-letures: Lectures in MIPT: intro to engineering software using model-checking.]<br />
*: <html>Обзорный курс по model-checking/model-finding, читаемый осенью 2020 для студентов 2-го курса МФТИ.</html><br />
<!-- NEXT BOOKMARK --><br />
* 2020-10-13, 14:10:16: [https://deepspec.org/main The Science of Deep Specification]<br />
* 2020-10-13, 14:06:36: [https://github.com/vasil-sd/engineering-sw-hw-model-checking-letures/blob/master/Lecture1.pdf engineering-sw-hw-model-checking-letures/Lecture1.pdf at master · vasil-sd/engineering-sw-hw-model-checking-letures]<br />
* 2020-10-13, 14:00:10: [https://www.youtube.com/playlist?list=PLQ-XJe6nVU5BwX1gV80aDhwW0Jt3tipIY «Введение в верификацию программ» - YouTube]<br />
* 2020-10-13, 13:54:55: [https://jscoq.github.io/ jsCoq – Use Coq in Your Browser]<br />
* 2020-10-13, 02:45:30: [https://compsciclub.ru/courses/2016-autumn/6.246-approximationalgo/classes/ Приближенное решение задач комбинаторной оптимизации: алгоритмы и трудность, осень 2016]<br />
* 2020-10-13, 02:40:51: [https://compsciclub.ru/courses/2019-autumn/6.435-intro-to-coq/classes/ Введение в язык формальной верификации Coq, осень 2019]<br />
* 2020-10-13, 02:35:10: [https://compsciclub.ru/courses/2020-autumn/6.857-advancedalgorithms/ Алгоритмы: дополнительные главы, осень 2020]<br />
* 2020-10-13, 02:33:55: [https://compsciclub.ru/courses/2020-autumn/6.533-fine-grained-complexity/ Fine-grained complexity, осень 2020]<br />
* 2020-10-13, 02:33:04: [https://compsciclub.ru/courses/2019-spring/6.432-communicationcomplexityandalgorithms/classes/ Эффективные алгоритмы и коммуникационная сложность, весна 2019]<br />
* 2020-10-13, 02:32:30: [https://compsciclub.ru/courses/2020-spring/6.480-randomized-algorithms/classes/ Вероятностные алгоритмы, весна 2020]<br />
* 2020-10-13, 02:08:22: [https://habr.com/ru/post/522578/?utm_campaign=522578&utm_source=habrahabr&utm_medium=rss Проблема останова лжеца Гёделя и брадобрея Кантора / Хабр]<br />
* 2020-10-12, 00:49:47: [https://habr.com/ru/news/t/522718/ Исследователи смогли преодолеть барьер в улучшении решения задачи коммивояжера / Хабр]<br />
*: <html>Исследователи смогли преодолеть барьер в улучшении решения задачи коммивояжера</html><br />
<!-- NEXT BOOKMARK --><br />
* 2020-10-04, 14:13:10: [[[spoj/tag]]graph-theory Sphere Online Judge (SPOJ)]<br />
<br />
=== 2020-09 ===<br />
<br />
* 2020-09-12, 08:21:26: [https://habr.com/ru/post/518396/?utm_campaign=518396&utm_source=habrahabr&utm_medium=rss Специалисты по информатике хотят загнать в угол гипотезу Коллатца / Хабр]<br />
* 2020-09-01, 20:36:26: [https://habr.com/ru/post/517056/?utm_campaign=517056&utm_source=habrahabr&utm_medium=rss Интерактивная визуализация алгоритмов на базе Jupyter / Хабр]<br />
<br />
=== 2020-08 ===<br />
<br />
* 2020-08-01, 17:35:26: [https://habr.com/ru/company/piter/blog/511702/?utm_campaign=511702&utm_source=habrahabr&utm_medium=rss Книга «Гид по Computer Science для каждого программиста» / Блог компании Издательский дом «Питер» / Хабр]<br />
<br />
=== 2020-07 ===<br />
<br />
* 2020-07-08, 10:38:47: [https://softwarefoundations.cis.upenn.edu/plf-current/Hoare.html?fbclid=IwAR0bL5qyR-u0sVD_ztmgSGXZbOVGIdMaxTP7lOrlXGZsnoc56ebkTRNz-i0 Hoare: Hoare Logic, Part I]<br />
* 2020-07-03, 10:27:44: [https://mipt.ru/education/chairs/dm/education/courses/kursy-po-vyboru/derandomizatsiya-i-psevdosluchaynost-d-v-musatov-osen-2018.php Дерандомизация и псевдослучайность (Д.В. Мусатов, осень 2018) — Кафедра дискретной математики]<br />
*: <html><h1 class="title">Дерандомизация и псевдослучайность (Д.В. Мусатов, осень 2018)</h1> <div style="position:absolute;bottom:-3px;right:0px"> <!--noindex--> <div id="page-export-controls"> <a href="https://mipt.ru/education/chairs/dm/education/courses/kursy-po-vyboru/derandomizatsiya-i-psevdosluchaynost-d-v-musatov-osen-2018.php?wd_export=Y" title="Версия для печати" id="page-export-controls-print" rel="nofollow" target="_blank">Печать</a> <a href="https://mipt.ru/education/chairs/dm/education/courses/kursy-po-vyboru/derandomizatsiya-i-psevdosluchaynost-d-v-musatov-osen-2018.php?wd_export=Y&amp;doc=Y" title="Сохранить в MS Word (DOC)" id="page-export-controls-doc" rel="nofollow" target="_blank">DOC</a> <a href="https://mipt.ru/education/chairs/dm/education/courses/kursy-po-vyboru/derandomizatsiya-i-psevdosluchaynost-d-v-musatov-osen-2018.php?wd_export=Y&amp;pdf=Y" title="Сохранить в PDF" id="page-export-controls-pdf" rel="nofollow" target="_blank">PDF</a> <div id="page-export-clear"></div> </div> <!--/noindex--> </div> Лектор - доц. Д.В. Мусатов<br> <br> Спецкурс проходит <b>по четвергам в 16:00 в ШАД, Яндекс</b>. Начало - <b>13.09.2018</b>.<br> <br> <ul> <li><a href="http://ru.discrete-mathematics.org/fall2018/elective/musatov/program.pdf">Программа курса</a></li></ul></html><br />
<!-- NEXT BOOKMARK --><br />
* 2020-07-02, 22:58:04: [https://www.researchgate.net/profile/Emin_Anarim/publication/321767378_Multiresolution_alignment_for_multiple_unsynchronized_audio_sequences_using_Sequential_Monte_Carlo_samplers/links/5a4f51d2458515e71b0925c3/Multiresolution-alignment-for-multiple-unsynchronized-audio-sequences-using-Sequential-Monte-Carlo-samplers.pdf?_sg%5B0%5D=IK8YaJKfWATTbL87TbBJJxkcU7IfqqrWtIswZz15YQ7OwtrSi9tsfGXD6PGoM0w1lyRTDEov-sppctt0kYjqiw.jkwWDJKbJY0UvXdk7cteit9Fy9_26W-omWoz8L66BwFtwTEPFpm-_Fj2kTsMKzHDM1i9tmGvufjiWSHTnefV7A&_sg%5B1%5D=oGWD4O2ZGZ5xPfYY3cw8IuqSa9YnGeNK_DBrWwzSu9CnWz7ySgySE5yFz40cDwthFws6UXl9-Ickc-f1pCgpkkMBrX0cVd8y6Z4LhXugL-y4.jkwWDJKbJY0UvXdk7cteit9Fy9_26W-omWoz8L66BwFtwTEPFpm-_Fj2kTsMKzHDM1i9tmGvufjiWSHTnefV7A&_iepl= Multiresolution alignment for multiple unsynchronized audio sequences using sequential Monte Carlo samplers - Multiresolution-alignment-for-multiple-unsynchronized-audio-sequences-using-Sequential-Monte-Carlo-samplers.pdf]<br />
*: <html><span style="left: 54.5916px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.821029);">See discussions, st</span><span style="left: 117.855px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.827511);">ats, and author pr</span><span style="left: 178.886px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.825196);">ofiles f</span><span style="left: 201.265px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.839591);">or this public</span><span style="left: 245.796px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.840174);">ation at</span><span style="left: 272.405px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.686932);">: </span><span style="left: 276.086px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.876149);">https://www</span><span style="left: 319.105px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.839566);">.researchgate.net/public</span><span style="left: 402.883px; top: 98.6568px; font-size: 8.18875px; font-family: sans-serif; transform: scaleX(0.81437);">ation/321767378</span><span style="left: 54.5916px; top: 124.654px; font-size: 18.1972px; font-family: sans-serif; transform: scaleX(1.02462);">Multiresolution alignment for multiple u</span><span style="left: 424.098px; top: 124.654px; font-size: 18.1972px; font-family: sans-serif; transform: scaleX(0.984872);">nsynchronized audio sequences</span><span style="left: 54.5916px; top: 150.131px; font-size: 18.1972px; font-family: sans-serif; transform: scaleX(0.991617);">using Sequential Monte Carlo samplers</span></html><br />
<!-- NEXT BOOKMARK --><br />
* 2020-07-02, 21:35:32: [https://discopal.ispras.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:StasFomin/Bookmarks/DocStruct Участник:StasFomin/Bookmarks/DocStruct — DISCOPAL]<br />
* 2020-07-02, 19:44:44: [https://postnauka.ru/faq/43795 Проблема перебора]<br />
* 2020-07-02, 19:37:12: [https://www.slideshare.net/sandpoonia/lecture26-33728794 Lecture26]<br />
* 2020-07-02, 18:25:13: [https://www.coursera.org/specializations/algorithms Algorithms | Coursera]</div>StasFomin