الانتقال إلى المحتوى
The Lumenary
مسار الدهشةاختياري · لا يُقيَّم أبدًاينطلق من Repetition and decisions

Can a computer decide?

هذه الصفحة غير مترجمة بعدُ إلى العربية، لذلك تُعرض باللغة English.

ساعد في الترجمة →
1

السؤال

Some programs stop and some loop forever. Could someone write one clever program that looks at any program, together with its input, and always correctly says whether it will stop?

جرّب التجربة قبل متابعة القراءة. لا توجد طريقة خاطئة للاستكشاف.

2

التجربة

آلة القُطر

هذه قائمة من المتتاليات اللانهائية المكوّنة من 0 و1 (لا نستطيع إلا عرض بدايتها). المتتالية الذهبية d تقلب القُطر.

s1…
s2…
s3…
s4…
s5…
s6…
d101001????…

أشِر إلى صف (أو انتقل إليه بمفتاح Tab) لترى أين تختلف d عنه. انقر على أي رقم لتغيير القائمة.

أضف d إلى القائمة، وستظهر d جديدة مختلفة مرة أخرى. لا يمكن لأي قائمة — مهما طالت — أن تحتوي على كل المتتاليات.

3

تلميحات، إن أردتها

    4

    ما الذي يحدث

    ما الذي يحدث

    In 1936 Alan Turing proved that no such checker can exist. The argument is short.

    Suppose a program HH could take any program PP and input xx and always answer correctly "PP stops on xx" or "PP runs for ever on xx". Build a new program DD: given a program PP, it asks HH whether PP stops when given its own text as input, and then does the opposite — if HH says "stops", DD loops for ever; if HH says "runs for ever", DD stops.

    Now run DD on its own text. If DD stops, then HH said "DD runs for ever" — wrong. If DD runs for ever, then HH said "DD stops" — wrong again. Either way HH makes a mistake, so the perfect checker HH cannot exist. This is the halting problem, and it is undecidable.

    This is the same diagonal trick Cantor used to show that some infinities are bigger than others, and Gödel used to show that no consistent formal system can prove every true statement about whole numbers. It does not say that we can never tell whether a particular program stops — often we can — only that no single program can do it for all programs. Henry Rice later showed that the same holds for every non-trivial question about what programs compute.

    تشبيه، وليس بناءً صوريًا: The experiment shows Cantor's diagonal argument for 0–1 sequences. The halting proof below uses the same diagonal idea, applied to programs; the experiment is an illustration of the idea, not the halting proof itself.

    مُختبَر حاسوبيًاصاغه الذكاء الاصطناعي · بانتظار المراجعة البشرية
    5

    إلى أين يقود هذا