Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В информатике , а точнее в теории автоматов и формального языка , вложенные слова - это концепция, предложенная Алуром и Мадхусуданом как совместное обобщение слов , которые традиционно используются для моделирования линейно упорядоченных структур, и упорядоченных деревьев без ранжирования , которые традиционно используются для моделирования. иерархические структуры. Приемники конечных состояний для вложенных слов, так называемые автоматы вложенных слов , затем дают более выразительное обобщение конечных автоматов на словах. Линейные кодировки языков, принимаемые конечными автоматами с вложенными словами, дают классявно выталкивающие языки . Последний языковой класс должным образом находится между обычными языками и детерминированными контекстно-свободными языками . С момента своего появления в 2004 году эти концепции вызвали множество исследований в этой области. [1]

Формальное определение [ править ]

Чтобы определить вложенные слова , сначала определите отношения соответствия . Для неотрицательного целого числа обозначение обозначает набор с особым случаем .

Соотношение совпадения ↝ длины является подмножеством таким образом, что:

  1. все ребра вложения направлены вперед, то есть если i  ↝  j, то i  <  j ;
  2. ребра вложенности никогда не имеют общего конечного положения, то есть для −∞ <  i  <∞ существует не более одной позиции h, такой что h  ↝  i , и не более одной позиции j, такой что ij ; и
  3. ребра вложенности никогда не пересекаются, то есть не существует таких i  <  i  ′ ≤  j  <  j  ′ , что i  ↝  j и i  ′ ↝  j  ′ .

Позиция i называется

  • положение вызова , если яJ для некоторого J ,
  • в ожидании вызова , если я ↝ ∞,
  • позиция возврата , если чя в течение некоторого ч ,
  • в ожидании возвращения , если -∞ ↝ я , и
  • внутреннее положение во всех остальных случаях.

Вложенное слово длины над алфавитом Е является парой ( ш , ↝), где W представляет собой слово или строка , длины над Е и ↝ комбинационного отношение длиной .

Кодирование вложенных слов в обычные слова [ править ]

Вложенные слова по алфавиту могут быть закодированы в "обычные" слова по тегированному алфавиту , в котором каждый символ a из Σ имеет три тегированных аналога: символ ⟨a для кодирования позиции вызова во вложенном слове, помеченном a , символ a ⟩ Для кодирования позиции возврата, помеченной a , и, наконец, самого символа a для представления внутренней позиции, помеченной a . Точнее, пусть φ - функция, отображающая вложенные слова над Σ в слова над такими, что каждое вложенное слово ( , ↝) отображается в слово , где буква равна ⟨A , a и a⟩ , if и i - это (возможно, ожидающая) позиция вызова, внутренняя позиция и (возможно, ожидающая) позиция возврата, соответственно.

Пример [ править ]

Для иллюстрации пусть n = ( w , ↝) будет вложенным словом над тернарным алфавитом с w = abaabccca и отношением соответствия ↝ = {(−∞, 1), (2, ∞), (3,4), (5 , 7), (8, ∞) }. Тогда его кодирование как слово читается как ф ( п ) = а ⟩⟨ баа ⟩⟨ ОЦК ⟩⟨ ча .

Автоматы [ править ]

Вложенный словарный автомат [ править ]

Вложенное слово автомат имеет конечное число состояний, и работает почти так же, как детерминированный конечный автомат на классических строках: классический конечный автомат считывает входное слово слева направо, и состояние автомата после прочтения J Буква зависит от того, в каком состоянии находился автомат перед чтением .

В автомате с вложенными словами позиция во вложенном слове (w, ↝) может быть позицией возврата; в таком случае состояние после чтения будет зависеть не только от линейного состояния, в котором автомат находился до чтения , но и от иерархического состояния, распространяемого автоматом в то время, когда он находился в соответствующей позиции вызова. По аналогии с регулярными языками слов, множество L вложенных слов называется регулярным, если оно принимается некоторым (конечным) автоматом вложенных слов.

Заметно выталкивающий автомат [ править ]

Автоматы с вложенными словами - это модель автомата, принимающая вложенные слова. Существует эквивалентная модель автомата, работающая на (обычных) словах. А именно, понятие детерминированного автомата с видимым выталкиванием является ограничением понятия детерминированного автомата выталкивания вниз .

Следуя Алуру и Мадхусудану [2], детерминированный автомат с видимым выталкиванием формально определяется как набор из 6, где

  • конечный набор состояний ,
  • является входной алфавит , который - в отличие от обычного , что магазинной автоматов - разделяется на три группы , и . Алфавит обозначает набор символов вызова , содержит символы возврата , а набор содержит внутренние символы ,
  • - конечное множество, называемое стековым алфавитом , содержащее специальный символ, обозначающий пустой стек,
  • - это функция перехода , которая разделена на три части, соответствующие переходам вызовов, переходам возврата и внутренним переходам, а именно
    • , функция перехода вызова
    • , функция возврата возврата
    • , внутренняя переходная функция ,
  • - начальное состояние , а
  • - это набор принимающих состояний .

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

В результате автомат с явным выталкиванием вниз не может нажимать и выталкивать из стека с одним и тем же входным символом. Таким образом, язык не может быть принят автоматом явно выталкивающего вниз для любого раздела , однако есть автоматы выталкивания, принимающие этот язык.

Если язык с помеченным алфавитом принимается детерминированным автоматом с видимым выталкиванием, то он называется языком с явным выталкиванием .

Недетерминированные явно выдвигающиеся автоматы [ править ]

Недетерминированные автоматы с видимым выталкиванием столь же выразительны, как и детерминированные. Следовательно, можно преобразовать недетерминированный автомат с видимым выталкиванием вниз в детерминированный, но если недетерминированный автомат имел состояния, то детерминированный автомат может иметь до состояний. [3]

Проблемы с решением [ править ]

Пусть - размер описания автомата , тогда можно проверить, принято ли слово n автоматом во времени . В частности, во времени разрешима проблема пустоты . Если фиксировано, оно разрешимо во времени и пространстве, где - глубина n в потоковом видении. Оно также разрешимо с помощью пространства и времени , а также с помощью однородной логической схемы глубины . [2]

Для двух недетерминированных автоматов A и B решение о том, является ли набор слов, принимаемых A, подмножеством слова, принятого B, является EXPTIME- полным. Это также EXPTIME-complete, чтобы выяснить, есть ли слово, которое не принято. [2]

Языки [ править ]

Как показывает определение автоматов с видимым выталкиванием, детерминированные автоматы с видимым выталкиванием можно рассматривать как частный случай детерминированных автоматов с выталкиванием вниз ; Таким образом , множество VPL из явно Pushdown языков над образует подмножество множества DCFL из детерминированных контекстно-свободных языков над набором символов . В частности, функция, которая удаляет отношение соответствия из вложенных слов, преобразует обычные языки вместо вложенных слов в контекстно-свободные языки.

Свойства закрытия [ править ]

Набор языков с явным выталкиванием закрывается при следующих операциях: [3]

  • установить операции:
    • союз
    • пересечение
    • дополнение
таким образом порождая булеву алгебру .
  • Клини звезда
  • конкатенация

Для операции пересечения можно построить VPA M, моделирующую два заданных VPA, и с помощью простой конструкции произведения ( Alur & Madhusudan 2004 ): For , предположить , задано как . Тогда для автомата M набор состояний равен , начальное состояние , набор конечных состояний , алфавит стека равен , а начальный символ стека равен .

Если находится в состоянии при чтении символа вызова , затем выталкивает символ стека и переходит в состояние , где символ стека перемещается при переходе из состояния в состояние при чтении ввода .

Если находится в состоянии на чтение внутреннего символа , а затем переходит в состояние , когда переходы из состояния в на чтение .

Если находится в состоянии при чтении символа возврата , то выталкивает символ из стека и переходит в состояние , где символ стека появляется при переходе из состояния в состояние при чтении .

Корректность выше конструкции принципиально опирается на тот факт , что толчок и попы действия имитирующих машин и синхронизированы по входным символам для чтения. Фактически, подобная симуляция больше не возможна для детерминированных автоматов выталкивания , поскольку более широкий класс детерминированных контекстно-свободных языков больше не замкнут при пересечении.

В отличие от конструкции конкатенации, показанной выше, конструкция дополнения для явно выталкивающих автоматов параллельна стандартной конструкции [4] для детерминированных автоматов выталкивания.

Более того, как и класс контекстно-свободных языков, класс языков с явным выталкиванием закрывается при закрытии и обращении префикса , следовательно, также при закрытии суффикса.

Отношение к другим языковым классам [ править ]

Алур и Мадхусудан (2004) указывают, что явно вытесняемые языки являются более общими, чем языки скобок, предложенные Макнотоном (1967) . Как показали Crespi Reghizzi & Mandrioli (2012) , явно выталкиваемые языки, в свою очередь, строго содержатся в классе языков, описываемых грамматиками приоритета операторов , которые были введены Флойдом (1963) и обладают теми же свойствами и характеристиками замыкания (см. Lonati et al. (2015) для ω языков и характеризаций на основе логики и автоматов). По сравнению с конъюнктивными грамматиками , обобщением контекстно-свободных грамматик, Охотин (2011)показывает, что линейные конъюнктивные языки образуют суперкласс явно вытесняемых языков. Таблица в конце этой статьи помещает семейство явно вытесняемых языков по отношению к другим языковым семьям в иерархии Хомского . Раджив Алур и Партасарати Мадхусудан [5] [6] связали подкласс регулярных языков двоичных деревьев с языками, явно вытесняющими их вниз.

