stringtranslate.com

Palabra parcial

En informática y en el estudio de la combinatoria de palabras , una palabra parcial es una cadena que puede contener una serie de símbolos de "no sé" o "no me importa", es decir, marcadores de posición en la cadena donde el valor del símbolo no se conoce o no se especifica. Más formalmente, una palabra parcial es una función parcial donde es un alfabeto finito. Si u ( k ) no está definido para algún , entonces el elemento desconocido en el lugar k en la cadena se llama "agujero". En expresiones regulares (siguiendo el estándar POSIX ) un agujero se representa con el metacarácter ".". Por ejemplo, aab.ab.b es una palabra parcial de longitud 8 sobre el alfabeto A ={ a , b } en el que el cuarto y séptimo caracteres son agujeros. [1]

Algoritmos

Se han desarrollado varios algoritmos para el problema de "coincidencia de cadenas con indiferencia", en el que la entrada es un texto largo y una palabra parcial más corta y el objetivo es encontrar todas las cadenas en el texto que coincidan con la palabra parcial dada. [2] [3] [4]

Aplicaciones

Un gráfico de compatibilidad de palabras parciales

Se dice que dos palabras parciales son compatibles cuando tienen la misma longitud y cuando cada posición que no es un comodín en ambas tiene el mismo carácter en ambas. Si se forma un grafo no dirigido con un vértice para cada palabra parcial en una colección de palabras parciales, y una arista para cada par compatible, entonces las camarillas de este grafo provienen de conjuntos de palabras parciales que coinciden todas con al menos una cadena común. Esta interpretación grafo-teórica de la compatibilidad de palabras parciales juega un papel clave en la prueba de la dificultad de aproximación del problema de la camarilla , en el que una colección de palabras parciales que representan ejecuciones exitosas de un verificador de prueba probabilísticamente comprobable tiene una camarilla grande si y solo si existe una prueba válida de un problema NP-completo subyacente . [5]

Las caras (subcubos) de un hipercubo de dimensión 1 pueden describirse mediante palabras parciales de longitud sobre un alfabeto binario, cuyos símbolos son las coordenadas cartesianas de los vértices del hipercubo (por ejemplo, 0 o 1 para un cubo unitario ). La dimensión de un subcubo, en esta representación, es igual al número de símbolos de indiferencia que contiene. La misma representación también puede utilizarse para describir los implicantes de funciones booleanas . [6]

Conceptos relacionados

Las palabras parciales pueden generalizarse a palabras de parámetro , en las que algunos de los símbolos "no sé" se marcan como iguales entre sí. Una palabra parcial es un caso especial de una palabra de parámetro en la que cada símbolo "no sé" puede sustituirse por un carácter independientemente de todos los demás. [7]

Referencias

  1. ^ Blanchet-Sadri, Francine (2008), Combinatoria algorítmica en palabras parciales , Matemáticas discretas y sus aplicaciones, Boca Raton, Florida: Chapman & Hall/CRC, ISBN 978-1-4200-6092-8, Sr.  2384993
  2. ^ Pinter, Ron Y. (1985), "Efficient string matching with don't-care patterns", Combinatorial algorithms on words (Maratea, 1984) , NATO Adv. Sci. Inst. Ser. F Comput. Systems Sci., vol. 12, Springer, Berlín, págs. 11-29, MR  0815329
  3. ^ Manber, Udi ; Baeza-Yates, Ricardo (1991), "Un algoritmo para la comparación de cadenas con una secuencia de no importa", Information Processing Letters , 37 (3): 133–136, doi :10.1016/0020-0190(91)90032-D, MR  1095695
  4. ^ Kalai, Adam (2002), "Coincidencia de patrones eficiente con no importa", en Eppstein, David (ed.), Actas del decimotercer simposio anual ACM-SIAM sobre algoritmos discretos, 6-8 de enero de 2002, San Francisco, CA, EE. UU. , ACM y SIAM, págs. 655-656
  5. ^ Feige, U. ; Goldwasser, S. ; Lovász, L. ; Safra, S ; Szegedy, M. (1991), "La aproximación de clique es casi NP-completa", Proc. 32nd IEEE Symp. on Foundations of Computer Science , págs. 2–12, doi :10.1109/SFCS.1991.185341, ISBN 0-8186-2445-0, Número de identificación del sujeto  46605913
  6. ^ Karnaugh, Maurice (1953), "El método de mapas para la síntesis de circuitos lógicos combinacionales", Transactions of the American Institute of Electrical Engineers, Parte I: Comunicación y electrónica , 1953 (5): 593–599, doi :10.1109/TCE.1953.6371932, MR  0069032, S2CID  51636736
  7. ^ Prömel, Hans Jürgen (2002), "Números grandes, notación de flecha de Knuth y teoría de Ramsey", Synthese , 133 (1–2): 87–105, doi :10.1023/A:1020879709125, JSTOR  20117296, MR  1950045, S2CID  18330949