Проектная магистратура Университета ИТМО

Проекты корпоративного партнера "1C"

Тестовая система для соревнований алгоритмов планирования

Руководитель от корпоративного партнера: Старичков Н.Ю., 1C
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Подать заявку в этот проект

Аннотация

Задача планирования (scheduling) — сложная и не имеет готового “идеального решения”. Разные команды разработчиков и инженеров предлагают собственные алгоритмы шедулинга, обосновывая их преимущества и/или демонстрируя эффективную работу в конкретных обстоятельствах. Также это очень интересная задача для проверки алгоритмического мышления и конкретных знаний для студентов. При этом достаточно сложно оценивать абсолютную эффективность алгоритмов шедулинга - гораздо интереснее сравнивать относительную эффективность работы разных алгоритмов. Разработке подобной площадки для соревнований алгоритмов шедулинга и посвящен данный проект.


Эффективный алгоритм определения родного языка человека по письменной речи на английском языке

Руководитель от корпоративного партнера: Старичков Н.Ю., 1C
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Подать заявку в этот проект

Аннотация

Современные технологии обработки естественного языка позволяют решать очень сложные и разнообразные задачи. В частности, нейросетевые модели позволяют находить такие зависимости, которые человеку на первый взгляд совершенно не очевидны. В рамках данного проекта хочется проверить гипотезу, что по письменной речи на английском языке можно определить родной язык автора текста. Эта гипотеза основывается на предположениях о том, что в разговорной письменной речи в свободном формате авторы не слишком строго следят за соблюдением синтаксических и грамматических норм, а допускаемые ими ошибки (например, некорректная структура предложения или неправильный порядок слов) являются следствием их привычки построения предложений на родном языке. Те же соображения могут быть применены, например, к использованию предлогов. Соответственно, в рамках проекта предполагается создать нейросетевую модель, обученную на данных с англоязычных форумов (stackoverflow, reddit...), позволяющую определять родной язык автора текста.


Механизм генерации и JIT-компиляции IR LLVM кода для быстрого поиска в больших текстовых файлах с возможностью использования регулярных выражений

Руководитель от корпоративного партнера: Старичков Н.Ю., 1C
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Набор в этот проект закончен.

Аннотация

Есть предположение, что поиск по регулярному выражению в больших файлах можно достаточно сильно оптимизировать, если использовать не какой-то общий код (с большим количеством условных переходов), а специально написанный и скомпилированный для исполнения именно этого поискового запроса. Предлагается разработать механизм генерации кода на языке IR LLVM, его JIT-компиляцию и исполнение.


Эффективный алгоритм проверки эквивалентности строк с учетом аббревиатур для PostgreSQL

Руководитель от корпоративного партнера: Старичков Н.Ю., 1C
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Подать заявку в этот проект

Аннотация

Операции объединения таблиц в реляционных СУБД - одни из самых дорогостоящих. При этом часто объединение проводится по отношению эквивалентности, достаточно часто выполняется сравнение строк. При этом нередко бывает ситуация, когда строковые данные могут быть записаны в разных форматах - в частности, с использованием аббревиатур. Простой пример - в одной таблице может быть записано “Университет ИТМО”, а в другой - “Университет информационных технологий, механики и оптики”. Очевидно, что с позиции человека эти строки идентичны, с позиции машины - они разные. Существует несколько алгоритмов, проверяющих эквивалентность строк с учетом аббревиатур - но, как было сказано выше, крайне важно, чтобы эти алгоритмы работали не только точно, но и быстро. Разработке и реализации подобного алгоритма в применении к СУБД PostgreSQL и посвящен данный проект.


Система статического анализа кода для автоматических рекомендаций создания сниппетов

Руководитель от корпоративного партнера: Старичков Н.Ю., 1C
Руководитель от Университета ИТМО: Авксентьева Елена Юрьевна, Университет ИТМО

Подать заявку в этот проект

Аннотация

Разработка системы статического анализа кода для автоматических рекомендаций создания сниппетов (шаблонов кода). Каждый программист в рамках своих должностных обязанностей пишет очень много программного кода. При этом у каждого программиста есть свой “стиль” написания кода. И даже несмотря на строгое соблюдение правил оформления и написания кода - код двух разных людей будет отличаться. Многие IDE предлагают механизм сниппетов - когда есть уже заготовленные шаблоны кода, и их можно парой кликов мышкой или горячей клавишей вставить в рабочую область, внося при этом необходимые правки. При этом сниппеты либо заранее имеются в коллекции IDE (а они неперсонифицированные), либо есть возможность создания собственных - что обычно достаточно рутинный и скучный процесс. В рамках данного проекта предлагается разработать механизм, который будет путем статического анализа кода предлагать разработчику персональные сниппеты, учитывающие его индивидуальный стиль написания кода - при этом не требуя вручную настраивать и описывать эти шаблоны.