Некоторые вопросы о замыканиях, а не о конкретных языках! >: | - PullRequest
0 голосов
/ 27 января 2011

Я делаю домашнюю работу и с трудом разбираюсь в замыканиях. Это в основном относится к булевой алгебре, а не к какому-либо конкретному языку программирования.

Вот пример: Следующие наборы закрыты для следующих операций? Язык {a, b} в конкатенации.

Теперь из этого: http://en.wikipedia.org/wiki/Closure_%28mathematics%29, может показаться, что, поскольку конкатенация языка {a, b} может давать результаты, которые не являются членами исходного набора {a, b}, например ab, aa , bb и т. д. множество НЕ закрывается при операции объединения.

Я правильно смотрю на это? Я чувствую, что это определение легко неверно истолковать. Я чувствую, что это может означать, что если операция выдает результаты, которые МОЖЕТ быть создана данным языком, то при этой операции множество закрывается.

Кто-нибудь хочет нанести удар этому и помочь мне? :)

Спасибо!

1 Ответ

0 голосов
/ 27 января 2011

В вычислительной теории вы обычно различаете набор символов (букв, букв и т. Д.) И набор слов.Никогда не имеет смысла обсуждать, является ли набор символов закрытым для операции, вместо этого вы спрашиваете, является ли какой-то набор слов закрытым для операции.

В приведенном вами примере {a, b}набор символов;множество S всех слов в этом наборе символов замыкается на конкатенацию, так как конкатенация двух слов из S приводит к тому, что слово все еще находится в S.

...