Skip to content

Лабораторная работа 1. Пенкин Артём#189

Open
ssairu wants to merge 6 commits intomainfrom
Penkin-1
Open

Лабораторная работа 1. Пенкин Артём#189
ssairu wants to merge 6 commits intomainfrom
Penkin-1

Conversation

@ssairu
Copy link
Contributor

@ssairu ssairu commented Jan 17, 2025

Изменил свои вопросы, затыкал дыры в бз, буду продолжать искать что-то новое и полезное.

Создал новый pull request, так как в старом много изменений произошло с октября в main.. и решать конфликты было тяжко

@TonitaN, прошу проверить эти элементы

.gitignore Outdated
.idea/

LLM/app/core/mistral/config.py
LLM/app/utils/Mistral/config.py
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

пупупу а это нам зачем?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Уберу, Лёшка

data/data.yaml Outdated
построчно снизу вверх, начиная с подцепочек длины 1 и заканчивая полной длиной
(n) цепочки. Алгоритм позволяет определить, принадлежит ли цепочка 𝜔 языку L,
проверяя, содержится ли стартовый символ S грамматики G в ячейке X_1n. Существуют
проверяя, содержится ли стартовый символ S грамматики G в ячейке X_1n. Существуютней
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

эээээ
не уверен, что это так должно быть

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделаю)

data/data.yaml Outdated

Проблема выводимости разрешима для контекстно-свободных систем с полиномиальной сложностью.
Эффективными алгоритмами полиномиального времени для решения задачи принадлежности
являются алгоритм CYK (англ. Cocke–Younger–Kasami Algorithm) и алгоритм Эрли (англ. Earley''s Algorithm).
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

мб подкинем что ли ассимптотику сюда?

data/data.yaml Outdated
'

- answer: 'Проблема пустоты заключается в определении того, является ли язык пустым.
Для регулярных языков проблема пустоты разрешима. Для автомата, имеющего n состояний, задача может быть решена за время O(n²),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я может глупый, но чет не понимаю

задача может быть решена за время O(n²), или за время O(n + m)

для меня это все же чуть разное

кмк как минимум для регулярного языка можно построить автомат и по нему пройтись dfs, это как раз O(n + m) и чекнуть пришли ли мы хотя бы в одно терминальное состояние

data/data.yaml Outdated

'
- answer: 'Да, все регулярные языки являются VPL языками (Visibly Pushdown Language).
Класс VPL языков (Visibly Pushdown Language) лежит между классами регулярных и контекстно-свободных языков
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

мне если честно не нравится слово "между" звучит как-будто не входит ни туда, ни туда, но мб это придирка уже

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше и вправду расписать: класс этих языков является подмножеством детерминированных КС языков и надмножеством регулярных языков.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну мне тоже не спится, сейчас займусь

@BaldiSlayer
Copy link
Owner

чет мне пока лень дальше смотреть, я спать

Copy link

@TonitaN TonitaN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BaldiSlayer , ну что же вы делаете ревью в середине ночи, хотя уже сдали экзамен?
Из-за вас я занимаюсь тем же самым - стыдно не ревьюить теперь)

@ssairu , спасибо за вопросы, но пока нужно уточнить ответы.

data/data.yaml Outdated
регулярного выражения' No newline at end of file
регулярного выражения'

- answer: 'Проблема выводимости разрешима для регулярных систем с линейной сложностью.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше уточнить, что с линейной сложностью относительно длины строки. Т.к. относительно длины регулярки сложность хуже.

data/data.yaml Outdated
Для регулярных языков проблема пустоты разрешима. Для автомата, имеющего n состояний, задача может быть решена за время O(n²),
или за время O(n + m), если автомат имеет n состояний и m переходов.

Проблема пустоты для контекстно-свободных языков разрешима и является PSPACE-полной задачей.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это очень странное утверждения. Т.к. проблема пустоты языка в КС языках сводится к устранению всех бесполезных правил. Если в результате осталось хоть что-то - язык не пуст. А этот алгоритм полиномиален от размера грамматики.

data/data.yaml Outdated
'

- answer: 'Проблема бесконечности заключается в определении того, содержит язык конечное или бесконечное количество строк.
Для регулярных языков проблема бесконечности разрешима.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сложность от размера ДКА и размера регулярки можно привести)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Где же её найти..

Copy link

@TonitaN TonitaN Jan 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну от регулярки - достаточно прикинуть (когда академическая, не расширенная, регулярка, точно порождает бесконечный язык?)
От ДКА - что нам нужно найти, чтобы гарантировать бесконечность языка? (предположим, что ловушки удалены)

Простите, ещё не ушёл муд экзаменатора, но БЗ, да и вам, такие уточнения будут только на пользу) Ну и да, в рамках прокачки внутренней нейронки полезно тоже)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предполагаю, что нужно найти цикл в ориентированном графе, а это поиск в глубину

