eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingDlaczego dowód na nierozstrzygalność problemu stopu jest błędnyDlaczego dowód na nierozstrzygalność problemu stopu jest błędny
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newspeer2
    .se.telia.net!newspeer3.se.telia.net!se.telia.net!nf02.dk.telia.net!starscream.
    dk.telia.net!news.tele.dk!feed118.news.tele.dk!postnews.google.com!t20g2000yqa.
    googlegroups.com!not-for-mail
    From: Mariusz Marszałkowski <m...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Dlaczego dowód na nierozstrzygalność problemu stopu jest błędny
    Date: Thu, 19 Aug 2010 06:35:34 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 45
    Message-ID: <8...@t...googlegroups.com>
    NNTP-Posting-Host: 89.229.34.123
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1282224935 27370 127.0.0.1 (19 Aug 2010 13:35:35 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Thu, 19 Aug 2010 13:35:35 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: t20g2000yqa.googlegroups.com; posting-host=89.229.34.123;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8)
    Gecko/20100722 Firefox/3.6.8,gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:186594
    [ ukryj nagłówki ]

    Problem stopu zakłada że istnieje:
    Program S, który dla każdego programu P i
    danych D dla programu P, zawsze się zatrzymuje i:
    1) zwraca TAK gdy program P się zatrzymuje dla danych D
    2) zwraca NIE gdy program P się nie zatrzymuje dla danych D.

    Wyobraźmy sobie przykładowy program S:
    Pod zerowym adresem jest miejsce na odpowiedź.
    Począwszy od pierwszego adresu do adresu NS są instrukcje
    i dane programu S. Od adresu NS+1 do adresu NP są
    instrukcje programu P, od adresu NP+1 do adresu ND są
    dane programu D. Można napisać:
    S = 0 | INST_S | INST_P | DATA_D [1]

    Założenie jest takie, że program S analizuje przez skończoną
    ilość czasu program P uruchomiony na danych D, następnie
    pod adres 0 wpisuje odpowiedź TAK albo NIE i kończy swoje
    działanie.

    Przy pomocy programu S można napisać program T. Program T
    rozpoznaje czy program S dla programu P i danych D=P programu
    P, zwrócił TAK czy NIE. Jeśli program S zwrócił TAK, to program
    T wpada w wieczną pętlę, jeśli program S zwrócił NIE, to program
    T kończy swoje działanie.

    Wyobraźmy sobie program T w pamięci:
    T = INST_T | S = INST_T | 0 | INST_S | P | P [2]

    Wg dowodu programowi T można podać samego siebie jako
    parametr P, czyli T(T). Otóż jest to niemożliwe. Dlaczego?
    Podstawmy do [2] T pod P
    T = INST_T | S = INST_T | 0 | INST_S | T | T
    Podstawienie takie wymagałoby, aby program T w zajmowanej
    przez siebie pamięci miał swoje dwie kopie i jeszcze dodatkowe
    instrukcje. Wynika z tego że dowód na nierozstrzygalność
    problemu stopu pokazuje, że problem stopu nie jest rozstrzygalny,
    ale na programie który nie może istnieć.

    Co kończy dowód.

    P.S
    Dowód pokazuje że "dowód na nierozstrzygalność jest błędny"
    natomiast nic nie mówi o tym, czy problem stopu jest rozstrzygalny
    czy nie.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: