كمال تورنغ

في نظرية الحاسوبية، يقال عن نظام قواعد التعامل مع  البيانات (مثل مجموعة التعليمات لكمبيوتر، لغة البرمجة، أوخلايا ذاتية السلوك) بأنها كاملة حسب تورنغ أو عامة حسابيا إذا كان يمكن استخدامها لمحاكاة أي آلة تورنغ وحيدة الشريط . يستقى هذا المفهوم من عالم الرياضيات الإنجليزي آلان تورنغ. المثال التقليدي هو حساب لامدا.
هناك مفهوم يرتبط ارتباطا وثيقا هو تكافؤ تورنغ - اذا كان لدينا جهازي كمبيوتر  P وQ فإننا نقول بانهما متكافئان حسب تورنغ  إذا كان  P يمكنه محاكاة Q وQ يمكنه محاكاة P.أطروحة تشرتش-تورنغ تقول بأن أي وظيفة التي يمكن حساب مقاديرها  بوساطة خوارزمية  يمكن حسابها من قبل آلة تورنغ، وبالتالي أنه إذا كان يمكن محاكاة أي جهاز كمبيوتر في العالم الحقيقي من قبل آلة تورنغ، فهو مكافئ تورنغ  لآلة تورنغ. آلة تورنغ العامة يمكن استخدامها لمحاكاة أي آلة تورنغ وبالتالي محاكاة الجوانب الحسابية لأي جهاز كمبيوتر في العالم الحقيقي.
لاظهار ان هناك شيئا كاملاً حسب تورنغ، يكفي إظهار أنه يمكن استخدامه لمحاكاة نظام  تورنغ كامل ما.  على سبيل المثال، اللغة الأمرية هي كاملة حسب تورنغ إذا كان لديه التفرع المشروط (على سبيل المثال تعليمات، "if" و"go to" ، أو أمر "branch if zero". انظر OISC)، والقدرة على تغيير مقدار  الذاكرة الأولي (على سبيل المثال ، القدرة على الحفاظ على عدد ما من المتغيرات). وبما أن هذا هو الحال دائما تقريبا، معظم (إن لم يكن كل) اللغات حتمية وتورنغ كاملة إذا تم تجاهل القيود المفروضة على ذاكرة محدودة.

الاستخدام غير الرياضي 

في العامية استخدام مصطلحي "كامل حسب تورنغ" أو "تكافؤ تورنغ" كان يعني أن أي العالم الحقيقي العامة الغرض الكمبيوتر أو الكمبيوتر لغة يمكن أن ما يقرب من محاكاة الجوانب الحسابية من أي دولة أخرى في العالم الحقيقي الكمبيوتر للأغراض العامة أو لغة الكمبيوتر.
أجهزة الكمبيوتر الحقيقية التي شيدت حتى الآن هي في جوهرها مماثلة لآلة تورنغ ذو الشريط احد؛ وهكذا فان  الرياضيات المرتبطة يمكن أن تطبق عليها بما فيه الكفاية من خلال تجريد عملها. ومع ذلك، فان أجهزة الكمبيوتر الحقيقية محدودة الموارد المادية ، لذلك فهي   اوتومات محدود خطي كامل. في المقابل، فانالكمبيوتر العام تم تعريفه كجهاز مع مجموعة تورنغ كاملة التعليمات، مع ذاكرة لانهائية،ووقت متوفر غير محدود.

التاريخ

