È possibile campionare in modo efficiente un vicino di un vertice nel grafico di un politopo?


15

Ho un polytope definito da .P{x:Axb,x0}

Domanda: Dato un vertice di , esiste un algoritmo temporale polinomiale per campionare uniformemente dai vicini di nel grafico di ? (Polinomio nella dimensione, numero di equazioni e rappresentazione di . Posso presumere che il numero di equazioni sia polinomiale nella dimensione.)vPvPb

Aggiornamento: penso di essere stato in grado di dimostrare che questo è NP-difficile, vedi la mia risposta che spiega l'argomento. (E per -hard, intendo che un algoritmo temporale polinomiale dimostrerebbe ... non sono sicuro di quale sia la terminologia corretta qui.)NPRP=NP

Aggiornamento 2: Esiste una prova a 2 righe di -hardness (dato il giusto politopope combinatorio) e sono stato in grado di trovarlo un articolo di Khachiyan. Vedi la risposta per la descrizione e il collegamento. :-DNP


Un problema equivalente :

Nei commenti Peter Shor ha sottolineato che questa domanda equivale alla domanda se possiamo campionare uniformemente dai vertici di un dato politopo. (Penso che l'equivalenza vada in questo modo: in una direzione, possiamo passare da un politopo con un vertice alla figura del vertice in , , e campionare i vertici di equivale a campionare i vicini di su Nell'altra direzione, possiamo passare da un politopo ad un politopo Q di una dimensione superiore aggiungendo un cono con apice v e base P. Quindi campionando i vicini diPvvP/vP/vvPPQvPv inQ è equivalente al campionamento dei vertici diP )

Questa formulazione della domanda è stata posta prima: /mathpro/319930/sampling-uniformly-from-the-vertices-of-a-polytope



Non conosco la risposta alla tua domanda, ma per quanto ne sappia, non esiste una durezza NP nota per campionare uniformemente un vertice di un politopo dato esplicitamente. Ad esempio, circa i cicli di campionamento sono NP-difficili. Tuttavia, se esistesse un programma lineare i cui vertici codificano i cicli, è molto probabile che sia possibile ottimizzare la lunghezza del ciclo e quindi risolvere il ciclo hamiltoniano.
Heng Guo,

Un'altra osservazione è che anche se la tua domanda ha una risposta positiva, non produce un campionatore uniforme per i vertici (supponendo la congettura del politipo 0-1). Lo scheletro del politopo nei casi più interessanti non è regolare e i gradi possono variare in modo esponenziale.
Heng Guo,

@HengGuo Grazie ancora per i commenti, sono molto utili. Ti capita di conoscere un buon esempio in cui i gradi variano esponenzialmente? (Non mi sorprende che ciò possa accadere per i polipropilene generali; sarebbe bello avere un esempio combinatorio se ne conosci uno in testa.)
Lorenzo Najt

Considera il politopo insieme impostato indipendente di un grafico bipartito. Due vertici (due insiemi indipendenti) sono collegati se la loro differenza simmetrica induce un sottografo collegato. Ora, prendi un grafico bipartito il cui lato ha solo due vertici, collega ad ogni vertice sull'altro lato e v 2 solo uno. Considera set indipendenti { v 1 } e { v 2 } . v1v2{v1}{v2}
Heng Guo,

5
Campionare uniformemente i vertici vicini di un dato vertice di un politopo è lo stesso problema del campionare uniformemente un vertice casuale di un politopo. Taglia un cono infinitamente vicino al vertice. Uno ha quindi un nuovo polytope e se è possibile campionare un vertice di questo nuovo polytope, è possibile campionare un vertice adiacente del polytope originale. Immagino che farlo approssimativamente sia nel BPP, ma non riesco a trovare alcun documento che lo provi.
Peter Shor,

Risposte:


4

Modifica 2: In modo imbarazzante, c'è una prova a due righe della NP -hardness, se si inizia con il politipo giusto.

Innanzitutto, ricordare il politopo di circolazione di un grafico nella parte inferiore della pagina 4 di Generazione di tutti i vertici di un poliedro è difficile .

I suoi vertici sono in corrispondenza biiettiva con i cicli semplici diretti. Pertanto, sono difficili da campionare o contare dalla Proposta JVV 5.1 . :-D

Dotato di queste parole chiave, sono stato in grado di trovare la durezza del risultato del campionamento come teorema 1 degli Ipergrafi trasversali e Famiglie di coni poliedrici di Khachiyan.


Modifica: ho scritto l'argomento seguente e sembra corretto. Tuttavia, c'è un argomento molto più semplice, che tratterò qui:

a) Analizzando gli algoritmi di backtrack per elencare tutti i vertici e tutte le facce di un poliedro convesso (Fukuda et al.) è fortemente NP-difficile risolvere il seguente problema sui polipropi:

Input: A polytope Ax=b,x0 in Rn a sottoinsieme Sn

Resa: Se v'è un vertice v di P che è diverso da zero in ciascuna delle coordinate in S .

b) Detto questo, si può fare la seguente costruzione: introdurre nuove variabili yik per iS e k=1,,d e introdurre la disuguaglianza 0yikxi . Chiama il polytope risultante PS,d . Il punto di questa costruzione è introdurre un ipercubo sopra ogni vertice, di dimensione d|supp(x)S|.

c) Si può verificare che tutti i vertici di questo politopo si trovino tutti sopra i vertici del vecchio politopo e che il numero di vertici su un vertice sia 2d|supp(x)S|, dove supp è la funzione che invia un vertice alle coordinate in cui è diverso da zero.

d) Da una normale catena di argomenti di tipo bigoni ne consegue che prendendo d sufficientemente grande, un campione uniforme dai vertici di PS,d darebbe (con alta probabilità) un campione dai vertici massimizzando la dimensione della loro intersezione con S .

Sembra che ci siano varie estensioni di questo. Al termine della scrittura aggiornerò con un link.


(Il vecchio argomento era qui: è nella cronologia delle modifiche. L'ho rimosso perché è molto lungo e interferirà nel trovare la risposta corretta alla domanda.)


Questo è un argomento molto interessante! Non ho controllato completamente tutti i dettagli nella parte 3) (quali sono le funzioni , H 0 , l e a v e s ?), Ma in linea di principio, qualsiasi struttura non spanning può solo comportare un esplosione super esponenziale, che quindi può essere controllata prendendo d polinomio grande. H1H0leavesd
Heng Guo,

@HengGuo Grazie per aver letto! Di Intendo il numero di componenti e | H 1 | la dimensione dello spazio del ciclo (rango del circuito) e "lascia" il numero di vertici di grado 1. Aggiungerò quelle definizioni. |H0||H1|
Lorenzo Najt,

Deve esserci qualcosa di sbagliato in questo. Se esiste un politopo i cui vertici sono lassi e cicli semplici, non possiamo usare la programmazione lineare per massimizzare qualsiasi funzione lineare che desideriamo su questo politopo? E questo non ci permetterebbe di trovare un lazo spanning in tempo polinomiale?
Peter Shor,

@PeterShor Penso che ciò non accada perché il polytope vive all'interno dell'iperpiano definito impostando la somma delle variabili di bordo su una. In modo che funzionale sia costante sul politopo. La funzione che rappresenta il numero di spigoli è la dimensione del supporto del vettore, che non è lineare su questo politopo.
Lorenzo Najt,

@PeterShor Ho aggiunto una prova che la funzione "numero di spigoli" non può essere lineare, vedere l'immagine in basso.
Lorenzo Najt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.