SciELO - Scientific Electronic Library Online

 
vol.25 número3Modelling and Verification Analysis of Cooperative and Non-Cooperative Games via a Modal Logic ApproachMaster-Slave Synchronization for Trajectory Tracking Error Using Fractional Order Time-Delay Recurrent Neural Networks via Krasovskii-Lur’e Functional for Chua’s Circuit índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Computación y Sistemas

versão On-line ISSN 2007-9737versão impressa ISSN 1405-5546

Comp. y Sist. vol.25 no.3 Ciudad de México Jul./Set. 2021  Epub 13-Dez-2021

https://doi.org/10.13053/cys-25-3-4023 

Articles

Problema de membresía con matriz de adyacencia

Membership Problem with Adjacency Matrix

Yolanda Moyao Martínez1 

José de Jesús Lavalle Martínez1 

Carlos Guillén Galbán1 

Darnes Vilariño Ayala1  * 

1Benemérita Universidad Autónoma de Puebla, Facultad de Ciencias de la Computación, México, ymoyao@cs.buap.mx, dvilarino@cs.buap.mx


Resumen:

En este artículo se propone un algoritmo, para resolver el problema de membresía en Gramáticas de Reemplazo de Hiperaristas (HRG). Given a hypergraph H with labeled nodes and hyperedges, dirigidas y enraizadas, el problema consiste en determinar si HL(G), donde GHRG, es decir si H está en el lenguaje generado por G, para esto el análisis se lleva a cabo directamente en la Matriz de Adyacencias del hipergrafo H. Además, para el algoritmo propuesto se presenta la demostración de que es correcto.

Palabras clave: Problema de membresía; hipergrafo; matriz de adyacencias

Resumen:

In this article, proposed a algorithm to solve the membership problem in Hyperedge Replacement Grammars (HRG). Given a hypergraph H with labeled nodes rooted and directed hyperedges, the problem consists in determining if HL(G), where G is in HRG, this is to say, if H is in the language generated by G, for this the analysis is done directly in the Adjacency Matrix of the hypergraph H. For the algorithm proposed, also presents the proof of its correctness.

Palabras clave: Membership problem; hypergraph; adjacency matrix

1. Introducción

En este artículo se presenta un algoritmo Analizador que soluciona el problema de membresía en Gramáticas de Reemplazo de Hiperaristas (HRG), por sus siglas en inglés, es decir, a través de las reglas de producción reconoce el hipergrafo de entrada H.

Las gramáticas de hipergrafos se han desarrollado como una extensión del concepto formal de Gramáticas Libres de Contexto, donde el concepto de reescritura de símbolos por cadenas se generaliza a reemplazo de hiperaristas por hipergrafos, a pesar de que en el caso de cadenas el reemplazo de una cadena por otra suele ser un proceso sencillo, no es así para el caso de hipergrafos, pues tratándose de este esquema se requiere encontrar una ocurrencia de un hipergrafo para ser reemplazado por otro hipergrafo [13].

Las HRG son un formalismo para la generación de lenguajes de hipergrafos, las HRG son utilizadas en diferentes áreas, tales como comprension y generacion de lenguaje natural, traducción automática basada en semántica, así como en teoría de juegos, bases de datos, inteligencia artificial, entre otras [15, 16, 17, 7].

Es bien sabido que el problema de membresía para HRG en general es intratable [1, 12] sin embargo, se han presentado algunos resultados para resolver el problema de membresía. En [13] se presenta una versión extendida ”Top-Down” para HRG del algoritmo CKY de gramáticas libres de contexto para cadenas sobre hipergrafos de grado acotado, los cuales permiten ejecutar el algoritmo analizador en un tiempo polinomial.

Por otro lado [3] presenta un algoritmo para un analizador ”Bottom-Up” en HRG representado a través de un sistema deductivo. El algoritmo se basa en una buena descomposición hiperarbórea que cumple ciertas restricciones, tales como, ancho y grado del hipergrafo acotado.

También presenta un esquema de optimización que junto con las restricciones antes mencionadas permiten ejecutar el algoritmo analizador en un tiempo polinomial.

El algoritmo que presenta [15] solamente emplea gramáticas de grafos [5] para representar algunos aspectos del significado de una oración en inglés. Del mismo modo el algoritmo que presenta [8], dado que esta diseñado para Gramáticas de Grafos Regulares [4], las cuales son una subfamilia de los Lenguajes de Reemplazo de Hiperaristas (HRL), por sus siglas en inglés.

El Analizador que aquí se propone resuelve el problema de membresía en HRG, para ello realiza el proceso de análisis sobre una representación matricial de H, en partícular sobre la matriz de adyacencias. De tal forma que se define un nuevo tipo de Matriz de Adyacencias (MA), como una herramienta más para el análisis en hipergrafos.

