Problemi di calcolo infinitamente grandi ma localmente limitati


14

Questa domanda è ispirata da un commento fatto da Jukka Suomela su un'altra domanda .

Quali sono esempi di problemi (e algoritmi) di calcolo infinitamente grandi ma localmente limitati?

In altre parole, quali sono esempi di calcoli che si fermano a tempo finito, in cui ogni Macchina di Turing legge ed elabora solo dati finiti, ma nel complesso il calcolo risolve un problema di dimensioni infinite se ci sono infinitamente molte macchine di Turing collegate in rete?


Stavo per commentare che questa idea sembra la stessa di una singola TM con infinitamente molti nastri, che pensavo di aver visto prima, ma ora non riesco a trovare un riferimento. Sto sognando o è un'idea esplorata? Certamente sono state studiate altre estensioni di ipercalcutazione come infinite TM. L'idea della "rete" TM aggiunge qualcosa a questo modello?
Huck Bennett,

@HuckBennett: non lo so; potrebbe essere lo stesso. Ho avuto la sensazione dal commento originale di Jukka che stava pensando a problemi come Graph Coloring su un grafico infinito di grado limitato (anche se non so se quel particolare problema sarebbe una risposta a questa domanda). Ogni TM avrebbe eseguito lo stesso algoritmo e avrebbe parlato con un gruppo finito di vicini. Sembra che una TM con infinitamente molti nastri potrebbe essere in grado di simulare un grafico con infinitamente molti spigoli tra due nodi, che è in linea di principio diverso da quello che ho in mente. So molto poco di questi modelli però.
Aaron Sterling,

Risposte:


13

Giusto per dare alcune idee su ciò che è possibile (ma in qualche modo non banale), ecco un esempio: un algoritmo distribuito che trova un limite massimo impacchettato in un grafico a gradi limitati.

Definizione del problema

Dato un semplice grafico non orientato , un impaccamento dei bordi (o corrispondenza frazionaria) associa un peso w ( e ) a ciascun bordo e E tale che per ciascun nodo v V , il peso totale dei bordi incidente a v è al massimo 1 . Un nodo è saturo se il peso totale dei bordi degli incidenti è uguale a 1 . Un impaccamento dei bordi è massimo se tutti i bordi hanno almeno un punto finale saturo (cioè, nessuno dei pesi può essere esteso avidamente).G=(V,E)w(e)eEvVv11

Osservare che una corrispondenza massima definisce un impaccamento del bordo massimo (impostare w ( e ) = 1 iff e M ); quindi è facile da risolvere in una classica impostazione centralizzata (supponendo GMEw(e)=1eMsol sia finito).

Gli imballaggi perimetrali in realtà hanno alcune applicazioni, almeno se si definisce un'applicazione nel solito senso TCS: l'insieme di nodi saturi forma un'approssimazione di una copertura minima del vertice (ovviamente questo ha senso solo nel caso di una G finita2sol ) .

Modello di calcolo

Partiamo dal presupposto che esiste una costante globale tale che il grado di qualsiasi v V sia al massimo Δ .ΔvVΔ

