Maszyna Turinga: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
Nie podano opisu zmian |
|||
Linia 1:
{{Definicja|Maszyna Turinga stanowi najprostszy, wyidealizowany matematyczny model komputera, zbudowany z taśmy, na której zapisuje się dane i poruszającej się wzdłuż niej
[[Plik:Turing Machine.png|thumb
[[Plik:Turing machine 2b.svg|thumb|Grafika przedstawiająca maszynę Turinga w stanie q<sub>1</sub> nad zerem na taśmie]]
'''Maszyna Turinga'''
== Wstęp ==
Każdy algorytm wyrażalny na maszynie Turinga można wyrazić w [[rachunek lambda|rachunku lambda]] i odwrotnie. Ponieważ jednak maszyny Turinga rozszerza się bardzo trudno, zaś rachunek lambda bardzo łatwo, w praktyce są one o wiele mniej popularne jako rzeczywiste modele obliczeń. Są za to używane często do udowadniania nierozstrzygalności różnych problemów.
Linia 13:
Istnieją też maszyny Turinga wielotaśmowe lub [[determinizm|niedeterministyczne]] (gdzie jednej parze (symbol, stan) może odpowiadać kilka instrukcji) oraz wielowymiarowe (prostą dwuwymiarową maszyną Turinga jest [[mrówka Langtona]]).
W informatyce dowodzi się równoważności wielu różnych wariantów maszyny Turinga. Np. dość łatwo jest pokazać, że maszyna Turinga z wieloma taśmami nie różni się istotnie od klasycznej maszyny jednotaśmowej. Również niedeterministyczne maszyny Turinga są równoważne deterministycznym. Rozważania na temat mocy obliczeniowej niedeterministycznych maszyn Turinga są podstawą centralnego problemu [[Złożoność obliczeniowa|teorii złożoności obliczeniowej]] –
Mimo że maszyna Turinga jest abstrakcją o dużej mocy obliczeniowej (większej na przykład niż dowolny komputer), istnieje wiele problemów (np. [[problem stopu]]), których nie da się na niej rozwiązać. Matematycy rozważają więc (od czasów samego [[Alan
== Zapis formalny ==
Linia 39:
np. ciąg wejściowy ''ΦabcΦ'' (gdzie Φ to symbol pusty oznaczający koniec danych) zamieni na ''ΦaabbccΦ''
: Q = {
: q<sub>0</sub> = q<sub>0</sub>
: F = {
: Γ = {
: B = Φ
: Σ = {
<center>
Linia 137:
Weźmy znacznie prostszą maszynę Turinga niż w przykładzie powyżej – będzie sprawdzać, czy dane słowo jest [[palindrom]]em.
: Q = {
: q<sub>0</sub> = q<sub>0</sub>
: F = {
: Γ = {
: B = Φ
: Σ = {
{| class="wikitable"
!
! q<sub>0</sub>
Linia 163 ⟶ 162:
| q<sub>6</sub><br />-,-
| q<sub>0</sub><br />Φ,P
| rowspan="3"
| rowspan="3"
|-
! a
Linia 252 ⟶ 251:
Spis przejść wraz ze stanem taśmy, nawiasy prostokątne wskazują położenie głowicy.
0.
1. (A,A;#→#R) #[#]1000#
2. (A,A;#→#R) ##[1]000#
Linia 269 ⟶ 268:
== Inne ujęcie ==
Model przedstawiony przez [[Roger Penrose|Rogera
Przyjmuje się, że maszyna obsługuje tylko dwa znaki na taśmie – zero i jedynkę. Przy tym stany wewnętrzne są oznaczone [[dwójkowy system
0'''0''' → 0'''0'''R,
Linia 278 ⟶ 277:
1'''1''' → 1'''1'''R.
Jest to maszyna '''UN+1''' zwiększająca liczbę zapisaną w [[Jedynkowy system
Można przyjąć, że instrukcja L.STOP nigdy nie występuje, gdyż odpowiedź ma znaleźć się po lewej stronie maszyny. Dlatego R.STOP skraca się do STOP. W ten sposób zapisujemy maszynę '''UN×2''' jako
Linia 356 ⟶ 355:
T<sub>5</sub>: 0'''0''' → 0'''0'''R, 0'''1''' → 0'''1'''L,
T<sub>6</sub>: 0'''0''' → 0'''0'''R, 0'''1''' → 0'''0'''R, 1'''0''' → 0'''0'''R,
T<sub>7</sub>: 0'''0''' → 0'''0'''R, 0'''1''' →
T<sub>8</sub>: 0'''0''' → 0'''0'''R, 0'''1''' → 10'''0'''R,
T<sub>9</sub>: 0'''0''' → 0'''0'''R, 0'''1''' → 1'''0'''L,
Linia 363 ⟶ 362:
T<sub>12</sub>: 0'''0''' → 0'''0'''R, 0'''1''' → 0'''0'''R, 1'''0''' → 0'''0'''R
Większość jest niekompletna (bywa np. ,<!-- POPRAW TO MIEJSCE! --> że zawierają więcej, niż cztery jedynki z rzędu, czyli są ''niepoprawnie określone'') lub nigdy się nie zatrzymuje, zdarzają się też powtórzenia. Żaden system kodowania nie pozwala wyeliminować wszystkich takich dat.
Pewna skomplikowana maszyna Turinga zastosowana do numeru dowolnej maszyny Turinga i jej argumentu da wynik działania tej maszyny.
Linia 375 ⟶ 374:
== Linki zewnętrzne ==
* [http://mathworld.wolfram.com/TuringMachine.html Maszyna Turinga] {{lang|en}} w encyklopedii [[MathWorld]]
* [http://edu.i-lo.tarnow.pl/inf/prg/003_mt/index.php Maszyna Turinga] w serwisie edukacyjnym [[I Liceum Ogólnokształcące im. Kazimierza Brodzińskiego w Tarnowie|I LO w Tarnowie]]
* Prezentacja modelu [http://www.youtube.com/watch?v=cYw2ewoO6c4 maszyny Turinga] zrealizowanej za pomocą klocków lego.
|