Nieskończenie duże, ale lokalnie skończone problemy obliczeniowe

14

To pytanie jest inspirowane komentarzem Jukki Suomeli do innego pytania .

Jakie są przykłady nieskończenie dużych, ale lokalnie skończonych problemów obliczeniowych (i algorytmów)?

Innymi słowy, jakie są przykłady obliczeń, które zatrzymują się w skończonym czasie, w których każda Maszyna Turinga odczytuje i przetwarza tylko dane skończone, ale w sumie obliczenia rozwiązują problem nieskończonej wielkości, jeśli istnieje nieskończenie wiele maszyn Turinga połączonych w sieć?

Aaron Sterling
źródło
Zamierzałem skomentować, że ten pomysł wydaje się taki sam jak pojedyncza TM z nieskończenie wieloma taśmami, które, jak myślałem, widziałem wcześniej, ale teraz nie mogę znaleźć odniesienia. Czy śnię, czy to zbadany pomysł? Z pewnością zbadano inne rozszerzenia hiper-obliczeniowe, takie jak TM na czas nieokreślony. Czy pomysł „sieci” TM dodaje coś do tego modelu?
Huck Bennett,
@HuckBennett: Nie wiem; może być tak samo. Z oryginalnego komentarza Jukki zrozumiałem, że myślał o problemach takich jak Graph Coloring na nieskończonym wykresie ograniczonego stopnia (choć nie wiem, czy ten konkretny problem byłby odpowiedzią na to pytanie). Każda TM uruchamiałaby ten sam algorytm i rozmawiała ze skończonym zestawem sąsiadów. Wydaje się, że TM z nieskończenie wieloma taśmami może być w stanie symulować wykres z nieskończenie wieloma krawędziami między dwoma węzłami, co zasadniczo różni się od tego, co mam na myśli. Jednak niewiele wiem o takich modelach.
Aaron Sterling,

Odpowiedzi:

13

Oto tylko jeden przykład: rozproszony algorytm, który znajduje maksymalne upakowanie krawędzi na wykresie o ograniczonym stopniu.

Definicja problemu

Biorąc pod uwagę prosty nieukierunkowane wykres , co stanowi uszczelnienie krawędzi (lub odpowiednio frakcyjną) kojarzy się na wadze w ( E ) z każdej krawędzi e E tak, że dla każdego węzła v V , całkowita waga krawędzi incydentu v wynosi co najwyżej 1 . Węzeł jest nasycony, jeśli całkowita waga krawędzi zdarzenia jest równa 1 . Wypełnienie krawędzi jest maksymalne, jeśli wszystkie krawędzie mają co najmniej jeden nasycony punkt końcowy (tzn. Żaden z obciążników nie może być zachłannie przedłużony).sol=(V.,mi)w(mi)mimivV.v11

Zauważ, że maksymalne dopasowanie określa maksymalne wypełnienie krawędzi (zestaw w ( e ) = 1 iff e M ); stąd łatwo go rozwiązać w klasycznym scentralizowanym otoczeniu (zakładając, że G jest skończone).M.miw(mi)=1miM.sol

Pakiety brzegowe faktycznie mają pewne zastosowania, przynajmniej jeśli zdefiniuje się aplikację w zwykłym sensie TCS: zbiór nasyconych węzłów tworzy przybliżenie minimalnej osłony wierzchołków (oczywiście ma to sens tylko w przypadku skończonego G ) .2)sol

Model obliczeń

Zakładamy, że istnieje stała globalna taka, że ​​stopień dowolnego v V wynosi co najwyżej Δ .ΔvV.Δ

Aby zachować to jak najbliżej ducha pierwotnego pytania, zdefiniujmy model obliczeń w następujący sposób. Zakładamy, że każdy węzeł jest maszyną Turinga, a krawędź { u , v } E jest kanałem komunikacji między u i v . Taśma wejściowe V koduje stopień ° ( v ), z v . Dla każdego v V krawędzie padające na v są oznaczone (w dowolnej kolejności) liczbami całkowitymi 1 , 2 , vV.{u,v}miuvvdeg(v)vvV.v ; są to tak zwanelokalne etykiety krawędzi(etykieta { u , v } E może być inna dla u i v ). Urządzenie posiada instrukcje, dzięki którym może wysyłać i odbierać wiadomości przez każdą z tych krawędzi; maszyna może zwracać się do swoich sąsiadów za pomocą lokalnych etykiet krawędzi.1,2),,deg(v){u,v}miuv

Wymagamy, że maszyny obliczyć prawidłową krawędzi upakowania dla G . Dokładniej, każde v V musi wydrukować na swojej taśmie wyjściowej kodowanie w ( e ) dla każdej krawędzi e padającej na v , uporządkowane według lokalnych etykiet krawędzi, a następnie zatrzymać.wsolvV.w(mi)miv

