2021-12-01 Как делать лучше jupyter по статьям

Материал из DISCOPAL
Перейти к: навигация, поиск
(Административное)
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
 +
 
* Продолжение темы [[../2021-11-15_Research_Block]]
 
* Продолжение темы [[../2021-11-15_Research_Block]]
** Разбор одного из ноутбуков [https://discopal-lab.0x1.tv/share/public_paths/7679b5aa27ba365f2c4ae002b9e29619cb081dd6 про лягушек и кукушек] — хорошие практики, как делать и как не делать.
+
* [https://vimeo.com/655405910]
  
{{vimeoembed|654406148|800|450}} [https://vimeo.com/654406148]
+
{{vimeoembed|655405910|800|450}}
 +
=== Административное ===
 +
 
 +
* Это не просто, «не халявно», но нехорошо ограничивать, попробовать можете все, хотя время мало.
 +
** Регистрироваться можно всем. Даже «уд». Можете попробовать взять что-то легкое (простые темы из книги) и улучить оценку на «хор». Или хотя бы чуть-чуть понадкусывать какую-нибудь из статей.
  
* Это не просто, «не халявно», но нехорошо ограничивать, попробовать можете все.
 
** Регистрироваться можно всем. Даже «уд». Можете попробовать взять что-то легкое (простые темы из книги) и улучить оценку на «хор».
 
 
** https://discopal-lab.0x1.tv/auth/sign-up
 
** https://discopal-lab.0x1.tv/auth/sign-up
 
** «Registration Token» = KJ7b26Mh314msDZi
 
** «Registration Token» = KJ7b26Mh314msDZi
 
** Вроде лучше работают Chrome-based броузеры.
 
** Вроде лучше работают Chrome-based броузеры.
 +
*** Можно даже запускать в отдельном окне для удобства так:
 +
 
 +
  google-chrome --app=https://discopal-lab.0x1.tv/
 +
 
** Можно сразу подключить [https://discopal-lab.0x1.tv/app?project-invite=rKZa15fd2udBygRU игровой проект тьюториал] и поиграть с ним.
 
** Можно сразу подключить [https://discopal-lab.0x1.tv/app?project-invite=rKZa15fd2udBygRU игровой проект тьюториал] и поиграть с ним.
 +
Напомним:
 +
 +
* [[Открытые статьи для разбора]]
 +
 +
* Много тем вокруг рюкзаков (знакомая тема), или роутинга транспорта (горячая тема вокруг).
 +
** Все как с задачами, см. [[../2021-11-15_Research_Block]]
 +
* В целом, если статья сложная и длинная — можете сделать что-то простое — постановка и самый простой алгоритм например. Или  постановка  в ЦЛП и решение через ortools.
 +
* Ну и самое вкусное — если у вас тема диплома и научной работы как-то близка к алгоритмам — можете делать ее, но лучше — пошлите мне сначала ссылку на вашу статью (ну или статью по максимально близкой тематики) из http://arxiv.org → так можно убить несколько зайцев.
 +
 +
=== Общие рекомендации ===
 +
 +
(тут тезисно, в нижележащих видео расписывается).
 +
* Разумное имя для ноутбука
 +
* Точность печати numpy (2) → дает визуализацию печатью
 +
* датаклассы для компактности
 +
* Минимизация кодовых клеток
 +
** Не бойтесь нажимать «CTRL + SHIFT + -» или «CTRL + ; » → деление ячейки. (вообще хоткеи ваши лучшие друзья)
 +
** в коде тоже комментарии
 +
** после каждой кодовой клетки — везде демо, что делает функция, чему равны переменные и т.п. График функции.
 +
** Декомпозируйте «God-классы» → выкидывайте независимые функции, разбивайте на слои (см. хитрость с определением класса в нескольких ячейках)
 +
* Чередование кода и текста
 +
** В текст можно грузить картинки, например вырезки из статьи или иллюстрации-визуализации.
 +
** Смело рвите статью на цитаты — в описания ячеек или комментарии к коду.
 +
* Общие соображения по коду:
 +
** Глобальные переменные — опасно. Или … или ---
 +
** В простых случаях можно и с ними
 +
** Но если делать хоть какие-то эксперименты, модификации → тогда все.
 +
 +
Что тут правильно сделать:
 +
* Визуализация (сходимости например, хотя бы на уровне «качество решения от итерации → про сходимость»)
 +
* Вычисление точного решения для сгенеренного рюкзака, с использованием google ortools. (очень полезный опыт набрасывать ЦЛП, для детских объемов ноутбука он будет решать быстро, зато можно будет сравнивать качество решения)
 +
* Совсем замечательно (не обязательно) → что-то в динамике, какие-нибудь изменяющиеся по времени хитмапы решений.
 +
 +
** Разбор пары ноутбуков  — хорошие практики, как делать и как не делать.
 +
 +
;[https://discopal-lab.0x1.tv/share/public_paths/7679b5aa27ba365f2c4ae002b9e29619cb081dd6 про лягушек и кукушек]:
 +
{{vimeoembed|654406148|800|450}}  [https://vimeo.com/654406148]
 +
 +
;[https://discopal-lab.0x1.tv/share/public_paths/c014c2eda4407e98e4b9dc3d193ff30b502acb89 про забывающий рюкзак]
 +
 +
{{vimeoembed|655387030|800|450}} [https://vimeo.com/655387030]
 +
{{wl-publish: 2021-12-10 16:28:51 +0000 | StasFomin }}

Текущая версия на 18:24, 13 декабря 2021


Административное

  • Это не просто, «не халявно», но нехорошо ограничивать, попробовать можете все, хотя время мало.
    • Регистрироваться можно всем. Даже «уд». Можете попробовать взять что-то легкое (простые темы из книги) и улучить оценку на «хор». Или хотя бы чуть-чуть понадкусывать какую-нибудь из статей.
    • https://discopal-lab.0x1.tv/auth/sign-up
    • «Registration Token» = KJ7b26Mh314msDZi
    • Вроде лучше работают Chrome-based броузеры.
      • Можно даже запускать в отдельном окне для удобства так:
  google-chrome --app=https://discopal-lab.0x1.tv/

Напомним:

  • Много тем вокруг рюкзаков (знакомая тема), или роутинга транспорта (горячая тема вокруг).
  • В целом, если статья сложная и длинная — можете сделать что-то простое — постановка и самый простой алгоритм например. Или постановка в ЦЛП и решение через ortools.
  • Ну и самое вкусное — если у вас тема диплома и научной работы как-то близка к алгоритмам — можете делать ее, но лучше — пошлите мне сначала ссылку на вашу статью (ну или статью по максимально близкой тематики) из http://arxiv.org → так можно убить несколько зайцев.

Общие рекомендации

(тут тезисно, в нижележащих видео расписывается).

  • Разумное имя для ноутбука
  • Точность печати numpy (2) → дает визуализацию печатью
  • датаклассы для компактности
  • Минимизация кодовых клеток
    • Не бойтесь нажимать «CTRL + SHIFT + -» или «CTRL + ; » → деление ячейки. (вообще хоткеи ваши лучшие друзья)
    • в коде тоже комментарии
    • после каждой кодовой клетки — везде демо, что делает функция, чему равны переменные и т.п. График функции.
    • Декомпозируйте «God-классы» → выкидывайте независимые функции, разбивайте на слои (см. хитрость с определением класса в нескольких ячейках)
  • Чередование кода и текста
    • В текст можно грузить картинки, например вырезки из статьи или иллюстрации-визуализации.
    • Смело рвите статью на цитаты — в описания ячеек или комментарии к коду.
  • Общие соображения по коду:
    • Глобальные переменные — опасно. Или … или ---
    • В простых случаях можно и с ними
    • Но если делать хоть какие-то эксперименты, модификации → тогда все.

Что тут правильно сделать:

  • Визуализация (сходимости например, хотя бы на уровне «качество решения от итерации → про сходимость»)
  • Вычисление точного решения для сгенеренного рюкзака, с использованием google ortools. (очень полезный опыт набрасывать ЦЛП, для детских объемов ноутбука он будет решать быстро, зато можно будет сравнивать качество решения)
  • Совсем замечательно (не обязательно) → что-то в динамике, какие-нибудь изменяющиеся по времени хитмапы решений.
    • Разбор пары ноутбуков — хорошие практики, как делать и как не делать.
про лягушек и кукушек

[3]
про забывающий рюкзак

[4]