¿Heurística para estimar la eficiencia de los diagramas de decisión binarios ordenados reducidos?

8

Diagramas reducido Ordenadas decisión binaria (ROBDD) son una estructura de datos eficiente para la representación de funciones booleanas de múltiples variables . Me gustaría tener una intuición de cuán eficientes son.f(x1,x2,...,xn)

Por ejemplo, para la compresión de datos, sabemos que los datos con baja entropía (algunos símbolos aparecen con más frecuencia que otros, muchas repeticiones) se pueden comprimir muy bien, mientras que los datos completamente aleatorios no se pueden comprimir.

¿Existe una intuición análoga para estimar cuán eficientemente los ROBDD pueden representar una fórmula booleana dada?

Por ejemplo, he escuchado que la multiplicación de números de bits no se puede representar de manera eficiente, el tamaño mínimo de ROBDD es exponencial en n . ¿Conoces un argumento intuitivo que explique por qué este es el caso?nn

Pregunta relacionada: intuición sobre la eficiencia de los BDD que calculan números (múltiples BDD terminales, etc.)

Heinrich Apfelmus
fuente

Respuestas:

7

Existe una relación entre el ancho de un OBDD para una función y la complejidad de comunicación de un protocolo de comunicación unidireccional para la mejor partición de variables para f (ver E. Kushilevitz y N. Nisan. Complejidad de comunicación. Universidad de Cambridge Prensa, 1997 ).ff

Esta es una herramienta poderosa para probar OBDD de tamaño exponencial para diversas funciones (junto con los coautores, utilizamos este método para demostrar que -bipartiteness es difícil para los OBDD, ver aquí ). Básicamente, si existe un OBDD de ancho como máximo w que resuelve f , entonces κ b e s t ( f ) log w . Creo que es más intuitivo pensar en términos de complejidad de comunicación en lugar de OBDD.ϵwfκbest(f)logw

Sylvain Peyronnet
fuente
3
Ah, entonces divide las entradas de en dos partes f ( x 1 , ... , x k , y 1 , ... , y l ) . Luego, Alice simplemente sigue las ramas del BDD en su entrada x y comunica su nodo final a Bob, quien completa el cálculo con y . Como el ancho es w , ella necesita como máximo log wff(x1,,xk,y1,,yl)xywlogwbits para comunicar su nodo. ¡Agradable! Esto está algo relacionado con la respuesta del "diagrama de bloques" de Radu, ya que la existencia de un diagrama de bloques de este tipo ciertamente implica una pequeña complejidad de comunicación. (Sin embargo, la inversa "complejidad de comunicación pequeña => ancho pequeño" no necesariamente se cumple, ¿verdad?)
Heinrich Apfelmus
Solicitud menor: ¿conoce una versión de su documento vinculado que esté disponible gratuitamente, es decir, no detrás de un muro de pago?
Heinrich Apfelmus
Claro, aquí hay un enlace: sylvain.berbiqui.org/llmpr-full.pdf
Sylvain Peyronnet
"(Sin embargo, la inversa" complejidad de comunicación pequeña => ancho pequeño "no necesariamente se cumple, ¿verdad?)" De hecho, no necesariamente se cumple.
Sylvain Peyronnet
6

f(x1,,xn)b1,,bnbkxkbk1bk+1bnffbkbk1

x1,,xk1knk

nf(x1,,xn)xkk1,2,,k1k1kk1kkk+11n

fgfmgnO(mn)O(m+n)

Radu GRIGore
fuente
fbi
2

Para calcular los números, debe observar los MTBDD (Multi Terminal BDD), una estructura de datos utilizada para la verificación del modelo (probabilístico). Véanse, por ejemplo, Representaciones de funciones discretas, Sasao, Tsutomu; Fujita, Masahira (Eds.), Springer, 1996 , el capítulo 4, por Clarke et al. trata sobre MTBDD y Diagrama de decisión híbrido.

Sylvain Peyronnet
fuente
2

En TAoCP 4 fascículo 1 , Knuth también menciona que

  • f(x1,x2,,xn)nO(n2)fn+1x1+x2++xn{0,1,2,n}2n
  • g(x1,x2):=f(x1,x2,x2)

f(x1,x2,x3):=(2x1+5x2+3x37)f(x1+x2++x107)

Heinrich Apfelmus
fuente
También hay una parte sobre las funciones 'desagradables'.
Radu GRIGore