Определение количества состояний в DFA

Для Σ = {a,b,c,d,e,...,z} рассмотрим множество L слов w таких, что последний символ w не встречался ранее. Например, слова «яблоко», «гугл», «к» и «ε» находятся в L, а слова «картофель» и «питание» — нет в L. Предположим, мы хотим построить DFA для этого языка. Сколько состояний у него будет (минимум)? Кратко опишите DFA: не пытайтесь нарисовать его, но объясните его формальное определение (например, состояния и переходы), используя подходящую математическую запись.

Мне не нужно полное определение, просто начнем с того, сколько состояний оно будет иметь и почему. Оттуда я уверен, что могу понять это.


person Murphy4    schedule 25.01.2014    source источник
comment
Добро пожаловать в СО. Это домашнее задание?   -  person i3arnon    schedule 25.01.2014


Ответы (1)


Некоторые подсказки:

  • Вам понадобится одно состояние для каждого возможного подмножества, чтобы вы могли отслеживать, какие символы вы уже видели.

  • Для каждого подмножества вам понадобится другое состояние для представления «этот набор символов, где последний прочитанный символ оказался в наборе».

Я оставлю остальные детали вам, и вам придется подумать о том, как официально доказать, что это правильно.

Надеюсь это поможет!

person templatetypedef    schedule 25.01.2014