data/data.yaml Outdated
- answer: 'Проблема бесконечности заключается в определении того, содержит язык конечное или бесконечное количество строк.
Для регулярных языков проблема бесконечности разрешима.

Проблема бесконечности для контекстно-свободных языков разрешима и алгоритм основывается на лемме о разрастании (лемме о накачке).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь тоже можно сказать об алгоритме определения этого по КС-грамматике и его сложности (лемма о накачке здесь особо не нужна, т.к. она про ВСЕ достаточно длинные слова, а нам достаточно найти хотя бы один рекурсивный вывод)

data/data.yaml Outdated
author: Пенкин Артём
id: 267
questions:
- 'что такое обыкновенная грамматика
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не надо, пожалуйста, сюда добавлять спецтерминологию, которой пользуется только Охотин. Т.к. у простых смертных "обыкновенные" грамматики - хорошо знакомые нам КС-грамматики. И кстати, из этого отрезка текста совсем не очевидно, что в таких грамматиках в левых частях правил стоят единственные нетерминалы.

data/data.yaml Outdated
- answer: 'Теорема Майхилла-Нероде (англ. Myhill-Nerode) для VPL. Пусть L — язык и пусть задано
отношение эквивалентности на множестве сбалансированных слов, где два слова считаются эквивалентными, если любые
продолжения этих слов приводят к одинаковым конфигурациям стека. Это отношение позволяет
выделить конечное число классов эквивалентности для VPL-языков (Visibly Pushdown Language).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

data/data.yaml Outdated
нейрон x срабатывает на шаге t, если соблюдаются два условия:
1) нет ни одного нейрона, связанного с нейроном x ингибирующей связью, сработавшего на шаге t − 1;
2) число нейронов, связанных с нейроном x возбуждающей связью и сработавших на шаге t − 1,
больше необходимого для возбуждения этого нейрона числа сигналов.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

больше или равно

- 'как связаны нейронные сети Мак-Каллока и Питтса и регулярные языки

'
- 'как нейронные сети Мак-Каллока и Питтса повляили на теорию формальных языков
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

спасибо за этот элемент БЗ!

data/data.yaml Outdated
- 'как нейронные сети Мак-Каллока и Питтса повляили на теорию формальных языков

'
- 'для чего были созданы конечные автоматы
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а вот этот вопрос тут чуть-чуть дезориентирует - у конечных автоматов куда больше целей применения, чем нейронные сети макКаллока-Питтса. И похожие структуры возникали и раньше, просто их формально не связывали с классом языков.

data/data.yaml Outdated
'

- answer: 'Да, все регулярные языки являются LR(1)-языками.
Класс LR(1) языков лежит между классами регулярных и контекстно-свободных языков.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот на этот вопрос LLM должна чётко знать, что LR(1) языки - это в точности детерминированные КС-языки, о чём не лишне ещё раз написать.

@BaldiSlayer
Copy link
Owner

Из-за вас я занимаюсь тем же самым

а вот теперь и мне стыдно...

хотя уже сдали экзамен

нуу у меня и так должок в виде злого мата на лаб 2. Сяду за него, но после функана, постараюсь восстановить карму студентов иу9 так сказать

ну что же вы делаете ревью в середине ночи

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

@TonitaN
Copy link

TonitaN commented Jan 18, 2025

нуу у меня и так должок в виде злого мата на лаб 2. Сяду за него, но после функана, постараюсь восстановить карму студентов иу9 так сказать

Некоторые товарищи ИУ9-52Б сегодня пороняли карму ИУ9 драматично (сначала написала - больше, чем ваша группа, потом поняла, что в целом к группе-то вашей вопросов можно сказать и нет), дружно зафейлив детерминизацию НКА из трёх состояний и расшифровку регулярок, которые парсили в 4 лабе. Так что вы своими ночными ревью наоборот повысили мотивацию проверять лабы, и стыдно быть не должно)

@BaldiSlayer
Copy link
Owner

которые парсили в 4 лабе

у меня про такие ситуации в какой-то момент появилась шутка

студенты ИУ9 написали LLM, но есть ньюанс

@TonitaN
Copy link

TonitaN commented Jan 18, 2025

Да было бы ничего, если бы эти парсеры они писали не руками, но понимать, что парсим - совсем же база)

Раньше недоумевала, как в CS можно бояться конкуренции с LLM, но вот теперь ясно, что некоторым реально есть чего бояться в выпуске GPTo3...

@BaldiSlayer
Copy link
Owner

BaldiSlayer commented Jan 18, 2025

но понимать, что парсим - совсем же база)

у нас (у меня в группе) есть минимум один студент, который считает, что сдача лаб и тд это "переход на новый уровень" и "нужно просто сдать" (это почти прямые цитаты, которые были мне сказаны пару дней назад...). То есть о каком-то обучении речи даже не идет))

Компрометировать не буду, но возможно Вы даже догадаетесь кто это)
да и вряд ли этот человек один