Per tenerlo il più vicino possibile allo spirito della domanda originale, definiamo il modello di calcolo come segue. Partiamo dal presupposto che ogni nodo è una macchina di Turing e un bordo { u , v } E è un canale di comunicazione tra u e v . Il nastro di input di v codifica il grado deg ( v ) di v . Per ogni v V , i bordi incidenti a v sono etichettati (in un ordine arbitrario) con numeri interi 1 , 2 , ...vV{u,v}Euvvdeg(v)vvVv ; Questi sono chiamatietichette giuntati locali(l'etichetta di { u , v } E possono essere diversi per u e v ). La macchina ha istruzioni con le quali può inviare e ricevere messaggi attraverso ciascuno di questi bordi; una macchina può rivolgersi ai vicini usando le etichette dei bordi locali.1,2,...,deg(v){u,v}Euv

Abbiamo bisogno che le macchine calcolare un bordo valida imballaggio per G . Più precisamente, ogni v V deve stampare sul suo nastro di output una codifica di w ( e ) per ciascun bordo e incidente a v , ordinato dalle etichette dei bordi locali e quindi arrestarsi.wsolvVw(e)ev

Diciamo che un algoritmo distribuito trova un impacchettamento del bordo massimo nel tempo T , se quanto segue vale per qualsiasi grafico G di massimo grado Δ e per qualsiasi etichettatura di bordo locale di G : se sostituiamo ogni nodo di G con una copia identica di la Turing machine A e avviare le macchine, quindi dopo i passaggi T tutte le macchine hanno stampato una soluzione valida (globalmente coerente) e si sono fermate.UNTsolΔsolsolUNT

Infinities

Ora tutto quanto sopra ha perfettamente senso anche se l'insieme dei nodi è numerabilmente infinito.V

La formulazione del problema e il modello di calcolo non hanno riferimenti a , direttamente o indirettamente. La lunghezza dell'input per ogni macchina di Turing è limitata da una costante.|V|

Ciò che è noto

Il problema può essere risolto a tempo finito anche se è infinito.sol

Il problema non è banale, nel senso che è necessaria una comunicazione. Inoltre, il tempo di funzionamento dipende da . Tuttavia, per qualsiasi Δ fisso , il problema può essere risolto in tempo costante indipendentemente dalla dimensione di G ; in particolare, il problema è risolvibile su grafici infinitamente grandi.ΔΔsol

Non ho verificato qual è il tempo di esecuzione più noto nel modello sopra definito (che non è il solito modello utilizzato nel campo). Tuttavia, un tempo di esecuzione polinomiale in dovrebbe essere abbastanza facile da raggiungere, e penso che un tempo di esecuzione che sia sublineare in Δ sia impossibile.ΔΔ


3

Trovare la prossima generazione di un automa cellulare .

Questo può essere risolto come descritto in tempo costante. (cioè indipendente dall'input)


Penso che sia necessaria maggiore cura per formulare effettivamente un problema computazionale (non banale, interessante) che è risolvibile in tempo finito usando gli automi cellulari?
Jukka Suomela,

1
Sono d'accordo con @Jukka. Ritengo che la versione attuale di questa risposta sia al livello di un commento, e non informativa. Non descrive né un problema computazionale né un algoritmo. Downvoted.
Aaron Sterling,

2

In sostanza, ogni problema difficile almeno quanto la colorazione richiede un algoritmo con un tempo di esecuzione dipendente dal numero di nodi nella rete e quindi non può funzionare in un grafico infinito ma localmente finito. Ciò segue dal registro seminale di Linial * n limite inferiore.


2
Ma qual è esattamente il tuo modello di calcolo qui? Linial presuppone che tutti i nodi abbiano identificatori numerici univoci; se proviamo a mapparlo nell'impostazione suggerita nella domanda originale, avremmo macchine di Turing che hanno i loro identificatori numerici sui loro nastri di input. Ma ora la dimensione dell'identificatore è illimitata; semplicemente aspettare che tutte le macchine abbiano letto i propri identificatori impiega infinitamente tempo. Direi che l'ostacolo non è in realtà il limite inferiore di Linial, ma è il modello di calcolo: gli identificatori univoci sono il modello sbagliato quando affrontiamo gli infiniti.
Jukka Suomela,

1
@Jukka: Avevo immaginato un sistema in cui tutti i processori erano anonimi quando ho scritto la domanda, esattamente per evitare che gli ID crescessero senza limiti. Ma ora mi sembra che qui possa esserci un problema non banale. Se scegli una dimensione del programma e alcune funzioni calcolabili che limitano le dimensioni del vicinato di un processore, forse l'avversario onnipotente può scegliere un set di ID grande ma finito in modo che il limite di Linial sia ancora un fattore in qualche modo. L'avversario potrebbe dover essere in grado di calcolare una funzione che cresce più velocemente di qualsiasi funzione calcolabile per farlo.
Aaron Sterling,

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.