كمال تورنغ كاف للقول بأن تصميم أي جهاز حوسبة في العالم الحقيقي  يمكن محاكاته من قبل آلة تورنغ العامة . إن أطروحة تشرتش–تورنغ تنص على أن  قانون الرياضيات يقول أنه  يمكن لآلة تورنغ العامة ، من حيث المبدأ ، أداء أي حساب يستطيع أي حاسوب مبرمج أداؤه.إن هذا لا يخبر شيئا عن الجهد اللازم لكتابة البرنامج ، أو الوقت قد تستغرقه الآلة لأداء الحساب ، أو أي قدرات لا علاقة لها بالحساب يجب أن تمتلكها الآلة .
المحرك التحليلي لتشارلز باباج (1830) كان أول آلة كاملة حسب تورنغ فيما لو تم بناؤها في ذلك الوقت الذي صممت فيه. قدر باباج أن الآلة لها قدرة كبيرة على الحساب ، بما في ذلك الاستدلال المنطقي  البدائي، لكنه لم يقدر أن أي آلة أخرى يمكن أن تفعل ما هو أفضل. من 1830 حتى 1940 الميكانيكية بنيت الآلات الحاسبة مثل الجامعات والضاربات، ولكن لم يمكنها أن تؤدي التفرع الشرطي وبالتالي لم تكن كاملة حسب تورنغ.
في أواخر القرن 19 ،صاغ ليوبولد كرونيكير  مفاهيم الحوسبة ، وتحديد التوابع العودية الأولية. يمكن أن تحسب هذه التوابع عن طريق الحوسبة التلقينية، ولكنها ليست كافية لصنع كمبيوتر عام، لأن التعليمات التي تحسبها لا تسمح بوجود حلقة لا نهائية. في أوائل القرن 20،قاد ديفيد هيلبرت برنامجاً لتأطير كل الرياضيات التي يمكن أن تؤديها الآلة بالبديهيات الدقيقة والقواعد المنطقية للاستنتاج. سرعان ما أصبح واضحا أن مجموعة صغيرة من قواعد الاستنتاج تكفي لإنتاج حصيلة أي مجموعة من البديهيات.  أثبت كورت غودل في عام 1930 أن هذه القواعد كافية لإنتاج أية مبرهنة. ومع ذلك ، فإن قواعد الاستنتاج هذه تثيت  بعض المبرهنات دائما كصحيحة وخاطئة  على حد سواء ، داخل تأطير ما لا أبسط من بديهيات بيانو على سبيل المثال.
بعد ذلك بفترة قصيرة تم عزل مفهوم الحساب الفعلي، ابتداء بمبرهنة عدم الاكتمال لغودل. أظهرت هذه النظرية أن نظم البديهيات كانت محدودة عند حل المحاسبات التي تستنتج نظرياتها. أثبت تشرتش وتورنغ بشكل مستقل أن مسألة اتخاذ القرار ل هيلبيرت غير قابلة للحل ،  ومن ثم تحديد نواة الحسابية لمبرهنة عدم الاكتمال. هذه الجهود جنبا إلى جنب مع جهود غودل على التوابع العودية العامة ، أكدت أن هناك مجموعات من التعليمات البسيطة، التي، عندما توضع معا، فإنها قادرة على إنتاج أي محاسبة. جهود غودل أظهرت أن فكرة تدوين المحاسبات هي في الأساس فريدة من نوعها.

نظرية الحاسوبية

النتيجة الأولى من نظرية الحاسوبية هو أنه بشكل عام فإنه من المستحيل التنبؤ بماذا سيفعل برنامج كامل حسب تورنغ ضمن فترة زمنية طويلة. على سبيل المثال ، من أجل كل زوج برنامج-دخل فإنه من المستحيل تحديد إذا كان البرنامج الذي يشتغل على دخل معين، سوف يتوقف في نهاية المطاف أو سوف تستمر إلى الأبد (انظر مسألة التوقف). إنه من المستحيل تحديد ما إذا كان البرنامج سيعيد "صح TRUE" أو  "خطأ FALSE". من أجل أية خاصية للخرج النهائي للبرنامج ، فإنه من المستحيل تحديد ما إذا كان سوف يتم التوصل لهذه الخاصية. في الممارسة العملية يمكن أن يسبب هذا الأمر المشاكل عند تحليل البرامج الحاسوب الحقيقية. تجنب ذلك يتم بجعل البرامج تنهي التنفيذ بعد فترة محددة من الوقت (المهلة)، أو بالحد من قوة التعليمات المتحكمة بتدفق البرنامج. أنظمة كهذه هي في تصميمها ليست  كاملة حسب تورنغ.
هناك مبرهنة أخرى تدل على أن هناك مشاكل قابلة للحل من قبل اللغات الكاملة حسب تورنغ ولا يمكن حلها من قبل أي لغة لا تحوي سوى قدرات محدودة للحلقات (هذا يعني أي لغة تضمن أن كل برنامج سوف ينهي التنفيذ في نهاية المطاف). بفرض  اللغة تضمن الانتهاء، فإن التابع المحسوب من قبل جدل كانتور القطري على كل التوابع المحسوبة  في تلك اللغة هو ليس محسوباً في تلك اللغة.

