Правильные скобочные последовательности

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Gvsmirnov (обсуждение | вклад) в 17:24, 10 декабря 2008. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Пра́вильная ско́бочная после́довательность(ПСП) - частный случай скобочной последовательности. Формально определяется следующим образом:

  • "" (пустая строка) - ПСП
  • ПСП, взятая в скобки одного типа - ПСП
  • ПСП, к которой приписана слева или справа ПСП - тоже ПСП

Подсчёт количества правильных скобочных последовательностей

Первым, что должно заинтересовать читателя, является число возможных способов составить правильные скобочные последовательности из скобок ( открывающих и закрывающих). Для определения этого количества для скобочных последовательностей с одним типом скобок существует несколько формул. Широко распространены следующие две:

и для

Помимо уже приведённых есть ещё одна формула, определённая ниже:

Для получения достаточно вычислить .

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

Генерация правильных скобочных последовательностей

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

Получение следующей правильной скобочной последовательности