En el estudio matemático de la combinatoria de palabras , una palabra de parámetro es una cadena sobre un alfabeto dado que tiene una cierta cantidad de caracteres comodín . [1] El conjunto de cadenas que coinciden con una palabra de parámetro dada se denomina conjunto de parámetros o cubo combinatorio . Las palabras de parámetro se pueden componer para producir subcubos más pequeños de un cubo combinatorio dado. Tienen aplicaciones en la teoría de Ramsey y en la informática en la detección de código duplicado .
Formalmente, una palabra con -parámetros de longitud , sobre un alfabeto dado , es una secuencia de caracteres, algunos de los cuales pueden extraerse de y los otros son caracteres comodín distintos . Cada carácter comodín debe aparecer al menos una vez, pero puede aparecer varias veces, y los caracteres comodín deben aparecer en el orden dado por sus índices: el primer carácter comodín en la palabra debe ser , el siguiente que sea diferente de debe ser , etc. Como caso especial, una palabra sobre el alfabeto dado, sin ningún carácter comodín, se dice que es una palabra de 0 parámetros. Para palabras de 1 parámetro, los subíndices pueden omitirse, ya que no hay ambigüedad entre los diferentes caracteres comodín. El conjunto de todas las palabras con -parámetros sobre , de longitud , se denota . [1]
Una palabra con un parámetro representa un conjunto de cadenas (palabras con 0 parámetros) que se obtienen sustituyendo un símbolo de por cada carácter comodín. Este conjunto de cadenas se denomina conjunto de parámetros de cubo combinatorio y se denomina dimensión. Un cubo combinatorio unidimensional puede denominarse línea combinatoria . [1]
En un cubo combinatorio, cada copia de un carácter comodín particular debe tener el mismo reemplazo. Una generalización de palabras de parámetro permite que diferentes copias del mismo carácter comodín sean reemplazadas por diferentes caracteres del alfabeto, de una manera controlada. Si es un alfabeto y es un grupo con una acción en , entonces una palabra de parámetro etiquetada es una palabra de parámetro junto con una asignación de un elemento de grupo a cada carácter comodín en la palabra. La primera aparición de cada carácter comodín debe tener asignado el elemento de identidad del grupo. Luego, las cadenas representadas por una palabra de parámetro etiquetada se obtienen eligiendo un carácter de para cada carácter comodín y sustituyendo el resultado de combinar ese carácter con el elemento de grupo que etiqueta cada copia de ese carácter. El conjunto de todas las palabras de parámetro etiquetadas sobre , de longitud , se denota . [1]
En el juego de tres en raya , las celdas del tablero de juego pueden recibir dos coordenadas enteras del alfabeto . La concatenación de estas dos coordenadas produce una cadena que representa cada celda, una de las nueve cadenas o . Hay siete palabras de un parámetro de longitud dos en este alfabeto, las palabras y . Las líneas combinatorias correspondientes forman siete de las ocho líneas de tres celdas en una fila del tablero de tres en raya; por ejemplo, la palabra de un parámetro corresponde a la línea combinatoria , y la palabra de un parámetro corresponde a la línea combinatoria . [2]
Sin embargo, en este conjunto de líneas combinatorias falta una de las ocho líneas ganadoras del juego del tres en raya: la línea antidiagonal . Es posible obtener esta línea como una línea combinatoria (sin incluir ninguna otra combinación de celdas que no sería válida para el tres en raya) utilizando un grupo con dos elementos y una acción en la que el elemento no identidad intercambia las letras del alfabeto y mientras deja el elemento en su lugar. Hay ocho palabras etiquetadas de un parámetro de longitud dos para esta acción, siete de las cuales se obtienen a partir de las palabras de un parámetro sin etiquetar utilizando la etiqueta de identidad para todos los comodines. Estas siete tienen las mismas líneas combinatorias que antes. La octava palabra etiquetada consiste en la palabra etiquetada por el elemento identidad para su primera y el elemento no identidad inverso para el segundo ; su línea combinatoria es la línea ganadora final del tablero del tres en raya, . [2]
Para tres parámetros enteros dados , es posible combinar dos palabras de parámetro, y , para producir otra palabra de parámetro . Para ello, simplemente reemplace cada copia del símbolo comodín n por el carácter n en . Esto producirá necesariamente una palabra de longitud que utiliza cada uno de los símbolos comodín en al menos una vez, en orden ascendente, por lo que produce una palabra de parámetro válida de longitud . Esta noción de composición también se puede extender a la composición de palabras de parámetro etiquetadas (ambas utilizando el mismo alfabeto y acción de grupo), aplicando la acción de grupo a los caracteres no sustituidos por comodines y componiendo las etiquetas de grupo para los caracteres sustituidos por comodines. Un subconjunto de un cubo combinatorio es un cubo combinatorio más pequeño si se puede obtener mediante una composición de esta manera. [1]
El número de palabras de parámetro en para un alfabeto de tamaño es un número de Stirling de segundo tipo . Estos números cuentan el número de particiones de los enteros en el rango en subconjuntos no vacíos de modo que los primeros enteros pertenecen a subconjuntos distintos. Las particiones de este tipo se pueden colocar en una equivalencia biyectiva con las palabras de parámetro, creando una palabra con un carácter para cada uno de los enteros en el rango , estableciendo este valor de carácter para que sea un entero en que pertenezca al mismo subconjunto de la partición, o un carácter comodín para cada subconjunto de la partición que no contenga un entero en . Los números de Stirling obedecen a una relación de recurrencia simple por la que se pueden calcular fácilmente. [3] [4]
En la teoría de Ramsey , las palabras paramétricas y los cubos combinatorios pueden usarse para formular el teorema de Graham-Rothschild , según el cual, para cada alfabeto finito y acción de grupo, y cada combinación de valores enteros , , y , existe un número suficientemente grande tal que si a cada cubo combinatorio -dimensional sobre cadenas de longitud se le asigna uno de colores, entonces existe un cubo combinatorio -dimensional cuyos subcubos -dimensionales tienen todos el mismo color. Este resultado es una base clave para la teoría estructural de Ramsey , y se usa para definir el número de Graham , un número enorme usado para estimar el valor de para una cierta combinación de valores. [1]
En informática , en el problema de búsqueda de código duplicado , el código fuente de una rutina o módulo determinado puede transformarse en una palabra de parámetro convirtiéndolo en una secuencia de tokens y, para cada nombre de variable o subrutina, reemplazando cada copia del mismo nombre con el mismo carácter comodín. Si el código está duplicado, las palabras de parámetro resultantes seguirán siendo iguales incluso si se han cambiado el nombre de algunas de las variables o subrutinas. Los algoritmos de búsqueda más sofisticados pueden encontrar largas secciones de código duplicado que forman subcadenas de repositorios de código fuente más grandes, al permitir que los caracteres comodín se sustituyan entre sí. [5]
Un caso especial importante de palabras paramétricas, bien estudiado en la combinatoria de palabras, lo constituyen las palabras parciales . Se trata de cadenas con caracteres comodín que pueden sustituirse independientemente entre sí, sin necesidad de que algunos de los caracteres sustituidos sean iguales o estén controlados por una acción de grupo. En el lenguaje de las palabras paramétricas, una palabra parcial puede describirse como una palabra paramétrica en la que cada símbolo comodín aparece exactamente una vez. Sin embargo, como no hay repetición de símbolos comodín, las palabras parciales pueden escribirse de forma más sencilla omitiendo los subíndices de los símbolos comodín. [6]