Articulo de referencia

Lenguaje cíclico

En informática , más concretamente en la teoría del lenguaje formal , un lenguaje cíclico es un conjunto de cadenas que es cerrado con respecto a la repetición, la raíz y el des...

En informática , más concretamente en la teoría del lenguaje formal , un lenguaje cíclico es un conjunto de cadenas que es cerrado con respecto a la repetición, la raíz y el desplazamiento cíclico .

Definición

Si A es un conjunto de símbolos y A * es el conjunto de todas las cadenas construidas a partir de símbolos en A , entonces un conjunto de cadenas LA * se llama lenguaje formal sobre el alfabeto A . El lenguaje L se llama cíclico si

  1. wA * . ∀ n >0. wLw nL , y
  2. v , wA * . vwLwvL ,

donde w n denota la repetición n veces de la cadena w , y vw denota la concatenación de las cadenas v y w . [ 1 ] : Def.1

Ejemplos

Por ejemplo, usando el alfabeto A = { a , b }, el lenguaje

es cíclico, pero no regular . [ 1 ] : Exm.2 Sin embargo, L es libre de contexto , ya que M = { a n 1 b n 1 a n 2 b n 2 ... a n k b n k  : n i ≥ 0 } lo es, y los lenguajes libres de contexto son cerrados bajo desplazamiento circular ; L se obtiene como desplazamiento circular de M.

Referencias

  1. 1 2 Marie-Pierre Béal y Olivier Carton y Christophe Reutenauer (1996). "Lenguajes cíclicos y lenguajes fuertemente cíclicos" . Actas del Simposio sobre Aspectos Teóricos de la Informática . Lecture Notes in Computer Science . Vol.  1046. Springer. págs. 49–59 .