En el Analizador no se utiliza la definición de MA para grafos, es por ello, que se ha propuesto una definición para la construcción de la MA, correspondiente al hipergrafo de entrada H. Cada fila de la MA se forma con conjuntos, los cuales representan las etiquetas de las hiperaristas de cada vértice del hipergrafo H.

El Analizador tiene una complejidad polinomial de orden O(l5), donde l es el número de vértices del hipergrafo de entrada H

Las contribuciones que se presentan en este artículo son: el diseño del Analizador, cuya complejidad es polinomial y que lleva a cabo el análisis sobre la MA del hipergrafo de entrada H, para resolver el problema de membresía en HRG. Así como la definición de la MA del hipergrafo de entrada y la demostración de que el Analizador es correcto.

El artículo se encuentra organizado de la siguiente manera, en la sección 2 se abordan algunos conceptos relacionados con las HRG, tales como, mecanismo de reemplazo de hiperaristas por hipergrafos, la relación de derivación y su cerradura reflexiva y transitiva de la relación de derivación. También se describe el lenguaje de hipergrafos.

En la sección 3 se presenta el Analizador que resuelve el problema de membresía en HRG, así como el desarrollo de un ejemplo que muestra el funcionamiento del Analizador, también se presenta la demostración de que el Analizador es correcto y el análisis de la complejidad del Analizador. Finalmente en la sección 4 se presentan los principales resultados obtenidos, así como las aportaciones obtenidas de este artículo.

2. Hipergrafos y Gramáticas de Reemplazo de Hiperaristas

Un hipergrafo es una generalización de un grafo, donde cada hiperarista e [15] puede relacionar cualquier subconjunto de vértices denominados vértices adjuntos, incluyendo al conjunto vacío. Un hipergrafo se forma de un conjunto de vértices junto con un número variado de hiperaristas dirigidas. [11, 18, 6].

Definición 1 Un hipergrafo con hiperaristas etiquetadas y dirigidas es una terna H = (V , E, lab), donde V es un conjunto de vértices, cada eE es un par (Re, De), tal que ReV es el origen de e y DeV \ Re es el destino, C es un conjunto numerable de etiquetas y lab es una funcion de E en C.

Definición 2 Un hipergrafo con hiperaristas etiquetadas y dirigidas H = (V , E, lab) es enraizado si:

  • H es acíclico.

  • V = {vR}N, {vR} ∩ N = ∅, vR es un vértice distinguido que se le llama nodo raíz del hipergrafo H. N es el conjunto de vértices que no son raíz.

Cuando hablemos de hipergrafo, entiéndase que es un hipergrafo enraizado con hiperaristas etiquetadas y dirigidas.

Definición 3 [9] Sea H = (V , E, lab) un hipergrafo, sea V un conjunto de vértices y a, bV . Entonces a es un vértice adyacente a b si existe una hiperarista eE tal que aRe y bDe.

2.1. Reemplazo de Hiperaristas por Hipergrafos

En esta sección, se presentan las definiciones del proceso de derivación de hipergrafos y reemplazo de una hiperarista por un hipergrafo, elementos necesarios para abordar el concepto de la HRG, el cual es fundamental en el diseño del Analizador.

Los vértices externos se definen como una lista ordenada de vértices distintos extV*. El vértice raíz se define como un vértice designado como la raíz del hipergrafo y cada hiperarista es dirigida desde esta raíz, ambos elementos especifican cómo reemplazar una hiperarista por un hipergrafo.

Las HRG permiten manipular hipergrafos mediante la sustitucion de hiperaristas. Una hiperarista eH es reemplazada por un hipergrafo H′, a través del vértice raíz y los vértices externos, inicialmente la arista e es removida y los vértices externos de H son mapeados con los vértices adjuntos de e, es decir el i-ésimo y j-ésimo vértice externo de la hiperarista e es mapeado con el i-ésimo y j-ésimo vértice adjunto en el hipergrafo H′.

Definición 4 [18] Sean C la clase de todos los hipergrafos sobre el conjunto de etiquetas C. Sean HC un hipergrafo y BE(H) un conjunto de hiperaristas a ser reemplazadas. Sea repl:BC una función que realiza la operación de reemplazo de la siguiente manera.

El reemplazo de B en H hecho por repl produce el hipergrafo H[repl] que se obtiene al quitar B de EH, agregando disjuntamente los vértices e hiperaristas de repl(e) por cada eB y empatando el i-ésimo vértice externo con el i-ésimo vértice adjunto de e para cada eB.