Mówimy, że rozproszony algorytm znajduje maksymalne upakowanie zbocza w czasie T , jeśli poniższe odnosi się do dowolnego wykresu G o maksymalnym stopniu Δ i dla dowolnego lokalnego oznaczenia zbocza G : jeśli zastąpimy każdy węzeł G identyczną kopią maszynę Turinga A i uruchom maszyny, a następnie po krokach T wszystkie maszyny wydrukowały prawidłowe (globalnie spójne) rozwiązanie i zatrzymały się.ZAT.solΔsolsolZAT.

Nieskończoności

Teraz wszystkie powyższe mają doskonały sens, nawet jeśli zbiór węzłów jest w nieskończoność nieskończony.V.

Formułowanie problemu i model obliczeniowy nie mają żadnych odniesień do , bezpośrednio lub pośrednio. Długość wejścia dla każdej maszyny Turinga jest ograniczona stałą.|V.|

Co jest znane

Problem można rozwiązać w skończonym czasie, nawet jeśli jest nieskończony.sol

Problem nie jest trywialny, ponieważ wymaga pewnej komunikacji. Ponadto czas działania zależy od . Jednak dla dowolnego ustalonego Δ problem można rozwiązać w stałym czasie, niezależnie od wielkości G ; w szczególności problem można rozwiązać na nieskończenie dużych wykresach.ΔΔsol

Nie sprawdziłem, jaki jest najbardziej znany czas działania w zdefiniowanym powyżej modelu (który nie jest zwykłym modelem stosowanym w tej dziedzinie). Mimo to, czas trwania, który jest wielomian w powinno być dość łatwe do osiągnięcia, i myślę uruchomioną czas, jaki ma sublinear w hemibursztynianu jest niemożliwe.ΔΔ

Jukka Suomela
źródło
3

Znalezienie nowej generacji automatu komórkowego .

Można to rozwiązać zgodnie z opisem w stałym czasie. (tj. niezależnie od danych wejściowych)


źródło
Myślę, że potrzeba więcej uwagi, aby faktycznie sformułować (nietrywialny, interesujący) problem obliczeniowy, który można rozwiązać w skończonym czasie za pomocą automatów komórkowych?
Jukka Suomela,
1
Zgadzam się z @Jukka. Uważam, że obecna wersja tej odpowiedzi jest na poziomie komentarza, a nie informacji. Nie opisuje ani problemu obliczeniowego, ani algorytmu. Doceniony.
Aaron Sterling
2

Zasadniczo każdy problem, który jest co najmniej tak trudny jak kolorowanie, wymaga algorytmu o czasie działania zależnym od liczby węzłów w sieci, a zatem nie może działać na nieskończonym, ale lokalnie skończonym grafie. Wynika to z początkowego dziennika Linial * n dolnej granicy.

Piotr
źródło
2
Ale jaki dokładnie jest tutaj twój model obliczeniowy? Linial zakłada, że ​​wszystkie węzły mają unikalne identyfikatory numeryczne; jeśli spróbujemy zmapować to do ustawienia sugerowanego w pierwotnym pytaniu, mielibyśmy maszyny Turinga, które otrzymają swój numeryczny identyfikator na swoich taśmach wejściowych. Ale teraz rozmiar identyfikatora jest nieograniczony; samo oczekiwanie, aż wszystkie maszyny odczytają własne identyfikatory, trwa nieskończenie długo. Twierdziłbym, że przeszkoda nie jest tak naprawdę dolną granicą Linial, ale jest to model obliczeniowy: unikalne identyfikatory są niewłaściwym modelem, gdy mamy do czynienia z nieskończonością.
Jukka Suomela,
1
@Jukka: Wyobraziłem sobie system, w którym wszystkie procesory były anonimowe, kiedy pisałem pytanie, właśnie po to, aby uniknąć wzrostu liczby identyfikatorów bez ograniczeń. Ale teraz wydaje mi się, że może tu być nieistotna kwestia. Jeśli wybierzesz rozmiar programu i jakąś funkcję obliczalną, która ogranicza wielkość sąsiedztwa dowolnego procesora, być może wszechmocny przeciwnik może wybrać duży, ale skończony zestaw identyfikatorów, aby limit Linial nadal był w jakiś sposób czynnikiem. Przeciwnik może być jednak w stanie obliczyć funkcję, która rośnie szybciej niż jakakolwiek funkcja obliczeniowa, aby to zrobić.
Aaron Sterling
0

ZAdo0ZAdo0

Joshua Grochow
źródło