Другие модели описания [ править ]

Визуально разворачиваемый грамматик [ править ]

Языки с явным расширением вниз - это именно те языки, которые можно описать с помощью грамматик с явным раскрытием . [2]

Заметно выталкивающие грамматики можно определить как ограничение контекстно-свободных грамматик . Грамматика G с видимым выталкиванием определяется четырьмя кортежами :

куда

  • и - непересекающиеся конечные множества; каждый элемент называется нетерминальным символом или переменной . Каждая переменная представляет отдельный тип фразы или предложения в предложении. Каждая переменная определяет подъязык языка, определенного с помощью , а подъязыки - это тот, на котором нет ожидающих вызовов или ожидающих возвратов.
  • конечный набор терминалов s, не пересекающихся с , которые составляют фактическое содержание предложения. Набор терминалов - это алфавит языка, определенный грамматикой .
  • конечное отношение от к такому, что . Члены называются правилами (перезаписи) или продукцией грамматики. Есть три типа правил перезаписи. Ибо , и
    • а если тогда и
    • а если тогда
  • - это начальная переменная (или начальный символ ), используемая для представления всего предложения (или программы).

Здесь звездочка представляет операцию звезды Клини и является пустым словом.

Однородные логические схемы [ править ]

Проблема, принимается ли слово длины данным автоматом вложенных слов, может быть решена с помощью унифицированных логических схем глубины . [2]

Логическое описание [ править ]

Регулярные языки над вложенными словами - это в точности набор языков, описываемых монадической логикой второго порядка с двумя унарными предикатами, вызовом и возвратом , линейным преемником и отношением соответствия ↝. [2]

См. Также [ править ]

  • Проверка модели

Заметки [ править ]

  1. ^ Результаты поиска в Академии Google по запросу "вложенные слова" ИЛИ "явно выдвигающийся вниз"
  2. ^ Б с д е е Alur & Мадхусудан (2009)
  3. ^ а б Алур и Мадхусудан (2004)
  4. Перейти ↑ Hopcroft & Ullman (1979 , p. 238 f).
  5. ^ Alur, R .; Мадхусудан, П. (2004). «Языки с явным раскрытием» (PDF) . Материалы тридцать шестого ежегодного симпозиума ACM по теории вычислений - STOC '04 . С. 202–211. DOI : 10.1145 / 1007352.1007390 . ISBN 978-1581138528. Раздел 4, теорема 5,
  6. ^ Alur, R .; Мадхусудан, П. (2009). «Добавление структуры вложенности к словам» (PDF) . Журнал ACM . 56 (3): 1–43. CiteSeerX 10.1.1.145.9971 . DOI : 10.1145 / 1516512.1516518 .   Раздел 7

Ссылки [ править ]

  • Флойд, RW (июль 1963 г.). «Синтаксический анализ и приоритет операторов». Журнал ACM . 10 (3): 316–333. DOI : 10.1145 / 321172.321179 .
  • Макнотон Р. (1967). "Скобки грамматики". Журнал ACM . 14 (3): 490–500. DOI : 10.1145 / 321406.321411 .
  • Alur, R .; Арены, М .; Barcelo, P .; Этессами, К .; Иммерман, Н .; Либкин, Л. (2008). Грэдель, Эрих (ред.). «Первого порядка и временная логика для вложенных слов». Логические методы в информатике . 4 (4). arXiv : 0811.0537 . DOI : 10.2168 / LMCS-4 (4:11) 2008 .
  • Креспи Регицци, Стефано; Мандриоли, Дино (2012). «Приоритет оператора и свойство видимого раскрытия» (PDF) . Журнал компьютерных и системных наук . 78 (6): 1837–1867. DOI : 10.1016 / j.jcss.2011.12.006 . Архивировано из оригинального (PDF) 09.08.2017 . Проверено 11 февраля 2014 .
  • Лонати, Виолетта; Мандриоли, Дино; Панелла, Федерика; Праделла, Маттео (2015). "Языки приоритета операторов: их автоматно-теоретическая и логическая характеризация". SIAM Journal on Computing . 44 (4): 1026–1088. DOI : 10.1137 / 140978818 . hdl : 2434/352809 .
  • Охотин, Александр: Сравнение линейных конъюнктивных языков с подсемействами контекстно-свободных языков , 37-я Международная конференция «Современные тенденции в теории и практике информатики» (SOFSEM 2011).
  • Хопкрофт, Джон Э .; Ульман, Джеффри Д. (1979). Введение в теорию автоматов, языки и вычисления . Эддисон-Уэсли. ISBN 978-0-201-02988-8.

Внешние ссылки [ править ]

  • Вложенные слова и языки с явным раскрытием текста
  • Заметно выталкивающие автоматы - Автоматы по вложенным словам
  • класс VPL в Зоопарке Сложности