Главная страница
Навигация по странице:

  • Задание 2.1.

  • Задание 2.2.

  • Задание 2.3.

  • Теория автоматов. Лекция 1 Основные понятия теории конечных автоматов. Элементы логикоматематического языка. 59


    Скачать 1.63 Mb.
    НазваниеЛекция 1 Основные понятия теории конечных автоматов. Элементы логикоматематического языка. 59
    Дата04.04.2018
    Размер1.63 Mb.
    Формат файлаdoc
    Имя файлаТеория автоматов .doc
    ТипЛекция
    #40294
    страница6 из 7
    1   2   3   4   5   6   7

    Задание 2.1. (вариант 2)

    Задана формальная грамматика G =<T, N,S,P >, где T ={a,b}, N ={A,B,S}, множество продукций P определенно следующим образом. S AbA| AAbBbA AAab| BAABAAbb | A

    Abb a|

    B AA|b

    Какие из следующих записей являются выводами в грамматике G (Указать правильные варианты ответов).

    1. S, AbA, AAAab, Abbab, abbab

    2. S, AAbB, AbB

    3. AAA, AA, A,a

    4. S, AbA,aba


    Задание 2.1. (вариант 3)

    Задана формальная грамматика G =<T, N, S, P >, где T ={a,b}, N ={A,B,S}, множество продукций P определенно следующим образом. S AbA| AAbBbA AAab| BAABAAbb | A

    Abb a|

    B AA|b

    Какие из следующих записей являются выводами в грамматике G (Указать правильные варианты ответов).

    1. S, AbA, AAAab,bbAab,bbaab

    2. bAA bA, ,BAAB

    3. S,bA, AAab,BAAB

    4. S, AAbB,bbbB,bbbAA


    Задание 2.1. (вариант 4)

    Задана формальная грамматика G =<T, N, S, P >, где T ={a,b}, N ={A,B,S}, множество продукций P определенно следующим образом.

    S AbA| AAbBbAAAab | BAABAAbb| A

    Abb a|

    B AA| b

    Какие из следующих записей являются выводами в грамматике G (Указать

    правильные варианты ответов).

    1. S,bA, AA, A,B

    2. bA, AAab,bbab

    3. S, AbA

    4. S, AAbB,bbbB,bbbAA,bbBAABA


    Задание 2.2. (вариант 1)




    Задана КСГ G =<T, N, ,S P >, где T ={a b, }, продукций P определенно следующим образом.

    S AbA| ABAaAB b

    N ={A,B,S}, множество

    Определить язык, порождаемый грамматикой G (Указать правильный вариант ответа).

    1. L G( ) ={a ban m | ,n m∈Z }+ ∪{a b nn | ∈Z } +

    2. L G( ) = {a ban n | n∈ Z }+ ∪{a bn n | n∈ Z+}

    3. L G( ) = {a ban n | n∈ Z } {+ a b nn | ∈ Z } +

    4. L G( ) ={a nβ| n∈Z ,+ β∈{a b, } } *



    Решение:

    Несложно увидеть, что существует два «типа» выводов в данной грамматике. Первый начинается с последовательности S, AbA, второй с последовательности S, AB.

    Рассмотрим вывод, начинающийся с S, AbA. Здесь можно произвольное (целое неотрицательное) число раз применять продукцию AaA к «левому» либо «правому» нетерминальному символу A, после чего дважды применить продукцию A→λ и тем самым построить вывод

    S, AbA,..., aaaAbaaaAaaabaaa... .. , ... .. . Это позволяет вывести в грамматике G все слова множества {a ban m | ,n m∈ Z+}.

    Рассмотрим вывод, начинающийся с S, AB. Здесь можно произвольное

    (целое неотрицательное) число раз применять продукцию AaA, после чего один раз применить продукцию A→λ, дополнительно можно один раз применить продукцию B b. Таким образом будет построен вывод

    S, AB,...,aa ab... . Это позволяет вывести в грамматике G все слова множества {a b nn | ∈ Z }+ .

    Объединив два множества слов терминального алфавита, получаемых в результате выводов двух возможных «типов», находим L G( ) ={a ban m | ,n m∈Z }+ ∪{a b nn | ∈Z }+ .
    Задание 2.2. (вариант 2)

    Задана КСГ G =<T, N, ,S P >, где T ={a b, }, N ={A,B,S}, множество продукций P определенно следующим образом.

    S AaA| AaBAaAB b

    Определить язык, порождаемый грамматикой G (Указать правильный вариант ответа).

    1. L G( ) ={anβ| nN,β∈{a b, } } *

    2. L G( ) ={a2n+1 | nN}∪{a bn n | nN}

    3. L G( ) ={an | nN}∪{a b nn | ∈N}

    4. L G( ) ={a2n+1 | nN} {a b nn | ∈N}


    Задание 2.2. (вариант 3)

    Задана КСГ G =<T, N, ,S P >, где T ={a b, }, N ={A,B,S}, множество продукций P определенно следующим образом.

    SAbAA| BBAAaABb

    Определить язык, порождаемый грамматикой G (Указать правильный вариант ответа).

    1. L G( ) ={a ban 2m | ,n m∈Z } {+ bbam | ,n m∈Z } +

    2. L G( ) ={aββ| ∈{a b, } }* ∪{β βa | ∈{a b, } } *

    3. L G( ) ={a ban 2m | ,n m∈Z }+ ∪{b2nam | ,n m∈Z } +

    4. L G( ) ={a ban m | ,n m∈Z }+ ∪{bban | n∈Z } +


    Задание 2.2. (вариант 4)

    Задана КСГ G =<T, N, S, P >, где T ={a b, }, N ={A,B,S}, множество продукций P определенно следующим образом.

    S bABAb | BABAaA a| B b

    Определить язык, порождаемый грамматикой G (Указать правильный вариант ответа).

    1. L G( ) ={ba b a b n mn m n | , ∈N}∪{b a bn m n | ,n mN}

    2. L G( ) ={ba ba b n mn m | , ∈N}∪{ba b nn | ∈N}

    3. L G( ) ={b bβ β| ∈{a b, } } *

    4. L G( ) ={ba ba b n mn n | , ∈N} {ba b n mn | , ∈N}


    Задание 2.3. (вариант 1)

    Какие из следующих языков являются контекстно-свободными (Указать правильные варианты ответов).

    1. L = {a bn 2nan | nN}

    2. L ={αα| ∈{a b, } * и количество букв a в слове α равно количеству букв b}

    3. L ={αα| ∈{a b, }* , ( )l α нечетное и в середине слова α содержится a }

    4. L ={a bn m | ,n mN n, >m}

    5. L ={αβαβ# | , ∈{a b, } * и слово α является подсловом слова β}

    6. L ={αα| ∈{a b, }* , слово α начинается и заканчивается одни и тем же символом}



    Решение:

    1. Пусть L = {a bn 2nan | nN}. Докажем от противного, используя лемму о разрастании, что L не является контекстно-свободным. Предположим, что L – контекстно-свободный. Согласно лемме существует константа k и слово α= akb2k ak (α∈L и l( )α = 4k k ) может быть представлено в виде α= β1ξ1γξ2β2 , что выполняются условия леммы о разрастании. Если ξ1 или ξ2 содержат одновременно и букву a и букву b, то α(2)∉ L в силу нарушения порядка следования букв a и b (в словах языка L идут буквы a, затем буквы b и затем снова буквы a). Далее будем считать, что каждое из слов ξ1, ξ2 состоит только из букв a или только из букв b.

    Тогда рассмотрим возможные способы разбиение слова α.

      • Если ξξ1, 2 ∈{ }a *, то в силу того, что l1γξ2 ) ≤ k возможен лишь один из следующих двух вариантов: α(2) = ak l+ (ξ ξ1+ 2)b2k ak и т.к. l1 2ξ ) ≠ 0, то α(2)∉ L;

    α(2) = a bk 2k a k l+ (ξ ξ1+ 2) и т.к. l1 2ξ ) ≠ 0, то α(2)∉ L.

      1. Если ξξ1, 2 ∈{ }b * , то α(2) = a bk 2k l+ (ξ ξ1+ 2)ak и т.к. l1 2ξ ) ≠ 0, то α(2)∉ L.

      2. Если ξ1 ∈{ }a *ξ2 ∈{ }b *, то α(2) = ak l+ (ξ1)b2k l+ (ξ2)ak и т.к. l1 2ξ ) ≠ 0, то α(2)∉ L.

      3. Если ξ1 ∈{b}*ξ2 ∈{ }a *, то α(2) = a bk 2k l+ (ξ1)ak l+ (ξ2) и т.к. l1 2ξ ) ≠ 0, то α(2)∉ L.

    Получаем противоречие. Таким образом предположение неверно и L не является контекстно-свободным.

    1. Пусть L ={αα| ∈{a b, } * и количество букв a в слове α равно количеству букв b}. Язык L является контекстно-свободным, т.к. можно построить следующую контекстно-свободную грамматику, порождающую L: S aSbS |bSaS

    2. Пусть L ={αα| ∈{a b, }* , ( )l α нечетное и в середине слова α содержится a }. Язык L является контекстно-свободным, т.к. можно построить

    следующую контекстно-свободную грамматику, порождающую L: S aSa aSb bSa bSb a| | | |

    1. Пусть L ={a bn m | ,n mN n, >m}. Язык L является контекстносвободным, т.к. можно построить следующую контекстно-свободную грамматику, порождающую L:

    S AB A aA a|

    B aBb ab|

    1. Пусть L ={αβαβ# | , ∈{a b, } * и слово α является подсловом слова β}.

    Докажем от противного, используя лемму о разрастании, что L не является контекстно-свободным. Предположим, что L – контекстносвободный. Согласно лемме существует константа k и слово α= akbk #a bk k (α∈L и l( )α = 4k +1≥ k ) может быть представлено в виде α= β1ξ1γξ2β2 , что выполняются условия леммы о разрастании. Если ξ1 или ξ2 содержат букву #, то α(2)∉ L в силу того, что будет содержать две буквы #. Далее будем считать, что ξ12 ∈{a b, }*. Тогда рассмотрим возможные способы разбиение слова α.

      • Если γ не содержит букву #, то возможен лишь один из следующих двух вариантов:

          • α ξγξ= ak1 1 2bk2 #a bk k , где k k1, 2 ≥ 0 и зависят от слов ξ1, ,γξ2 , тогда и т.к. ξ1 2ξ ≠ λ, то α(2)∉ L;

          • α= a bk k #ak1ξγξ1 2bk2 , где k k1, 2 ≥ 0 и зависят от слов ξ1, ,γξ2 , тогда и т.к. ξ1 2ξ ≠ λ, то α(0)∉ L ;

      • Если γ содержит букву # , то в силу условия l1γξ2 ) ≤ k справедливо α(2) = akbk l+ ( )ξ1 #ak l+ (ξ2)bk , но т.к. l1 2ξ ) ≠ 0, то α(2)∉ L.

    Получаем противоречие. Таким образом, предположение неверно и L не является контекстно-свободным.

    1. Пусть L ={αα| ∈{a b, }* , слово α начинается и заканчивается одни и тем же символом}. Язык L является контекстно-свободным, т.к. можно построить следующую контекстно-свободную грамматику, порождающую

    L.

    Способ 1.

    S aAa bAb|
    A aA bA| |λ

    Способ 2.

    Языка L является регулярным, тогда построим конечный автомат K , распознающий язык L. Используя конечный автомат K , построим соответствующую ему грамматику G типа 1, порождающую язык L. Класс грамматик типа 1 включен в класс грамматик типа 2 (класс контекстно-свободных грамматик). Таким образом, построенная грамматика G будет являться контекстно-свободной. Конечный автомат K :



    Соответствующая грамматика G =<T, N, ,S P >, где T = {a b, },

    N = {q0 ,q q1, 2,q q3, 4}, S = q0 и множество продукций P определяется следующим образом: q0 aq1 | bq3q1 aq1 | bq2 q2 aq1 | bq2q3 aq4 | bq3 q4 aq4 | bq3
    Задание 2.3. (вариант 2)

    Какие из следующих языков являются контекстно-свободными (Указать правильные варианты ответов).

        1. L ={αα| ∈{a b, } * и количество букв a в слове α не равно количеству букв b}

        2. L = {a b a2n n 2n | nN}

        3. L ={a bn m | ,n mN n, <m}

        4. L ={αβαβ# | , ∈{a b, } * и слово β является подсловом слова α}

        5. L ={αα| ∈{a b, }* , ( )l α нечетное и в середине слова α содержится aba }

        6. L ={αα| ∈{a b, }* , слово α содержит не менее двух букв a }


    Задание 2.3. (вариант 3)

    Какие из следующих языков являются контекстно-свободными (Указать правильные варианты ответов).

        1. L ={αα| ∈{a b, }* , слово α содержит подслово aba }

        2. L = {a ba ban n n | nN}

        3. L ={αα| ∈{a b, } * и количество букв a в слове α меньше количества букв b}

        4. L ={a bn m | ,n mN n, ≥ m}

        5. L ={αβαβ# | , ∈{a b, } ,* l( )α = 2 ( )l β и слово β является подсловом слова α}

        6. L ={αα| ∈{a b, }* , l( )α нечетное и в середине слова α не содержится aba }

    1   2   3   4   5   6   7


    написать администратору сайта