跳到主要内容

京都大学 情報学研究科 知能情報学専攻 2025年8月実施 専門科目 S-5

Author

itsuitsuki

Description

文法 G=(Σ,N,P,S)G = (\Sigma, N, P, S) を考える。ここで、 Σ,N,P,S\Sigma, N, P, S はそれぞれ終端記号の有限集合、非終端記号の有限集合、生成規則の有限集合、開始記号である。 ϵ\epsilon は空文字列を表す。 以下の設問では Σ={a,b}\Sigma = \{a, b\} とする。

設問 1 言語 LL をすべての回文からなる集合とする。回文とは前向きに読んだ場合と後ろ向きに読んだ場合とで同じになる文字列である。 LLϵ\epsilon を含むとする。 LL を生成する文脈自由文法の PP を示せ。ただし N={S}N = \{S\} とする。

設問 2 N={S},P={SaSSbab}N = \{S\}, P = \{S \to aS \mid Sb \mid a \mid b\} とする文脈自由文法 GG について、 GG が生成するどの文字列も部分列として baba を含まないことを証明せよ。

設問 3 言語 LLaa の数が bb の数よりも多いすべての文字列の集合とする。

  1. LL を生成する文脈自由文法の NNPP を示せ。
  2. その文法の健全性(この文法が生成する文字列はすべて LL に含まれること)を証明せよ。
  3. その文法の完全性(LL に含まれる文字列はすべてこの文法が生成できること)を証明せよ。

設問 4 L={anbnn0}L = \{a^n b^n | n \geq 0\} の補集合が文脈自由言語であることを証明せよ。

题目描述

考虑文法 G=(Σ,N,P,S)G=(\Sigma,N,P,S),其中 Σ\SigmaNNPPSS 分别表示有限终结符集、有限非终结符集、有限产生式集和开始符号,ϵ\epsilon 表示空串。以下各题均令 Σ={a,b}\Sigma=\{a,b\}

  1. 令语言 LL 为所有回文组成的集合。回文是正向读取与反向读取完全相同的字符串,并规定 ϵL\epsilon\in L。在 N={S}N=\{S\} 的条件下,给出生成 LL 的上下文无关文法的产生式集 PP

  2. 考虑 N={S}N=\{S\}、产生式集

    P={SaSSbab}P=\{S\to aS\mid Sb\mid a\mid b\}

    的上下文无关文法 GG。证明 GG 生成的任何字符串都不含连续子串 baba

  3. 令语言 LL 为所有满足字符 aa 的个数多于字符 bb 的个数的字符串组成的集合。

    (1)给出生成 LL 的上下文无关文法的非终结符集 NN 与产生式集 PP

    (2)证明该文法的可靠性,即该文法生成的每个字符串都属于 LL

    (3)证明该文法的完备性,即 LL 中的每个字符串都能由该文法生成。

  4. 证明语言

    L={anbnn0}L=\{a^nb^n\mid n\geq0\}

    的补集是上下文无关语言。