Skip to content

Лабораторная работа 5. Лебедев Аркадий#176

Open
ark2016 wants to merge 87 commits intoBaldiSlayer:mainfrom
ark2016:main
Open

Лабораторная работа 5. Лебедев Аркадий#176
ark2016 wants to merge 87 commits intoBaldiSlayer:mainfrom
ark2016:main

Conversation

@ark2016
Copy link
Contributor

@ark2016 ark2016 commented Dec 30, 2024

  1. напиши алгоритм приведения грамматики к ХНФ gist не те шаги либо не тот порядок
  1. что такое ХНФ? gist + в предыдущем вопросе ошибка с определением (отсутствует S→ε) дубль с 162 вопросом, но тут аббревиатура и ЛЛМ не отвечает нормально gist, возможно оставить?
  1. порядок применения алгоритмов в приведении к ХНФ не важен? (gist , gist , gist , gist) нет обоснования, либо не знает
  1. как растут размеры грамматики при приведении грамматики к ХНФ? Напиши оценку (gist , gist , gist ) Не правильная оценка, либо её нет
  1. что такое длинное правило в грамматике? (gist , gist , gist ) не правильно отвечает либо не знает
  2. напиши алгоритм удаления длинных правил (gist ) галлюцинация в определении, пишет что не уверена, нет чётких инструкций
  1. обоснуй корректность алгоритма удаления длинных правил gist другой алгоритм обосновал …
  1. время работы алгоритма удаления длинных правил (gist , gist , gist ) не знает либо отвечает не на тот вопрос
  1. теорема (Курки-Суонио [1969]; Розенкранц и Стирнс [1970]) про LL(k+1) языки
    (gist , gist , gist , gist ) не знает
    image

  2. Лемма (Розенкранц и Стирнс [1970]). Для всякой обыкновенной грамматики G =(Σ, N, R, S), существует другая грамматика G0 = (Σ, N ∪ N0, R0, S0), где N0 = { A0| A ∈N }, удовлетворяющая следующим условиям. Каким условиям удовлетворяет грамматика? (gist , gist )

  3. что из этого следует (закончи лемму) Лемма (Розенкранц и Стирнс [1970]). Пусть G = (Σ, N, R, S) — LL(k)-грамматика, не содержащая правил вида A → Bγ, где ε ∈ LG(B). Пусть обнуляемые нетерминальные символы обозначаются через N0 = { A | A ∈ N, ε ∈ LG(A) }, и пусть N1 = { A | A ∈ N, ε /∈ LG(A) } — все остальные. (gist , gist , gist )

  4. Докажи: Пусть G = (Σ, N, R, S) — линейная LL(k) грамматика без коротких правил и без левых цепочечных правил.
    Тогда для каждого нетерминала A ∈ N, если x ∈ L(A) и |x| = k - 1, то либо Follow(A) ⊆ {ε}, либо A может определять x
    только правилом A → x. gist

  5. Для каждой линейной LL(k) грамматики G = (Σ, N, R, S) существует линейная LL(k) грамматика G′ без коротких и левых цепочечных правил, которая определяет тот же язык. каким числом можно ограничить количество нетерминальных символов в G′? gist

  6. Для каждой линейной LL(k) грамматики G = (Σ, N, R, S) без коротких правил и без левых цепочечных правил существует линейная LL(1) грамматика G′ = (Σ, N′, R′, εS), которая описывает тот же язык. каким числом можно ограничить количество нетерминальных символов в G′? gist

  7. Для каждой линейной LL(k) грамматики G = (Σ, N, R, S) существует линейная LL(1) грамматика, которая описывает тот же язык. Сколько нетерминальных символов в такой грамматике? gist

  8. Для каждого m ≥ 3, k ≥ 4 и n ≥ 1 существует язык, описываемый линейной LL(k) грамматикой G над m-символьным
    алфавитом с n нетерминальными символами, сколько любая линейная LL(1) грамматика для того же языка имеет
    нетерминальных символов (оценка снизу)? gist, gist

  9. что такое LL(k) грамматика при k=0, т.е. LL(0)-грамматика


  1. Для C = ⌊log_{|Σ|} k⌋ + 1 существует сюръективная функция f : Σ^{k-1} # → Σ, для которой все проекции g_w, полученные подстановкой первых k - C аргументов f с w, для w ∈ Σ^{k-C} , что можно сказать про такие элементы в контексте LL(k) языков? gist, gist, gist
    image
  2. Пусть G′ = (Σ ∪ {#}, N′, R′, S′) — любая линейная LL(1) грамматика, которая описывает язык L(G), и пусть Av — содержимое стека после чтения строки вида u = #^{i−1} x_1 . . . x_k a_1 . . . a_{k−C}, где i ∈ {1, . . . , n}, x_1, . . . , x_k ∈ Σ^{k-1} #, и a_1, . . . , a_{k−C} ∈ Σ. Что можно сказать про |v|? Меньше чего |v|? gist
  3. однозначна ли LL(k) грамматика? gist
  4. бывает ли LL(k) грамматика с левой рекурсией? gist
  5. Пусть G = (N, Σ, P, S) — контекстно-свободная грамматика (cfg). для любого A ∈ N; w, x, y ∈ Σ*; β, β', γ, γ' ∈ V*; и любых двух выводов
    S ⇒L* w A γ ⇒L w β γ ⇒L* w x
    S ⇒L* w A γ' ⇒L w β' γ' ⇒L* w y
    для которых x / k = y / k, необходимо выполняется β = β'.
    Что можно сказать о классе грамматики G? gist gist gist
  6. Определение LL(k)-грамматик по Льюису и Стернсу gist
  7. существует ли "наиболее сложный" LL(k) язык L_0 над любым алфавитом Σ_0, такого что для каждого LL(1) языка L ⊆ Σ+ существовал бы гомоморфизм h: Σ∗ → Σ0∗, такой что w ∈ L тогда и только тогда, когда h(w) ∈ L0? gist gist
  8. Существует ли такой LL(0) язык L_0 над алфавитом Σ_0 = {a, b, c, d, e, @, #, $, %}, что для каждого LL(k) языка L
    над любым алфавитом Σ с любым k ≥ 1 существует такой гомоморфизм h: (Σ ∪ {⊥})∗ → Σ_0∗, что L⊥ = h^(-1)(L_0). gist gist
  9. Пусть G = (Σ, N, R, X_1) — это LL(k) грамматика в нормальной форме Грейбаха, h_G = h: (Σ ∪ {⊥_1, ⊥})∗ → Σ_0∗ — определённый выше гомоморфизм, и G_0 = (Σ_0, N_0, R_0, S_0) — определённая выше грамматика. Пусть a^(i_ℓ) c … a^(i_1) c x # h(w) y — строка, где x ∈ {b, e} {a, b, c, d, e, ⊕}∗ ∪ {ε}, ℓ ≥ 1, i_1, …, i_ℓ > 0, |p_j| = k-1, w ∈ Σ∗, и y — префикс h(t) с t ∈ Σ. Пусть j' — количество вхождений e в y, и i' — количество вхождений b, следующих за последним e в y. Когда строка a^(i_ℓ) c … a^(i_1) c x # h(w) y принадлежит L_G_0(A) тогда и только тогда? gist gist
  10. Язык L ⊆ Σ∗ принадлежит замыканию LL(0) языков по обратным конечным преобразованиям gist
  11. чем является замыкание LL(0) языков относительно обратных конечных преобразований? gist
    Замыкание LL(0) языков относительно обратных конечных преобразований содержит какие языки?gist gist

P.S. выделяю цитатой убранные вопросы
P.P.S. ниже пояснение для части вопросов

w/k - это первые k символов
S⇒L∗wAγ: Это означает, что из стартового символа S можно получить строку wAγ через несколько шагов левого вывода.

S⇒LwAγ⇒Lwβγ: Это означает, что из S можно получить wAγ за один шаг левого вывода, а затем из wAγ можно получить wβγ за один шаг левого вывода.

S⇒L∗wAγ⇒Lwβγ⇒L∗wx: Это означает, что из S можно получить wAγ через несколько шагов левого вывода, затем из wAγ можно получить wβγ за один шаг левого вывода, и, наконец, из wβγ можно получить wx через несколько шагов левого вывода.

@TonitaN
Copy link

TonitaN commented Dec 31, 2024

С ХНФ и оценками надо разобраться с включением аббревиатуры в список вопросов + у вас что-то случилось с контекстом, ибо у меня всё нормально отвечает: https://gist.github.com/stewkk/fd5e6713c1a4f10f592efe3da3f296f6
Тут нужно просто подвязать вопросы к ответам Софьи, Павла и Алексея, т.к. у нас уже несть числа этих нормальных форм Хомского, скоро сравняются с леммами о накачке.

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

Вот про LL(k)-языки значительно больше можно найти галлюцинаций и неизвестного базе...

@ark2016
Copy link
Contributor Author

ark2016 commented Dec 31, 2024

@TonitaN, спасибо за комментарий, добавил формулировки вопросов в 132 вопрос (ХНФ) и объединил вопросы про длинные правила. Добавил новые вопросы про LL(k).

Планирую ещё добавить как минимум 10 вопросов (как другой вариант лабораторной)

С наступающим Новым Годом!

@TonitaN
Copy link

TonitaN commented Jan 1, 2025

С Новым годом!
(чувствую себя прямо как мой начальник, решивший, что присылать правки к TR по этапу проекта в НГ-ночь - хорошая идея)

@ark2016 , вы же на ты с llm-ками. Зачем заниматься репликацией одного и того же вопроса в нескольких экземплярах? Для бз, с учётом того, что llm достаточно умная, хватит и одного вопроса. Есть очень много реальных дыр в БЗ, связанных с LL(k)-языками, причём полезных студентам, и они не заткнутся сами собой. Одну подсказываю:
https://gist.github.com/stewkk/16bd875ea3223d2f322deac2442877fd
(запрос сформулирован ужасно криво, потому что надо было, чтобы в контекст попал ответ Алисы, а этого сейчас добиться трудно)
Ответ по сути правильный, но содержательно плохой. Такие языки можно описать куда проще.

@ark2016
Copy link
Contributor Author

ark2016 commented Jan 7, 2025

@TonitaN, добрый вечер!

Добавил дополнительные 10 вопросов

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.

Сам материал в целом адекватный, но есть два важных недостатка в работе над ним:

  1. Блок запросов сформулирован так, чтобы ещё больше запутать LLM. Какие-то подсказки по переформулировке я дала, дальше сами.
  2. Нужно до конца разобраться в понятии LL(0)-языка и научиться адекватно его применять

@ark2016
Copy link
Contributor Author

ark2016 commented Jan 15, 2025

@TonitaN, улучшил блок запросов, добавив более короткие и общие запросы

@ark2016 ark2016 requested a review from TonitaN January 15, 2025 23:26
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
Copy link
Owner

BaldiSlayer commented Jan 20, 2025

елки палки, я сюда случайно зашел. @ark2016 померджись на main пж, ну неудобно же проверять совсем, я же писал ((

если не можешь - ну напиши мне в тг, я помогу (это бесплатно)

@TonitaN
Copy link

TonitaN commented Jan 21, 2025

@ark2016 помеджись на main пж, ну неудобно же проверять совсем

Присоединяюсь к пожеланию @BaldiSlayer , сделаете? Ещё ведь точно одна итерация проверки будет, вы же знаете, что это дифф мне не безразличен)

@TonitaN
Copy link

TonitaN commented Jan 23, 2025

@ark2016 , вы лишаете меня надежды на аппрув этого PR ( Не надо так ((

@ark2016
Copy link
Contributor Author

ark2016 commented Jan 23, 2025

сделал rebase (он немного криво пошёл :( )
сейчас буду вносить правки

@ark2016 ark2016 reopened this Jan 23, 2025
@ark2016 ark2016 requested a review from TonitaN January 24, 2025 21:59
@ark2016
Copy link
Contributor Author

ark2016 commented Jan 24, 2025

@TonitaN, прошёл линт, сделал актуальные изменения по прошлым рецензиям.

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.

Всё-таки пара артефактов отката есть(
Утром всё завершите, надеюсь. Только пожалуйста, будьте очень аккуратны.

@ark2016 ark2016 requested a review from TonitaN January 25, 2025 06:55
@ark2016
Copy link
Contributor Author

ark2016 commented Jan 25, 2025

@TonitaN, я внёс окончательные правки

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.

Пара предложений о переформулировках, и один гештальт будет закрыт

@TonitaN TonitaN mentioned this pull request Jan 26, 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