Todas las hiperaristas mantienen sus etiquetas y vértices adyacentes; los vértices externos de H[repl] son los de H. Si B = {e1, . . . , en} y repl(ei) = Ri, para i = 1, . . . , n, entonces se escribe H[e1/R1, . . . , en/Rn] en lugar de H[repl].

La Figura 1 inciso b) muestra el reemplazo de la hiperarista Y por el hipergrafo H que se muestra en el inciso a).

Fig. 1 a) Hipergrafo H. b) Reemplazo de hiperarista Y por H (tomada de [3]) 

2.2. Gramáticas de Reemplazo de Hiperaristas

Las HRG son elementos que pueden ser empleados para la generación y análisis de la representación semántica apoyada en hipergrafos [10]. En la Figura 2 inciso a) se muestra una HRG.

Fig. 2 a) Reglas de producción para G. b) Derivación a partir de G para el hipergrafo H* que representa el significado ”The boy wants the girl to believe that he wants her” (tomada de [3]) 

Definición 5 [15] Una Gramática de Reemplazo de Hiperaristas (HRG) es una tupla G = (N, T , S, P) donde:

  • N es un conjunto finito de símbolos no terminales.

  • T es un conjunto finito de símbolos terminales.

  • SN es un símbolo no terminal inicial.

  • P es un conjunto finito de reglas de producción de la forma p : AR, donde AN, y R es un hipergrafo cuyas hiperaristas están etiquetadas por símbolos de TN.

2.3. Derivación

Sean eE una hiperarista etiquetada con A y R un hipergrafo. El elemento principal de las HRG es el conjunto finito de reglas de producción, se dice que estas controlan el proceso de derivación pues determinan la hiperarista e que debe ser reemplazada por un hipergrafo. Una regla de producción de las HRG es de la forma AR para la hiperarista e que será reemplazada. A es llamado el lado izquierdo de AR y R es llamado el lado derecho de AR. Para ser más precisos se tiene la siguiente definición.

Definición 6 [15] Sea N un conjunto de símbolos no terminales. Una regla de producción sobre N es de la forma p = AR, AN y R es un hipergrafo cuyas hiperaristas están etiquetadas por símbolos de NT .

La definición 6 se tomó de [15], sin embargo para el propósito en este artículo A corresponde a la etiqueta del hipergrafo del lado izquierdo de la regla de producción p.

El proceso de derivación inicia con el símbolo inicial S, y de forma repetida se elige un símbolo A no terminal para ser reemplazado por el hipergrafo R, a través de alguna regla de producción AR. A su vez el hipergrafo R puede tener otras hiperaristas etiquetadas con símbolos no terminales, de tal manera que el proceso de reemplazo continúa hasta que todas las hiperaristas estén etiquetadas con símbolos terminales [2].

Definición 7 [2] Sea G una HRG y AR una regla de producción de G . La relacion HH* (H* es derivada de H en un solo paso) se define de la siguiente forma. H debe tener una hiperarista e etiquetada con A; sean v1, ..., vk vértices conectados de la hiperarista. Sean u1, ..., uk los vértices externos de R. Entonces H* es el hipergrafo formado después de haber removido e de H′, haciendo una copia isomorfa de R, e identificando vi con las copias de ui para cada i = 1, ..., k.

Sea * la cerradura reflexiva y transitiva de ⇒. El lenguaje generado por G que usualmente se denota por L(G) es igual al conjunto de todas las H, tales que S deriva en o o más pasos a H y donde H solamente consta de hiperaristas etiquetadas con símbolos terminales.

La Figura 2 inciso b) muestra un ejemplo del proceso de derivación a partir de G para el hipergrafo de entrada H, el cual representa ”The boy wants the girl to believe that he wants her”.

Inicialmente, se aplica la regla de producción A1R1 para reemplazar el hipergrafo cuya hiperarista está etiquetada con el símbolo inicial S, por el hipergrafo R1, con lo que se obtiene el hipergrafo H′. Posteriormente en H sobre la base de la regla de producción A2R2 se reemplaza la hiperarista X por el hipergrafo R2, con lo que se obtiene el hipergrafo H′′, enseguida se realiza una copia isomorfa de R2, considerando un mapeo entre los vértices 1,4 conectados a X y los vértices externos 1,4 de R2.

Finalmente, en H′′ sobre la base de la regla de producción A3R3 se reemplaza la hiperarista Y por el hipergrafo R3, con lo que se obtiene el hipergrafo H*, enseguida se realiza una copia isomorfa de R3, considerando un mapeo entre los vértices 2,3,4 conectados a Y y los vértices externos 2,3,4 de R3.

Se muestra que en el hipergrafo resultante H* todas las hiperaristas están etiquetadas solamente con símbolos terminales, por lo tanto se concluye que el hipergrafo de entrada H*, sí es derivado a partir del hipergrafo H′, a través de la aplicación de las reglas de producción de G.

Una vez presentado el concepto de la HRG, así como el proceso de derivación, se puede abordar el concepto de lenguaje de hipergrafos, el cual se define como el conjunto de todos los hipergrafos H, de tal forma que cada uno contiene solamente hiperaristas etiquetadas con símbolos terminales y que además estos hipergrafos pueden ser derivados a partir del símbolo S aplicando producciones de P , en un número finito de pasos S*H [14].

Definición 8 [11] El lenguaje de hipergrafos L(HRG) generado por HRG consiste de todos los hipergrafos etiquetados con símbolos terminales, los cuales se pueden derivar de A aplicando producciones de P, donde ACAHC es un hipergrafo.

L(HRG)={H|AP*H}.

3. Analizador

En esta sección se presenta el Analizador para resolver el problema de membresía en HRG. Este lleva a cabo el análisis en la MA del hipergrafo de entrada H. La MA para el hipergrafo de entrada H y para cada hipergrafo R de cada una de las reglas de producción de la HRG, son creadas antes de ejecutar el Analizador.

3.1. Matriz de Adyacencias

En el Analizador no se utiliza la definición de Matriz de Adyacencias (MA) para grafos, sino una en la cual las etiquetas de las hiperaristas de cada vértice quedan representadas en cada uno de las entradas de la matriz.

La MA de un hipergrafo, es una matriz cuadrada, donde los vértices de H indexan a cada fila y columna de la matriz bajo un orden arbitrario. Sin embargo el orden elegido debe ser consistente, es decir indexar las filas y columnas bajo el mismo orden. Ésto se puede ver representado en la definición 9.

Cuando hablemos de MH, entiéndase que es la matriz de adyacencias del hipergrafo H. De igual forma, cuando hablemos de Metiq(AR), entiéndase que es la matriz de adyacencias del hipergrafo R.

Definición 9 Sea H un hipergrafo con hiperaristas etiquetadas y dirigidas y sea MA una matriz cuadrada con entradas aij, definidas por aij = lab(e) donde i, jV (H):

aij=lab(e)dondeiRe,jDeyeE(H).

Para el propósito de este artículo, formamos la MA de la siguiente manera. Con base a la dirección de cada hiperarista dirigida, de tal forma que la primera fila, corresponde con el conjunto formado por el vértice raíz, enseguida la segunda fila, corresponde con el conjunto formado por el vértice adyacente a las siguientes raíces, ubicadas en el hipergrafo, partiendo de arriba hacia abajo y de izquierda a derecha, y así sucesivamente hasta haber representado en la MA a todas las hiperaristas del hipergrafo.

En las figuras 3 y 4, se muestra el hipergrafo de entrada H con su MH formada por cinco filas y cinco columnas. La primera fila tiene 3 conjuntos ≠ ∅, los cuales representan las etiquetas de las hiperaristas adyacentes al vértice a.

Fig. 3 Hipergrafo H (tomado de [15]) 

Fig. 4 MH del hipergrafo de la figura 3 

Las figuras 6 a 11 muestran las MR para el hipergrafo R de las reglas X0, X3, X2 y X1 de la HRG dada.

Fig. 5 HRG (tomadas de [15]) 

Fig. 6 MX0 para el hipergrafo de la figura 5 

Fig. 7 MX3 para el hipergrafo de la figura 5 

Fig. 8 MX3 para el hipergrafo de la figura 5 

Fig. 9 MX2 para el hipergrafo de la figura 5 

Fig. 10 MX1 para el hipergrafo de la figura 5 

Fig. 11 MX1 para el hipergrafo de la figura 5 

El Analizador recibe como entrada la MH de H, el conjunto de las MA de los hipergrafos R para cada una de las reglas de producción de la HRG y la MS de R para la regla inicial SR. El Analizador no utiliza los vértices externos, debido a que esta parte del hipergrafo de entrada H y los vértices externos se requieren solamente durante el proceso de derivación.

Cuando hablemos de empatar dos filas, entiéndase que nos referimos a que los conjuntos de ambas filas se intersectan, esto significa que las etiquetas de las hiperaristas del hipergrafo representado por éstas, son las mismas que las del hipergrafo R de la regla.

Los algoritmos Analizador y Empata van creando una copia de las filas de MH y de la MR del hipergrafo R conforme se va realizando el análisis, debido a que durante el proceso de análisis los conjuntos que se intersectaron podrían ser ∅ y en caso de que las filas no empaten entre ellas, se tiene que buscar una nueva regla, por lo que es necesario recuperar los conjuntos de ambas filas,

4. Algoritmo Analizador

El algoritmo Analizador consta de tres iteraciones anidadas.

  1. La iteración más externa (líneas 2 a 24) toma cada fila fHi de la matriz de adyacencias MH del hipergrafo de entrada H.

  2. 1 La iteración intermedia (líneas 2 a 37) toma cada matriz de adyacencias MRj de R para la reglas de producción, cuyas etiquetas se han almacenado en la pila.

  3. 2La iteración más interna (líneas 2 a 35) toma cada fila fRk de la matriz de adyacencias MRj para ver si empata con la fila fHi, aquí tenemos tres casos:

    1. fRk y fHi empatan (líneas 6 a 17 y 30 a 31), entonces continúa con el ciclo más externo.

    2. fRk y fHi no empatan (líneas 6 a 17 y 19 a 21) y fRk no contiene variables, entonces continúa con el ciclo más interno.

    3. fRk y fHi no empatan (líneas 6 a 17 y 22 a 26) y fRk contiene las variables V1, . . . , Vm, entonces para cada Vl, 1 ≤ lm continúa con el ciclo intermedio.

El algoritmo Procesa utiliza una pila, de tal forma que durante el análisis, se van almacenando las etiquetas de todas las variables encontradas en la fila fR de la matriz de adyacencias MR que está siendo analizada, posteriormente estas se irán desempilando una a una conforme se van empatando las filas fR de la matriz MR y fH de la matriz MH.

El funcionamiento del Algoritmo 3 se muestra para la primera fila de la matriz MH de la figura 4 junto con las MRj de las reglas de producción de la HRG, las cuales se muestran en las figuras 6 a 11.

Algorithm 1 Empata(fAH, MR

Algorithm 2 BuscaMA(CR, PVar[tope]) 

Algorithm 3 Analizador(MH, CR, S

En la iteración más externa, toma la fila {a} de la matriz MH, para que enseguida tome la matriz de adyacencias correspondiente a la regla del símbolo inicial MX0 del hipergrafo R de la regla X0 y en la línea 9 llame al algoritmo Empata({a}, MX0), con el propósito de que en la iteración más interna, verifique si la fila {1} de MX0 empata con la fila {a} de MH.

Así que el algoritmo Empata({a}, MX0) en las líneas 22 a 26 regresa la etiqueta de la variable X3 contenida en la fila {1}, enseguida en la iteración intermedia, el algoritmo Procesa({a}, CR, PVar, X3, MX0), en las líneas 19 a 20 apila la variable X3 en la pila PVar, enseguida, el algoritmo Empata({a}, MX0) en la iteración más interna en las líneas 8 a 14 y 32 a 33 valida que todos los conjuntos de la fila {1} ya están vacíos, es decir que ya no hay más variables para apilar, entonces el algoritmo Procesa({a}, CR, PVar, Vp, MX0) en la iteración intermedia, en las líneas 22 a 26 toma la matriz MX3.

Posteriormente, el algoritmo Empata({a}, MX3) en la iteración más interna toma la fila {1} de la matriz de adyacencias MX3 para que enseguida en la iteración que inicia en la fila 8 a 14, tome los conjuntos {arg1}, {arg0} y {want} de la fila {a} y valida que se intersectan con {arg1}, {arg0} y {want} de la fila {1}, a su vez a cada conjunto de ambas filas les va restando la intersección de ambos, como se muestra en la figura 12.

Fig. 12 Empatando fila {a} con fila {1} 

Posteriormente, en la iteración intermedia en las líneas 4 a 5 y 16 a 18 el algoritmo Procesa({a}, CR, PVar, Ve, MX3) desempila a X3 para tomar el siguiente elemento en la pila es decir, X0 y en seguida el algoritmo Analizador(MH, CR, S) en las líneas 13 a 17 marca la fila {a} como ya procesada.

Nuevamente, en la iteración más externa tomaría la siguiente fila a procesar, es decir la fila {b} de MH, para que en la iteración intermedia tome la fila 2 de X0.

4.1. Demostración

Demostraremos que el algoritmo Analizador es correcto, pero primero se demuestra una proposición más general.

Algorithm 4 Procesa(fH, CR, PV ar, res, MR

Proposición 1 Sean HC y HRG una gramática de reemplazo de hiperaristas, entonces HLA(HRG) si y sólo si Analizador(MH, CR, A).

La demostracion se divide en dos casos:

  • HLA(HRG): Se realiza una demostración por inducción sobre el número k de derivaciones.

  • k = 1 : AH, en este caso se tiene el hipergrafo H de entrada y se reconoce en un solo paso, en cuyo caso el algoritmo Analizador(MH, CR, A) realiza lo siguiente, toma la matriz de adyacencias MH del hipergrafo de entrada H, la cual tiene la siguiente forma

Fig. 13 Forma de MH 

  • y la matriz de adyacencias MR del hipergrafo R de la regla de producción AR, la cual tiene la siguiente forma

Fig. 14 Forma de MR 

  • donde m = s, n = t.

  • En este caso, ambas matrices se empatan en todas sus filas, pues de acuerdo a la iteración más externa, en las líneas 2 a 24: toma cada una de las filas de MH para que en la iteración más interna tome cada fila de MR y en las líneas 6 a 14 y 29 a 31: verifique que ambas filas se empatan pues los conjuntos hij = rij, donde i = 1, ..., m y j = 1, ..., n. Así que Analizador regresa el valor true.

  • La hipótesis de induccion es Ak H si y sólo si Analizador(MH, CR, A).

  • k = i + 1 : Si el número de derivaciones es i + 1 entonces Ai H′, por lo tanto debe existir una hiperarista X y una producción de la forma XR, de tal manera que Ai H′[X/R] ⇒ H. Por hipótesis de inducción Analizador(MH, CR, A) regresaría true, pero como H contiene una hiperarista etiquetada X y HRG contiene una regla de producción de la forma XR, entonces el algoritmo Analizador(MH, CR, A) haría lo siguiente.

  • Toma la matriz de adyacencias MH del hipergrafo de entrada H′, la cual tiene la siguiente forma

Fig. 15 Forma de MH 

  • y la matriz de adyacencias MR del hipergrafo R de la regla de producción AR, la cual tiene la siguiente forma

Fig. 16 Forma de MR 

  • En este caso, k − 1 filas de la matriz MH empatan con las s filas de MR pues la fila nk−2 de MH no empata con ninguna fila de MR. Esto se puede observar en en la iteración más interna, en las líneas 6 a 17 y 24 a 26: donde comprueba que ambas matrices no se corresponden debido a que MH contiene a la variable X. Así que ahora toma la matriz de adyacencias MH para el hipergrafo de entrada H, la cual tiene la siguiente forma

Fig. 17 Forma de MH 

  • y en la iteración intermedia en las líneas 21 a 26: desempila a X y toma la matriz de adyacencias MX para el hipergrafo R de la regla XR, la cual tiene la siguiente forma:

Fig. 18 Forma de MX 

  • donde: i = s, j = t.

  • En este caso, ambas matrices se empatan en todas sus filas, pues de acuerdo a la iteración más externa, en las líneas 2 a 24: toma cada una de las filas N1, ...Ni de MH para que en la iteración más interna tome cada fila de MX y en las líneas 6 a 14 y 29 a 31: verifique que ambas filas se empatan pues los conjuntos xuv = xst, donde u = 1, ..., i y v = 1, ..., j.. Así que Analizador regresa el valor true.

  • HLA(HRG): En este caso el algoritmo Analizador(MH, CR, A) hace lo siguiente, toma la matriz de adyacencias MH del hipergrafo de entrada H y cada una de las matrices de adyacencias MR del hipergrafo R de la regla de producción AR y en la iteración más interna, en las líneas 6 a 17: comprueba que ambas matrices no se corresponden, entonces en la iteración intermedia en las líneas 21 a 26: desempoila cada una de las MR restantes y en la iteración más externa en las líneas 5 a 23: comprueba que MH no se corresponde con ninguna de las MR, así entonces el proceso de análisis ya no puede continuar y regresa el valor false.

Ahora la demostración de la corrección del algoritmo Analizador(MH, CR, S).

Corolario 1 Sean HT y HRG una gramática de reemplazo de hiperaritas, entonces HLS(HRG) si y sólo si Analizador(MH, CR, S).

Demostración. La prueba se sigue directamente sustituyendo HT por H y el símbolo inicial S por A en el desarrollo de la demostración de la proposición 1.

4.2. Complejidad del Analizador

La complejidad en tiempo del Analizador es de orden polinomial y está dada en términos del número de vértices del hipergrafo de entrada H (denotado como l) y de una constante igual al número de reglas de la HRG (denotado por p). Primero realizaremos el análisis de la complejidad para el algoritmo Empata, en seguida para el algoritmo Procesa y finalmente para el algoritmo Analizador.

En líneas 6 a 17. El número de entradas de fAH esta representado por |fAH| y el número de entradas de fAR por |fAR|, donde cada entrada es un conjunto. Siendo min(|x|, |y|) el tiempo que lleva ejecutar el bloque de sentencias de la línea 7 a 16. Es así que el tiempo necesario para ejecutar la iteración que inicia en la línea 6 y finaliza en la línea 17, se representa en la siguiente sumatoria:

t1=i=1|fAH|j=1|fAR|min(|x|,|y|).

Líneas 18 a 28. El número de entradas de fAR está representado por |fAR|, donde cada entrada es un conjunto y C1 es el costo necesario para ejecutar el bloque de sentencias que inicia en la línea 19 a 27. Es así que el tiempo necesario para ejecutar la iteración que inicia en la línea 18 y finaliza en la línea 28, se representan en la siguiente sumatoria:

t2=j=1|fAR|C1.

Líneas 3 a 35. El número de filas de cada regla MR está representado por |MR|. Es así que el tiempo requerido para ejecutar las iteración que inicia en la línea 3 y termina en la línea 35, se representa en la siguiente sumatoria:

t3=k=1|MR|(t1+t2)=|MR|(|fAH||fAR|min(|x|,|y|)+|fAR|C1).

Sabemos que el número de filas en MR para cualquier regla no puede ser mayor que el número de vértices de H, del mismo modo sucede para el número de conjuntos de fAH, al igual que para el número de conjuntos de fAR y para min(|x|, |y|).

Por lo tanto:

t3=l(l3+lC1)=l4+l2C1.

Entonces, la complejidad de Empata es de O(l4)

La complejidad para el algoritmo Procesa se calcula de la siguiente forma.

En las líneas 6 a 14. El número de entradas de fAH está representado por |fAH|, donde cada entrada es un conjunto y C2 es el costo necesario para ejecutar el bloque de sentencias que inicia en la línea 7 a 13. Es así que el tiempo necesario para ejecutar la iteración que inicia en la línea 6 y finaliza en la línea 14, se representa en la siguiente sumatoria:

t4=i=1|fAH|C2.

Líneas 28 a 36. El número de reglas de CR es igual a la constante p y C3 es el costo necesario para ejecutar el bloque de sentencias que inicia en la línea 29 a 35. Es así que el tiempo requerido para ejecutar las iteración que inicia en la línea 28 y termina en la línea 36, se representa en la siguiente sumatoria:

t5=i=1|CR|C3=|CR|C3=pC3.

Líneas 3 a 37. El número de variables por cada fila de cada regla MR está representado por |PVar|. Es así que el tiempo requerido para ejecutar las iteración que inicia en la línea 3 y termina en la línea 37, se representa en la siguiente sumatoria:

t6=k=1|PVar|(t4+t5)=|PVar|(|fAH|C2+pC3).

Sabemos que el número de variables en PVar para cualquier fila no puede ser mayor que el número de vértices de H, del mismo modo sucede para el número de conjuntos de fAH. Por lo tanto:

t6=l(lC2+pC3)=l2C2+lpC3.

Entonces, la complejidad de Procesa es de O(l2).

La complejidad para el Analizador se calcula de la siguiente forma.

Ĺınea 5 a 24. El tiempo requerido para ejecutar las iteración que inicia en la línea 5 y termina en la línea 24, se representa en la siguiente sumatoria:

t7=i=1|MH|(t3+t6)=l4+l2C1+l2C2+lpC3.

Como el número de vértices de H es una cota superior para MH, es decir l > |MH|, entonces el tiempo total T para Analizador se calcula de la siguiente forma:

T=l(l4+l2C1+l2C2+lpC3)=l5+l3C1+l3C2+l2pC3.

Por lo tanto, la complejidad de Analizador es de O(l5).

5. Conclusiones

Hemos presentado el diseño de un algoritmo Analizador correcto para resolver el problema de membresía en HRGs, en este algoritmo no se utilizó la definición de MA para grafos, es por ello, que se desarrolló un método para la construcción de la MA, en el cual las etiquetas de las hiperaristas de cada vértice, quedan representadas a través de conjuntos, que forman cada fila de la MH correspondiente al hipergrafo de entrada H.

Hemos descrito el proceso de análisis del hipergrafo H a través de su representación matricial, de tal forma que se explota el concepto de matriz de adyacencias, como una herramienta más para el análisis de hipergrafos.

Hemos presentado la demostración de que el Analizador es correcto y tiene una complejidad polinomial de orden O(l5), donde l es el número de vértices del hipergrafo de entrada.

Referencias

1.  Aalbersberg, I., Rozenberg, G., Ehrenfeucht, A. (1986). On the membership problem for regular dnlc grammars. Discrete Applied Mathematics, Vol. 13, No. 1, pp. 79–85. DOI: https://doi.org/10.1016/0166-218X(86)90070-3. [ Links ]

2.  Aguiñaga, S., Chiang, D., Weninger, T. (2018). Learning hyperedge replacement grammars for graph generation. CoRR, Vol. abs/1802.08068. [ Links ]

3.  Chiang, D., Andreas, J., Bauer, D., Hermann, K. M., Jones, B., Knight, K. (2013). Parsing graphs with hyperedge replacement grammars. Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Association for Computational Linguistics, pp. 924–932. [ Links ]

4.  Courcelle, B. (1991). The monadic second-order logic of graphs V: on closing the gap between definability and recognizability. Theor. Comput. Sci., Vol. 80, No. 2, pp. 153–202. DOI: 10.1016/0304-3975(91)90387-H. [ Links ]

5.  Drewes, F., Kreowski, H.-J., Habel, A. (1997). Handbook of graph grammars and computing by graph transformation. chapter Hyperedge Replacement Graph Grammars. World Scientific Publishing Co., Inc., River Edge, NJ, USA, pp. 95–162. [ Links ]

6.  Engelfriet, J. (1997). Handbook of formal languages, vol. 3. chapter Context-free Graph Grammars. Springer-Verlag New York, Inc., New York, NY, USA, pp. 125–213. [ Links ]

7.  Gallo, G., Scutellà, M. (1998). Directed hypergraphs as a modelling paradigm. Decisions in Economics and Finance, Vol. 21, pp. 97–123. DOI: 10.1007/BF02735318. [ Links ]

8.  Gilroy, S., López, A., Maneth, S. (2017). Parsing graphs with regular graph grammars. Proceedings of the 6th Joint Conference on Lexical and Computational Semantics (*SEM 2017), Association for Computational Linguistics, Vancouver, Canada, pp. 199–208. DOI: 10.18653/v1/S17-1024. [ Links ]

9.  Gottlob, G., Grohe, M., Musliu, N., Samer, M., Scarcello, F. (2005). Hypertree decompositions: Structure, algorithms, and applications. Kratsch, D., editor, Graph-Theoretic Concepts in Computer Science, Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 1–15. [ Links ]

10.  Groschwitz, J., Koller, A., Teichmann, C. (2015). Graph parsing with s-graph grammars. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing of the Asian Federation of Natural Language Processing, ACL 2015, July 26-31, 2015, Beijing, China, Volume 1: Long Papers, The Association for Computer Linguistics, pp. 1481–1490. [ Links ]

11.  Habel (1991). Hyperedge Replacement: Grammars and Languages. University of Bremen, United States of America, 1st edition. [ Links ]

12.  Lange, K.-J., Welzl, E. (1987). String grammars with disconnecting or a basic root of the difficulty in graph grammar parsing. Discrete Applied Mathematics, Vol. 16, No. 1, pp. 17–30. DOI: https://doi.org/10.1016/0166-218X(87)90051-5. [ Links ]

13.  Lautemann, C. (1990). The complexity of graph languages generated by hyperedge replacement. Acta Informatica, Vol. 27, No. 5, pp. 399–421. DOI: 10.1007/BF00289017. [ Links ]

14.  Minas, M. (2000). Hypergraphs as a uniform diagram representation model. Selected Papers from the 6th International Workshop on Theory and Application of Graph Transformations, TAGT’98, Springer-Verlag, London, UK, UK, pp. 281–295. [ Links ]

15.  Peng, X., Song, L., Gildea, D. (2015). A synchronous hyperedge replacement grammar based approach for AMR parsing. Proceedings of the Nineteenth Conference on Computational Natural Language Learning, Association for Computational Linguistics, pp. 32–41. DOI: 10.18653/v1/K15-1004. [ Links ]

16.  Peuser, C. (2018). From hyperedge replacement grammars to decidable hyperedge replacement games. Mazzara, M., Ober, I., Salaün, G., editors, Software Technologies: Applications and Foundations - STAF 2018 Collocated Workshops, Toulouse, France, June 25-29, 2018, Revised Selected Papers, volume 11176 of Lecture Notes in Computer Science, Springer, pp. 463–478. DOI: 10.1007/978-3-030-04771-9 33. [ Links ]

17.  Rozenberg, G. (1997). Handbook of graph grammars and computing by graph transformation. [ Links ]

18.  Rozenberg, G., Welzl, E. (1986). Boundary NLC graph grammars basic definitions, normal forms, and complexity. Information and Control, Vol. 69, pp. 136–167. DOI: 10.1016/S0019-9958(86)80045-6. [ Links ]

1 Esta iteración corresponde al algoritmo Procesa

2 Esta iteración corresponde al algoritmo Empata

Recibido: 03 de Mayo de 2021; Aprobado: 12 de Junio de 2021

* Autor para correspondencia: Darnes Vilariño Ayala, e-mail: dvilarino@cs.buap.mx

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License