Sobre o Q1: Tanto o problema de ambiguidade (dado um CFG, seja ambíguo) quanto o problema de ambiguidade inerente (dado um CFG, se seu idioma é inerentemente ambíguo, isto é, se qualquer CFG equivalente é ambíguo) é indecidível. Aqui estão as referências originais:
Sobre o Q2: uma gramática regular é uma gramática livre de contexto "linear unilateral", em que no máximo um não-terminal aparece em qualquer regra da parte direita da regra e onde esse não-terminal é o último (nas gramáticas lineares à direita ) ou o primeiro (em gramáticas lineares esquerdas ). Tais gramáticas são facilmente traduzidas em autômatos de estados finitos equivalentes (aproximadamente considerando cada não-terminal como um estado), que são inequívocos se a gramática regular é inequívoca. A classe de gramáticas regulares inequívocas e autômatos inequívocos foi estudada em particular por Stearns e Hunt (1985) , que mostram que eles desfrutam de algoritmos tratáveis para o problema de inclusão.
βAγ⇒βαγA→αAX1,…,XmA→X1⋯Xm
γAηBθABA→αγαηBθB→βγAηβθγαηβθ(sempre derivando o não-terminal mais à esquerda em qualquer forma sentencial) ou derivações à direita impõem uma ordem fixa para visitar as árvores de derivação e, em seguida, existe uma única derivação para uma determinada árvore de derivação.
Em uma gramática linear livre de contexto, não existe essa opção, pois existe no máximo uma não-terminal em qualquer forma sentencial e existe uma única derivação para uma determinada árvore de derivação, que é tanto à esquerda quanto à direita.
www
e 4. Se você adota a visualização de autômatos em estado finito, basta determinar seu autômato ambíguo para obter um autômato inequívoco para o mesmo idioma: haverá uma única execução para qualquer palavra. Esse autômato determinístico é equivalente a uma gramática regular inequívoca.
S→A∣B,A→a,B→aaS⇒A⇒aS⇒B⇒aS→a
O(|G|2)(q,q′)q≠q′