1 votos

No entiendo el algoritmo de generación rápida de grafos estocásticos de Kronecker

He estado leyendo este documento y usando esto enlace como referencia al leer sobre Gráficos estocásticos de Kronecker y no entiendo el algoritmo que genera dicho gráfico de forma recursiva y en O(n)O(n) tiempo ( n=number of edgesn=number of edges )

Para resumir, esto es lo que dice el algoritmo (puede encontrar más detalles en la sección 3.6 del documento referido):

Para cada arista, elegimos recursivamente subregiones de la gran matriz estocástica con probabilidad proporcional a p_{uv} _1p_{uv} _1 hasta descender a una sola celda de la gran matriz estocástica. Allí colocamos el borde. Para un gráfico de Kronecker de kthkth poder, kk El descenso se llevará a cabo kk pasos.

Sería genial si alguien pudiera explicar esto en detalle, posiblemente trabajando con un ejemplo o de otra manera. No puedo entender cómo se hace exactamente la selección recursiva de subregiones, y en qué se basa la colocación del borde finalmente. Además, no veo por qué es O(n)O(n) en la complejidad del tiempo.

Muchas gracias de antemano.

1voto

Misha Puntos 1723

Empecemos por la matriz del iniciador P1=[abcd] como ejemplo. A continuación, P2,P3,,Pk se definen recursivamente mediante la fórmula Pi=[aPi1bPi1cPi1dPi1]. Cuando muestreamos una arista, nuestro objetivo es elegir la arista (vi,vj) con probabilidad proporcional a (Pk)ij . La probabilidad exacta es (Pk)ij(a+b+c+d)k ya que (a+b+c+d)k es la suma de las entradas de Pk .

Para hacer esto recursivamente, nosotros:

  1. En primer lugar, elija uno de los cuatro 2k1×2k1 bloques de Pk=[aPk1bPk1cPk1dPk1] con probabilidades aa+b+c+d,ba+b+c+d,ca+b+c+d,da+b+c+d respectivamente.
  2. Este bloque se divide en cuatro 2k2×2k2 bloques proporcionales a Pk2 . Elegimos uno de esos cuatro bloques con las mismas probabilidades: aa+b+c+d,ba+b+c+d,ca+b+c+d,da+b+c+d .
  3. Elija repetidamente uno de los cuatro subbloques del bloque que miramos con estas cuatro probabilidades, hasta que terminemos en una sola entrada.

Por ejemplo, en el k=3 caso, tenemos P3=[aaaaababaabbbaababbbabbbaacaadabcabdbacbadbbcbbdacaabbadaadbbcabcbbdabdbaccacdadcaddbccbcdbdcbddcaacabcbacbbdaadabdbadbbcaccadcbccbddacdaddbcdbdccacbbcdacdbdcadcbddaddbcccccdcdccdddccdcdddcddd] Terminamos eligiendo el borde (v2,v3) si elegimos la parte superior izquierda 4×4 bloque, con probabilidad aa+b+c+d , luego la parte superior derecha 2×2 subbloque de ese bloque, con probabilidad ba+b+c+d entonces la entrada inferior izquierda de ese bloque, con probabilidad ca+b+c+d . La probabilidad de que esto ocurra es abc(a+b+c+d)3 que es exactamente la probabilidad que queríamos, ya que (P3)23=abc .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X