@TonitaN
Copy link

TonitaN commented Jan 18, 2025

Знаю, кто это, т.к. цитаты характерные)

@ssairu
Copy link
Contributor Author

ssairu commented Jan 18, 2025

вроде всё дописал

data/data.yaml Outdated

Проблема бесконечности для контекстно-свободных языков разрешима.
Приведем эффективную процедуру определения бесконечности контекстно-свободного языка L(G).
Достаточно построить такой вывод в КС грамматике G = (Σ, N, R, S) из досижимого и производящего
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

достижимого*

data/data.yaml Outdated

- answer: 'Проблема бесконечности заключается в определении того, содержит язык конечное или бесконечное количество строк.
Для регулярных языков проблема бесконечности разрешима. Для ДКА - детерминированного конечного автомата
имеющего n состояний и m переходов алгоритм работает за время O(n + m) и основан на поиске циклов.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай допишем, что циклы ищем в графе (а если быть в точном - в построенном дка)

определённым смыслом в составляющие большего размера с определённым смыслом. Если
составляющие — подстроки, то они обычно соединяются операцией конкатенации.
Например, приписыванием подлежащего с зависимыми словами “Всякий человек” к сказуемому
“смертен” получается грамотное русское предложение. Аналогично, последовательно записывая
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

После прочтения ответа задумался о смысле жизни

data/data.yaml Outdated
продолжения этих слов приводят к одинаковым конфигурациям стека. Для VPL-языков число данных
классов эквивалентности конечно.

Заметим, что в такой форме Теорема Майхилла-Нероде выражает не необходимое и достаточное условие того,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут теорема с маленькой буквы

data/data.yaml Outdated
- 'как доказать, что язык не DCFL (deterministic context-free languages) с использованием леммы о накачке для DCFL на примере

'
- 'как доказать, что язык NCFL (non-deterministic context-free languages)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Созрел вопрос
А точно не детерминированный это ncfl? Я всегда думал, что это ndcfl, потому что ncfl для меня это not context-free language

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я вообще старалась избегать в курсе сокращений для языков-дополнений. Может, остались какие-то артефакты этого с прошлых лет в лекциях, тогда надо исправляться мне. Лучше просто писать "не является DCFL (не является детерминированным)".

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лекция 9 (страница 29)

Мы показали, что язык пересечения — NCFL, значит, язык L— NCFL

вот тут ток видел

data/data.yaml Outdated
'

- answer: 'Да, все регулярные языки являются LR(1)-языками.
Класс LR(1) языков лежит между классами регулярных и контекстно-свободных языков.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Опять "между"

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше так: класс LR(1) языков строго включает в себя регулярные (а также их надмножество Visibly Pushdown) языки и строго включается в контекстно-свободные языки.

@ssairu
Copy link
Contributor Author

ssairu commented Jan 19, 2025

Здравствуйте, как удачно мы снова сошлись) исправил

Copy link

@TonitaN TonitaN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Последние штрихи

data/data.yaml Outdated
регулярного выражения' No newline at end of file
регулярного выражения'

- answer: 'Проблема выводимости разрешима для регулярных систем с линейной сложностью относительно длины
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше тут и везде систем заменить на "систем переписывания термов". Если с контекстно-свободными неоднозначностей не возникнет, то "регулярность" в CS и математике используется много где, есть регулярные системы уравнений, которые не связаны с ТФЯ)

data/data.yaml Outdated
Проблема бесконечности для контекстно-свободных языков разрешима.
Приведем эффективную процедуру определения бесконечности контекстно-свободного языка L(G).
Достаточно построить такой вывод в КС грамматике G = (Σ, N, R, S) из досижимого и производящего
нетерминального знака A, что A -> αAβ , где α ≠ ε, β ≠ ε; α, β принадлежат множеству нетерминалов N, или алфавиту Σ.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше знака -> символа, понятно, что в русском языке это синонимы, но на профессиональном жаргоне в CS слово "знак" для этого не употребляется.

data/data.yaml Outdated
author: Пенкин Артём
id: 267
questions:
- 'какая основная модель грамматик
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По-моему, так будет лучше:
какая модель грамматик в основном используется для описания языков?

data/data.yaml Outdated
Класс VPL языков (Visibly Pushdown Language) является подмножеством детерминированных КС языков
и надмножеством регулярных языков и имеет многие желаемые свойства регулярных языков, например они замкнуты
относительно пересечения, объединения, дополнения, итерации Клини, конкатенации, переворота и гомоморфизма строк.
Значит, регулярные языки являются подмножеством VPL языков.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно даже усилить:
"Значит, регулярные языки являются подмножеством VPL языков." -> "Можно сказать, что регулярные языки - это в точности VPL языки с пустыми алфавитами вызывающих и возвращающих (call- и return-) символов".

@ssairu
Copy link
Contributor Author

ssairu commented Jan 19, 2025

сделал, спасибо за советы

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants