Articulo de referencia

algoritmos de Kleitman-Wang

Los algoritmos de Kleitman-Wang son dos algoritmos diferentes de la teoría de grafos que resuelven el problema de realización de digrafos , es decir, la cuestión de si existe, p...

Los algoritmos de Kleitman-Wang son dos algoritmos diferentes de la teoría de grafos que resuelven el problema de realización de digrafos , es decir, la cuestión de si existe, para una lista finita de pares de enteros no negativos , un grafo dirigido simple tal que su secuencia de grados sea exactamente dicha lista. Para una respuesta positiva, la lista de pares de enteros se denomina digrafo . Ambos algoritmos construyen una solución especial si existe o demuestran que no se puede encontrar una respuesta positiva. Estas construcciones se basan en algoritmos recursivos . Kleitman y Wang [ 1 ] presentaron estos algoritmos en 1973.

Algoritmo de Kleitman-Wang (elección arbitraria de pares)

El algoritmo se basa en el siguiente teorema.

DejarS=((a1,b1),,(anorte,bnorte)){\displaystyle S=((a_{1},b_{1}),\dots ,(a_{n},b_{n}))}Sea una lista finita de enteros no negativos en orden lexicográfico no creciente y sea(ai,bi){\displaystyle (a_{i},b_{i})}sea ​​un par de enteros no negativos conbi>0{\displaystyle b_{i}>0}. ListaS{\displaystyle S}es digráfica si y solo si la lista finitaS=((a11,b1),,(abi11,bbi1),(abi,0),(abi+1,bbi+1),(abi+2,bbi+2),,(anorte,bnorte)){\displaystyle S'=((a_{1}-1,b_{1}),\dots ,(a_{b_{i}-1}-1,b_{b_{i}-1}),(a_{b_{i}},0),(a_{b_{i}+1},b_{b_{i}+1}),(a_{b_{i}+2},b_{b_{i}+2}),\dots ,(a_{n},b_{n}))}tiene pares de enteros no negativos y es digráfica.

Nótese que el par(ai,bi){\displaystyle (a_{i},b_{i})}es arbitrariamente con la excepción de pares(aj,0){\displaystyle (a_{j},0)}. Si la lista dadaS{\displaystyle S}digráfico entonces el teorema se aplicará como máximonorte{\displaystyle n}Los tiempos se establecen en cada paso siguiente.S:=S{\displaystyle S:=S'}Este proceso termina cuando toda la listaS{\displaystyle S'}consta de(0,0){\displaystyle (0,0)}pares. En cada paso del algoritmo se construyen los arcos de un digrafo con vérticesv1,,vnorte{\displaystyle v_{1},\dots,v_{n}}, es decir, si es posible reducir la listaS{\displaystyle S}aS{\displaystyle S'}, luego agregamos arcos(vi,v1),(vi,v2),,(vi,vbi1),(vi,vbi+1){\displaystyle (v_{i},v_{1}),(v_{i},v_{2}),\dots ,(v_{i},v_{b_{i}-1}),(v_{i},v_{b_{i}+1})}Cuando la listaS{\displaystyle S}no se puede reducir a una listaS{\displaystyle S'}de pares de enteros no negativos en cualquier paso de este enfoque, el teorema demuestra que la listaS{\displaystyle S}Desde el principio no es digráfico.

Algoritmo de Kleitman-Wang (elección máxima de un par)

El algoritmo se basa en el siguiente teorema.

DejarS=((a1,b1),,(anorte,bnorte)){\displaystyle S=((a_{1},b_{1}),\dots ,(a_{n},b_{n}))}sea ​​una lista finita de enteros no negativos tal quea1a2anorte{\displaystyle a_{1}\geq a_{2}\geq \cdots \geq a_{n}}y dejar(ai,bi){\displaystyle (a_{i},b_{i})}ser un par tal que(bi,ai){\displaystyle (b_{i},a_{i})}es máximo con respecto al orden lexicográfico en todos los pares(b1,a1),,(bnorte,anorte){\displaystyle (b_{1},a_{1}),\dots ,(b_{n},a_{n})}. ListaS{\displaystyle S}es digráfica si y solo si la lista finitaS=((a11,b1),,(abi11,bbi1),(abi,0),(abi+1,bbi+1),(abi+2,bbi+2),,(anorte,bnorte)){\displaystyle S'=((a_{1}-1,b_{1}),\cdots ,(a_{b_{i}-1}-1,b_{b_{i}-1}),(a_{b_{i}},0),(a_{b_{i}+1},b_{b_{i}+1}),(a_{b_{i}+2},b_{b_{i}+2}),\dots ,(a_{n},b_{n}))}tiene pares de enteros no negativos y es digráfica.

Tenga en cuenta que la listaS{\displaystyle S}no debe estar en orden lexicográfico como en la primera versión. Si la lista dadaS{\displaystyle S}es digráfico, entonces el teorema se aplicará como máximonorte{\displaystyle n}tiempos, estableciéndose en cada paso siguienteS:=S{\displaystyle S:=S'}Este proceso termina cuando toda la listaS{\displaystyle S'}consta de(0,0){\displaystyle (0,0)}pares. En cada paso del algoritmo, se construyen los arcos de un digrafo con vérticesv1,,vnorte{\displaystyle v_{1},\dots,v_{n}}, es decir, si es posible reducir la listaS{\displaystyle S}aS{\displaystyle S'}, luego se añaden arcos(vi,v1),(vi,v2),,(vi,vbi1),(vi,vbi+1){\displaystyle (v_{i},v_{1}),(v_{i},v_{2}),\dots ,(v_{i},v_{b_{i}-1}),(v_{i},v_{b_{i}+1})}Cuando la listaS{\displaystyle S}no se puede reducir a una listaS{\displaystyle S'}de pares de enteros no negativos en cualquier paso de este enfoque, el teorema demuestra que la listaS{\displaystyle S}Desde el principio no es digráfico.

Véase también

Referencias

  • Kleitman, DJ; Wang, DL (1973), "Algoritmos para la construcción de grafos y digrafos con valencias y factores dados", Matemáticas Discretas , 6 : 79–88 , doi : 10.1016/0012-365x(73)90037-x