Проекты не по математике

Этюды из геномной биоинформатики. В. Е. Раменский, Руслан Салимгареев

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


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


https://t.me/russal2010

Клеточные автоматы. Даня Макаров


Если вы собираетесь заниматься этим проектом, присоединяйтесь к чатику.


Сложный непонятный проект! Я сам не знаю, что получится и получится ли что-то!


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


Я предлагаю делать новые вещи, поэтому не гарантирую успеха. С другой стороны, возможно что-то из этого было сделано. Так что гуглите, используйте опыт предшественников!


Сначала разберитесь (и объясните мне) с Langton's loop — клеточным автоматом, где возможно репликация, посмотрите на аналоги. https://en.wikipedia.org/wiki/Langton's_loops


Для симуляции клеточных автоматов есть программа Golly https://golly.sourceforge.io/


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


Одна из опций — сделать непрерывные состояния, например, состояние — действительное число или несколько чисел.


Дальше есть очень сложные, но очень интересные задачи. Можно попробовать сделать системы, которые регенирируют после того, как отрезали / поломали большой кусок. Другая далёкая цель — сделать клеточный автомат, в котором возможна эволюция: в результате мутаций "существа" становятся более стабильными или даже более приспособленными к чему-то. Ещё одна большая задача — создание конструкций, которые стремятся к какой-то цели, могут идти к ней разными путями. Ещё раз повторю, что это безумно сложные задачи, которые вряд ли получится решить, но любой прогресс интересен.


Ещё одно интересное свойство клеточных автоматов, которое можно добавить — сохранение массы (энергии, чего-то ещё). Можем обсудить, почему это интересно.


Другой сюжет, который может кого-то заинтересовать — клеточные автоматы на гиперболической плоскость, вот симулятор https://dmishin.github.io/hype[..]-simulator/help.html

Языки России и лингвистические задачи. Митя Крылов и Даша Аракелова

В России более 150 языков, которые являются родными для их носителей. К каким языковым семьям они относятся и какие у них есть особенности? Чем отличаются друг от друга диалекты русского языка и из каких диалектов складывался русский литературный язык? Мы обсудим эти вопросы, а в процессе решения лингвистических задач на материале разных языков России сможем сами понаблюдать за явлениями, которые в них встречаются. В конце курса, возможно, у нас получится придумать свою лингвистическую задачу.


Курс + проект, нужно 3 пары и проектор. Каждая тема будет состоять из лекционной части и совместного решения задачи. Опционально – найти интересный языковой материал и составить задачу самим


https://t/me/ars_leb, https://t.me/noumaa

Спеллчекинг и редакционное расстояние. Даша Аракелова

Как работают программы, которые автоматически исправляют ошибки и опечатки в текстах? Мы поговорим об метриках, которые позволяют измерить редакционное расстояние, то есть схожесть между двумя строками, и их использовании в спеллчекинге. В практической части проекта мы выберем и напишем программу, которая использует такие алгоритмы: например, очень простой спеллчекер или игру, которая основана на угадывании слов (быки и коровы, виселица).
Для проекта потребуется знание Python базового уровня (если вы ориентируетесь в типах данных и умеете писать циклы и функции, этого вполне достаточно).


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


https://t.me/noumaa

Сбор и исследование корпуса текстов. Даша Аракелова

Лингвистический корпус – это массив текстов, которые специальным образом отобраны и размечены. Корпуса широко используются для решения исследовательских и прикладных задач. В этом проекте я предлагаю собрать небольшой корпус по теме, которую мы выберем (это могут быть, например, статьи, стихи, посты из паблика или сообщения из чата), а потом провести его количественный анализ и разобраться в том, что компьютерные методы могут рассказать нам о текстах.


Для проекта потребуется знание Python базового уровня (если вы ориентируетесь в типах данных и умеете писать циклы и функции, этого вполне достаточно).


Решим, какой источник текстов берем (если наберется группа, было бы лучше создать несколько мини-корпусов по интересам участников). Найдем способ выкачать тексты, программно обработаем их, а дальше я расскажу про разные количественные методы – например, выделение ключевых слов, н-граммы – и мы их применим (что-то запрограммируем сами, для чего-то используем уже готовые инструменты). В итоге обсудим, что мы таким образом узнали о текстах.


https://t.me/noumaa