Czy dane wejściowe do maszyny Turinga mogą mieć nieskończoną długość?

26

Biorąc pod uwagę tylko alfabet , ciągi, które można podać jako dane wejściowe do maszyn Turinga, pochodzą ze zbioru Σ . Ale czy ma sens, aby dane wejściowe były nieskończonym ciągiem binarnym? Na przykład, jeśli maszyna Turinga akceptuje wszystkie ciągi zaczynające się od 0, to czy ciąg binarny nieskończonych zer również należy do języka akceptowanego przez maszynę Turinga?Σ={0,1}Σ

sashas
źródło

Odpowiedzi:

21

Nie ma problemu z uruchomieniem maszyny Turinga na taśmie zainicjowanej nieskończonym łańcuchem, chociaż zwykle nie jest to brane pod uwagę. Nadal jednak potrzebujemy, aby maszyna zakończyła się w określonym czasie. Istnieją również pojęcia obliczeń w nieskończoności, które mogą być tutaj odpowiednie.

Yuval Filmus
źródło
4
Zakończenie obliczeń w skończonym czasie, gdy dane wejściowe są nieskończone, wydaje się trudnym wyzwaniem.
Maszt
5
@Mast niekoniecznie. Po prostu nie możesz sobie pozwolić na przeczytanie całego tekstu.
Yuval Filmus,
1
@JulesMazur Słowem kluczowym jest hiper obliczenia .
Yuval Filmus,
3
@JulesMazur Niekoniecznie potrzebujesz hiperkomputera. Program może po prostu kontynuować zapisywanie na taśmie wyjściowej, a wynik jest zbieżny do nieskończonego ciągu, jak w maszynie Turinga typu II.
jkabrg
1
Myślę, że wpadasz w kłopoty, jeśli zezwalasz na wprowadzanie ciągów infinte. W szczególności zestawu danych wejściowych nie można już policzyć, co łamie kilka dowodów.
Taemyr
17

To jedna z cech maszyn Turinga typu 2 . Są one wykorzystywane między innymi do analizy obliczalności funkcji między liczbami rzeczywistymi. Co ciekawe, są one wykorzystywane do analizy obliczalności operatorów, takich jak integracja.

Fajny fakt: Dokładna integracja numeryczna jest obliczalna.

jkabrg
źródło
5

Aby odpowiedzieć na pytanie „czy to ma sens”, może to być nawet przydatne, jeśli weźmie się pod uwagę maszyny Turinga, które działają w ograniczonym czasie.

W szczególności jest to bardzo przydatny sposób myślenia o maszynach Turinga bez prefiksów . Są to maszyny, których zestaw zatrzymanych danych wejściowych nie zawiera prefiksu; to znaczy brak danych wejściowych powodujących zatrzymanie maszyny jest prefiksem innego. Są one równoważne mocą ze zwykłymi maszynami Turinga, ale tylko wtedy, gdy pozwolimy maszynie Turinga decydować o własnych wejściach zatrzymania: tj. użytkownik nie ma pojęcia, na jakich wejściach maszyna się zatrzyma (i jest to właściwość nierozstrzygalna).

Jednym ze sposobów, aby to zobaczyć, jest zwykła maszyna Turinga z jednokierunkową nieskończoną taśmą wejściową z głowicą taśmy, która nie może się cofnąć. Użytkownik wypełnia taśmę bitami i uruchamia maszynę. Jest to z definicji maszyna Turinga bez prefiksu. Jeśli maszyna zatrzymuje się, musi odczytać tylko skończoną liczbę bitów, a żaden prefiks tej części taśmy nie może być programem, w przeciwnym razie maszyna by się tam zatrzymała.

Jest to dobry sposób na omówienie obliczalnych rozkładów prawdopodobieństwa: użytkownik wypełnia taśmę losowymi bitami (źródłem losowości maszyny), a maszyna wyrzuca losowy ciąg bitów. Zbiór wszystkich takich maszyn Turinga odpowiada zestawowi rozkładów obliczalnych (w szczególności niższych pół-obliczalnych semimeasures).

Zaletą nieskończonego wejścia jest to, że nie musimy określać, co robi maszyna, jeśli damy jej prefiks programu zatrzymującego, tj. maszyna próbuje odczytać poza końcem wprowadzonego przez nas wejścia.

Piotr
źródło
2

Nawet jeśli nie masz takiej taśmy, możesz zatrudnić inną maszynę Turinga do jej wyprodukowania.

Maszyna Turinga ma dostęp do pustej, ale nieskończonej taśmy danych (lub niektóre źródła mówią: „maszyna ma tylko wbudowaną fabrycznie małą taśmę”). Może więc zainicjować go za pomocą programowalnego wzorca danych, a następnie taśmę można wykorzystać jako dane wejściowe innej maszyny Turinga.

Oczywiście, jeśli twoja treść jest taka, że ​​nie można zdefiniować algorytmu, jak ją wytworzyć, taka treść nie może zostać utworzona przez maszynę Turinga.

h22
źródło
6
Nie jestem pewien, jak to odpowiada na pytanie. W każdym razie nie wszystkie sekwencje nieskończone mogą być generowane przez maszyny Turinga, ponieważ istnieje niepoliczalnie wiele nieskończonych ciągów znaków w dowolnym alfabecie z co najmniej dwoma symbolami, podczas gdy istnieje tylko niezliczona liczba maszyn Turinga i niezliczona liczba skończonych danych wejściowych, aby je zasiać.
David Richerby,
2

W niektórych przypadkach można rozważyć nieskończony wkład i zredukować go do działania „standardowej” maszyny Turinga. Rozważmy na przykład nieskończenie powtarzający się skończony wzór określony na wejściu. Można utworzyć maszynę Turinga, która śledzi, ile tego nieskończonego wzoru zostało zmodyfikowane przez bieżące działania głowicy taśmy przy użyciu skończonej ilości pamięci / pamięci taśmy. Innymi słowy, „równoważnie symuluje” wzór na taśmie o nieskończonym rozmiarze.

Innym przypadkiem, w którym rozważano „nieskończony wkład”, jest analiza równoważności / kompletności automatów Turinga . w złożonym dowodzie Cook wprowadził koncepcję, którą niektórzy określają jako „słabą równoważność Turinga”, przekształcając operacje reguły CA 110 w operacje maszyny Turinga, które rozpoczynają się na początkowej taśmie nieskończonej, ale z (powtarzającymi się) wzorcami o skończonych rozmiarach.

vzn
źródło
1
Terminy „nieskończone wprowadzanie” i „skończone kodowanie nieskończonego obiektu” są wyraźnie odrębne i elementarne (przykładem jest każdy nieskończony regularny język z minimalnym DFA). Nie należy ich tutaj mylić.
Raphael
2
tak Do opisanego kodowania można użyć DFA. ponieważ zarysowana taśma ze skończonym kodowaniem łańcucha o nieskończonej długości (poprzez powtarzanie skończonych wzorów) ma zarówno inne / podobne możliwości jak taśma z tylko skończonymi łańcuchami.
vzn
1

W językach formalnych ciąg znaków jest z definicji skończoną sekwencją symboli. Klasyczna maszyna Turinga ma nieskończoną taśmę ze skończonym łańcuchem wejściowym. W związku z tym, chociaż nie ma ograniczeń co do czasu, jak długo wejście może być, nie może być nieskończone.

To powiedziawszy, istnieje wiele alternatywnych maszyn, które działają podobnie do TM, ale z nieskończonymi sekwencjami wejściowymi.

To, czy sensowne jest wprowadzenie danych o nieskończonej długości, zależy od celu. Ściśle w kontekście Maszyn Turinga nie ma sensu (ponieważ nie jest to możliwe), ale w kontekście Maszyn podobnych do Turinga ma sens i ma wiele zastosowań.

wszyscy
źródło
4
Zupełnie możliwe jest posiadanie nieskończonych łańcuchów. Rzeczywiście istnieje cała gałąź teorii automatów, która zajmuje się tą dokładną sytuacją. Biorąc pod uwagę, że jedyną konieczną zmianą w definicji maszyn Turinga, aby umożliwić im radzenie sobie z nieskończonymi danymi wejściowymi, jest usunięcie warunku, że dane wejściowe muszą być skończone, nie zgadzam się, że „nie ma sensu” mówić o maszynach Turinga i nieskończone struny.
David Richerby,
1
@DavidRicherby: wydaje się, że jesteśmy zgodni. Daj mi znać, jak mogę przeformułować ostatni akapit, aby wyjaśnić, że jest to ściśle wyłącznie w kontekście oryginalnych, klasycznych, niefałszowanych Maszyn Turinga (gdzie dane wejściowe są z definicji skończone), że nie ma sensu mówić o wprowadzaniu danych o nieskończonej długości. Jak tylko usuniemy ten warunek, nie jest to już wyłącznie TM, ale (jak to nazwałem) Maszyna podobna do Turinga.
wszyscy
1
Nie zgadzam się, że urządzenie przestaje być maszyną Turinga tylko dlatego, że zaczynasz od nieskończonej ilości rzeczy na taśmie. Maszyna jest wciąż tą samą maszyną; właśnie zmieniłeś początkowe warunki. Definicje tego, w jaki sposób maszyny Turinga odnoszą się do języków o skończonych ciągach (np. Orzekalne lub półdecydowalne języki) są pod względem skończonych danych wejściowych, ale to nie znaczy, że maszyna tego wymaga. Podobnie twój komputer nie przestałby być komputerem, jeśli umieścisz obok niego nieskończony stos CDROM-ów.
David Richerby
1
@DavidRicherby Cóż, technicznie maszyna Turinga to maszyna, która przyjmuje skończony wkład. Jeśli zmienisz to ograniczenie w definicji, zdefiniujesz coś innego. Idea komputerowa jest w pewnym sensie wciąż taka sama, ale jak wyrażasz teraz złożoność? Bardzo różne problemy.
Raphael