إيحاءات تورنغ

إن جهاز كمبيوتر مع الوصول إلى شريط لانهائي من البيانات قد يكون أقوى من آلة تورنغ: فعلى سبيل المثال ،جهاز كمبيوتر ذو الشريط قد يحوي حلاً لمسألة التوقف أو لمسائل تورنغ أخرى غير قابلة للحسم.  يسمى الشريط البيانات اللانهائي هذا بإيحاء تورنغ.

الفيزياء الرقمية 

كل قوانين الفيزياء المعروفة لها نتائج قابلة للحساب على الكمبيوتر الرقمي عن طريق سلسلة من التقريبات. توجد فرضية تسمى الفيزياء الرقمية تنص على أن هذا الأمر ليس من قبيل الصدفة، لأن الكون نفسه قابل للحوسبة على  آلة تورنغ العامة. وهذا يعني أنه لا يمكن أن يتم بناء أي كمبيوتر أقوى من  آلة تورنغ العامة بشكل فيزيائي (انظر  أطروحة تشرتش–تورنغ).

لغات غير كاملة حسب تورنغ

توجد  العديد من اللغات الحسابية غير  كاملة حسب تورنغ. أحد الأمثلة على ذلك هو مجموعة  اللغات المنظمة التي يتم إنشاؤها من قبل التعابير المنظمة والتي هي يمكن تمثيلها بالأتومات المنتهي. توجد فئة أكثر قوة ولكنها لا تزال غير كاملة حسب تورنغ وتعتبر امتداداً محدوداً للأتومات المنتهي وهي فئة الأتومات ذو المكدس والقواعد خارح السياق التي تستخدم عادة لتوليد أشجار الإعراب  في المرحلة الأولية من ترجمة البرنامج. أمثلة أخرى تشمل بعض الإصدارات المبكرة للغات الرسوم المضمنة في Direct3D وOpenGL امتداد  .
في لغات  البرمجة التابعية الكلية مثل اللغات  تشاريتي وإيبيغرام، جميع التوابع كلية ومجبرة على الإنتهاء. تستخدم تشاريتي النوع ونظام تدفق التحكم على أساس نظرية الفئة ، في حين يستخدم إيبيغرام الأنواع المرتبطة.

لغات البيانات

مفهوم كمال تورنغ لا ينطبق على لغات مثل XML, HTML, JSON, YAML وتعبيرات-S لأنها تستخدم عادة لتمثيل البيانات المهيكلة ، وليس لتصف المحاسبات.  يشار إليها في بعض الأحيان لغات الترميز أو أكثر بشكل دقة "لغات الاحتواء" أو "لغات وصف البيانات". غير أن القاعدة 110 ،الاتومات الخلوي الكمال حسب تورنغ ، قد طبقت بنجاح في CSS ، مما يثبت (إلى حد ما) كمالها حسب تورنغ  (في الواقع لا يتفق الجميع ، مثل فرانسيس مكابي  على أن CSS  كاملة حسب تورنغ لأنه لا يوجد خيار لبناء التوابع في CSS).