Domanda

Correggi alcuni grafico finito $ g= (v, e) $ e alcuni vertice $ x $ .

Supponiamo di generare un sottobero casuale di $ G $ di taglia $ n $ , contenente $ x $ , come segue:

    .
  1. Let $ T_0={x \} $ .
  2. per $ 0

    i. Let $ B_N $ Sii il set di vicini di $ t_ {n-1} $ al di fuori di $ t_ {n-1} $ .

    II. Modulo $ T_N $ per

      .
    • Esempio una coppia $ (x_n, y_n) \ in e (g) \ cap \ sinistra (V (T_ {n-1}) \ volte B_n \ destra) $ < / span>, con probabilità $ q_n (x_n, y_n | t_ {n-1}) $ ,
    • Aggiungi $ y y_n $ a $ v (t_ {n-1}) $ e aggiungi $ (x_n, y_n) $ a $ e (t_ {n-1}) $ . .
  3. ritorno $ t_n $ .

  4. Supponiamo anche che $ q_n (x_n, y_n | t_ {n-1}) $ può essere calcolato facilmente per tutto $ (T_ {n-1}, x_n, y_n) $ . Sono interessato a calcolare in modo efficiente ed esattamente calcolando la probabilità marginale di generare l'albero $ t_n $ , dato che ho iniziato a crescerlo a $ T_0={X \} $ , IE

    $$ p (t_n | t_0={x})=sum_ {x_ {1: n}, y_ {1: n}} {1: n}} \ PROD_ {N= 1} ^ n q_n (x_n, y_n | t_ {n-1}). $$

    La mia domanda è essenzialmente se dovrei aspettarmi di essere in grado di trovare un algoritmo efficiente (I.e. polinomiale-tempo) algoritmo per questo, e in tal caso, cosa potrebbe essere.

    Alcuni pensieri:

      .
    • ingenua, la somma è esponenzialmente-molti termini, che preclude il tentativo di valutare direttamente la somma.

    • D'altra parte, questo problema è anche altamente strutturato (alberi, ricorsioni, ecc.), che potrebbe suggerire che una sorta di approccio dinamico di programmazione sarebbe fattibile. Non sono sicuro di come affrontare questo.

    • PAnnemente, so come calcolare gli stimatori non negativi, non negativi di $ p (t_n | t_0={x \}) $ , che Avere proprietà di varianza ragionevole, utilizzando tecniche dal filtro Sequenziale Monte Carlo / Particle. Ciò suggerisce che il problema è almeno possibile per approssimare bene in una ragionevole quantità di tempo.

È stato utile?

Soluzione

no. Se $ Q (x_n, y_n | t_ {n-1}) $ è arbitrario - può esserci una dipendenza arbitraria da $ T_ {N-1} $ - Quindi ciò richiede tempo esponenziale.

Considera un albero $ t_n $ che ha un singolo nodo radice, $ n-1 $ foglie e un bordo dalla radice a ciascuna foglia. Ci sono $ 2 ^ N $ Subrei di $ t_n $ , e in particolare, ci sono $ 2 ^ N $ Valori possibili di $ t_n $ che può verificarsi nell'espressione

$$ \ sum_ {x, y} \ PROD_ {N= 1} ^ N Q_N (X_N, Y_N | T_ {N-1}). $$

Si può utilizzare un semplice argomento avversario per dimostrare che la valutazione di questa espressione richiede tempo esponenziale. Supponiamo che valutiamo $ Q_n (x_n, x_n | t_ {n-1}) $ interrogando un oracolo con $ T $ che non viene mai interrogato all'oracle come alcuna classe $ T_ {N-1} $ . Scegli tutta la $ Q_N (\ cdots) $ valori per essere rigorosamente positivi. Poi da $ Q_N (X_N, Y_N | T) $ non è stato interrogato durante l'esecuzione, possiamo sceglierlo dopo aver osservato l'uscita dell'algoritmo; Ma variandolo, possiamo scegliere un valore che rende il errore di uscita dell'algoritmo (in particolare, il valore dell'espressione dipende da $ q_n (x_n, y_n | t) $ Ma l'output dell'algoritmo non dipende da $ q_n (x_n, y_n | t) $ , quindi l'output dell'algoritmo non può correggere). Abbiamo dimostrato che, per produrre l'output corretto, qualsiasi algoritmo corretto deve interrogare l'Oracle per tutti $ 2 ^ n $ possibili sottoschetti di $ T_N $ . Ci vuole almeno $ o (1) $ tempo per interrogare un oracolo.

In conclusione, questo argomento dimostra che qualsiasi algoritmo corretto per il calcolo di questa espressione deve prendere $ \ omega (2 ^ n) $ tempo.

Non so se può sempre essere fatto in $ o (2 ^ n) $ tempo o se forse $ O (n!) $ Il tempo potrebbe essere richiesto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top