ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Детерміновані і недетермінірованние кінцеві автомати
         

     

    Інформатика, програмування
    1. Вступ У цьому рефераті будуть дані визначення детерміні-рова і недетермінірованних
    кінцевих автоматів, приведе-ни їх графи. Далі буде розглянутий
    випадок перетворення недетермінірованного кінцевого автомата в детермінований
    з малюнками та графами. Всі розглянуті тут автомати представлені як
    маши-ни, що розпізнають ланцюжка символів. 2. Детерміновані кінцеві автомати.
    У різних джерелах наводяться кілька відрізняють-ся один від одного визначення
    детермінованого кінцевого автомата. Наведемо тут визначення з
    джерела [2]. Детермінованим кінцевим автоматом (ДКА) називається машина, що розпізнає
    ланцюжка символів. Вона має вхідну стрічку, розбиту на клітини, головку
    на вхідних стрічці (вхід-ву головку) і керуючий пристрій з кінцевим числом
    станів (рис. 1). Кінцевий автомат М можна представити у вигляді п'ятірки (S,
    I, 1б 0, 1s0 0, F), де 1) S - безліч станів 1управляющего пристрої 0,
    2) I - 1входной алфавіт 0 (кожна клітина вхідний стрічки з-тримає символ з
    I), 3) 1б 0 - відображення з S x I в S (якщо 1б 0 (1s 0, 1a 0) = 1s '0, то
    кожного разу, коли М перебуває в стані 1s 0, а вхідні головка оглядає
    символ 1a 0, М зрушує вхідні головку праворуч і переходить в стан 1 s '0),
    4) 1 s0 0 - виділене стан в S, зване 1начальним 0, 5) F - підмножина
    в S, зване безліччю 1допуска-1ющіх 0 (або 1 заключних 0) 1
    станів 0. 1b 0 1a 0 1c 0 Вхідна стрічка
    ^ Головка 1s 0 Керуючий пристрій
    Рис. 1. Кінцевий автомат ДКА виконує кроки, які визначаються поточним станом його
    блоку керування та вхідних символом, які оглядаються вхідний головкою. Кожен крок
    складається з переходу в новий стан та зсуву вхідної головки на одну клітку
    вправо. Надає-ся, що мова представимо регулярним [2] виразом тоді і тільки
    тоді, коли він допускається деяким кінцевим авто-матом. Далі буде приведено
    визначення ДКА через визначення недетермінірованного кінцевого автомата
    (НКА), тобто можна буде розглядати ДКА як підмножини НДКА.
    2. Недетермінірованние кінцеві автомати Для кожного стану і кожного вхідного
    символу НКА має нуль або більше варіантів вибору наступного кроку. Він може також
    вибирати, зрушувати йому вхідні головку при з-трансформаційних змін стану чи ні.
    Наведемо визначення недетермінірованного кінцевого ав-томата. Недетермінірованним
    кінцевим автоматом називається п'ятого-терка (S, I, 1 б 0, 1 s0 0, F), де 1) S
    - Кінцеве безліч станів пристрої управ-ня; 2) I - 1 алфавіт 0 вхідних
    символів; 3) 1б 0 - 1функція переходів 0, що відображає S x (IU (1e 0))
    в безліч підмножин множини S; 4) 1 s0 0 (- S - 1 початковий стан 0
    пристрої управління; 5) F _ (. S - безліч 1заключітельних (допускають)
    0сос-тояній. З кожним НКА пов'язаний орієнтований граф, природним чином представляє
    функцію переходів цього автомата. Наведемо визначення для графа
    (Або діаграми) перех-дів автомата М = (S, I, 1б 0, 1s0 0, F). Графом переходів
    автомата М називають орієнтований граф G = (S, E) з поміченими ребрами.
    Безліч ребер Е і мітки визначаються в такий спосіб. Якщо 1б (s, a) 0содержіт
    1s '0для деякого 1a 0 (- IU (1e 0), то ребро 1 (s, s') 0прінадле-
    жит Е. міткою ребра 1 (s, s ') 0служіт безліч тих 1b 0 (- IU (1e 0), для
    яких 1 б (s, b) 0 містить 1 s '0. Наприклад на рис. 2. зображено граф переходів
    для неко-торого НКА. Заключне стан обведено подвійний рам-кою.
     1a, b 0 v 1a 0 1s1 0
    1s2 0 ^ 1e 0
     1b 1e 0 v ===== 1s4 0?
    1s3 0 ===== 1 a 0 Рис. 2. Приклад графа переходів
    Для подальшого розгляду питання приведення недер-міновані кінцевого автомата
    до детермінованому, піт-ребуется вказати кілька теорем. Теореми
    наведені без доведення, для їх детального розгляду пропонується звернутися
    до [2]. _Теорема 1. . Всякий мову, що допускається недермінірованним кінцевим
    автоматом регуляро. _Теорема 2. . Нехай 2а 0 - регулярний вираз. Тоді най-
    дется НКА М = (S, I, 1б 0, 1s0 0, (1Sf 0)), що допускає мова, предс-тавленний
    2а 0, і що володіє такими властивостями: 1) S (/)}. Далі за допомогою індукції
    по 1w 0, можна довести, що (1 (s0), w) 0 м *''(S, 1e 0) тоді і
    тільки тоді, коли S = 1 (t (s0, w) 0 м * '1 (t, e)) 0. Отже L (M) =
    L (M ') = L (M''). Що й треба було довести. 4. Приклад перетворення НКА в ДКА
    На основі наведеного вище докази, розглянемо приклад для довільного
    НКА М (рис. 3). Наведемо його з недетермінірованного виду в детермінований
    аналог. 1b 1a 0
    1s2 0? 1a 0 v 1 0 ^ 1e 0
    ===== 1s1 0 1s4 0 ===== ^
        1e 0 1e 0 1s3 0
     Рис. 3. Приклад недетермінірованного автомата НКА М З початкового
    стану s1 можна досягти s3 і уклади-вування стан s4 по коліях,
    поміченим символом 1е 0. Пое-тому для обчислення рефлексивного і транзитивного
    замикання G 'орієнтованого графа G, про який йшла мова в доказів-будівництві
    теореми 3, треба додати ребро (s1, s4). Весь граф G 'зображений на рис. 4. За
    М і G 'побудуємо НКА М' (рис. 5). Так як у вузол s4 входять ребра з усіх уз-лов
    графа G ', то оголошує всі стани в М' заключітель-ними.
     v 1s1 0 1s2 0?
                     v v v
     1s3 0 1s4 0
    ^ Рис. 4. Граф G 'Так єдине ребро, що входить у вузол s3 в
    діаграмі для М, позначений символом 1 е 0, то s3 не входить в М '. 1b
     v ===== 1 a, b 0 ===== 1a 0 ===== 1s1 0
     1s2 0? 1s4 0 ===== ===== ===== ^
    1a Рис. 5. НКА М 'При побудові ДКА М''по автомату М' утворюється вісім станів.
    Але тільки чотирьох з них можна досягти з на-чільного стану, так що
    інші чотири можна вики-сить. Наведений до детермінованому увазі автомат
    М''при-наведено на рис. 6. Таким чином було показано можливість приведення
    НКА до ДКА. При такій операції оцінок станів мо-жет істотно
    збільшитися, деякі з них стають непотрібними. Сутність приведення полягає
    в тому, що ми шукаємо обхідні шляхи для досягнення кінцевого стану,
    прагнучи до того, щоб зникла неоднозначність переходу зі стану в стану
    в залежності від вхідного символу. Ця операція породжує несуттєві стану
    і тому, мабуть, в кожному з окремих випадків вирішувати завдання потрібно виходячи
    їх конкретних цілей. 1b 0 ======= 1 b 1 (s2, s4) 0
     ======= V 1a 0 1 (/) 0? =====
     1 (s1) 0 ^ ===== v 1a 0 ===== 1b 0 1 a, b 1 (s2) 0
     ===== ^ 1b Рис. 6. ДКА G''
    Для прикладу оцінки вартості перетворення НКА в ДКА розглянемо задачу розпізнавання
    образів, в якій дана це-нирка-текст x = a1 a2 ... an і регулярний вираз
    2а 0, на-зване чином. Ми хочемо знайти такий найменший індекс j,
    що для деякого i подцепочка ai ai +1 ... aj ланцюжка x належить мові, представленому
    виразом 2 а 0. Питання такого роду часто виникають при редагуванні
    текстів. Багато програм для редагування текстів вирішуються користувачеві
    задавати типи замін у ланцюжку-тексті. Наприклад користувач може сказати,
    що він хоче замінити слово y якимось іншим словом у шматку тексту х. Щоб
    ви-конати таку операцію, програма редагування тексту повинна зуміти знайти
    входження слова у в текст х. Деякі потужні редагуйте програми дозволяють
    користувачеві в ка-честве безлічі замінних ланцюжків вказувати регулярне
    безліч. Наприклад користувач може сказати: "Замінити [I *] в х порожній ланцюжком",
    маючи на увазі, що в х слід стерти пару квадратних дужок і символи між
    ними. Поставлену вище завдання можна переформулювати, заме-нив дане регулярне
    вираз 2а 0вираженіе 2b 0 = I * 2a 0, де I - алфавіт ланцюжка-тексту.
    Можна знайти перше входження це-нирки з L (2a 0) в х = а1 а2 ... аn, виявивши
    найкоротший пре-фікс ланцюжка х, що належить мові вирази 2b 0. Це завдання
    можна вирішити, побудувавши НКА М для розпізнавання множини, представленого
    виразом 2b 0, а потім визначити безліч станів у які може перейти
    НКА М при прочитанні це-нирки а1 а2 ... аn. Один зі способів моделювання поведінки
    НКА М на це-нирці-тексті х - перетворити М в детермінований кінцевий
    автомат, використовуючи теорему 3. Однак такий шлях виявиться досить дорогим,
    оскільки від регулярного висловлю-вання 2b 0можно перейти до НКА з 2 2b 0
    станами, а потім до ДКА з майже 2 в ступені 2 2b 0 станами. Таким чином
    вже сама побудова ДКА може викликати непереборні труднощі.
         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status