تصميم خوارزمية
الخوارزمية هو مصطلح يشير إلى مجموعة محدودة ومعينة من الخطوات، حيث أن كل واحدة من هذه الخطوات قد تتطلب في حد ذاتها واحد أو أكثر من العمليات الحسابية والمنطقية ، وإذا ما تم إتمام وتنفيذ هذه الخطوات بشكل صحيح فإنه سوف نحصل على نتيجة أو على مجموعة من النواتج بعد فترة محدودة ومعينة من الوقت اللازم لتنفيذ ذلك .
وهناك مجموعة وعناصر من القيود والممانعات على نوع العمليات التي يمكن أن تتضمن وتحيط الخوارزمية وهي التالي:
آلة تورنغ
حينها نقول أنَّ M تقرر اللغة L , ونكتب formula_74 . نسمي L لغة عودية( recursive language) إذا يوجد آلة تورنغ تقررها . 
التعقيد هو تحديد أحد خصل الآلة لكل المُدخلات (مثل : الوقت أو كمية المساحة الاضافية) والتي نريد قياسها , كما في الخوارزميات كان هناك مقياس "النجاعة" هو وقت الخوارزمية ولعلنا أردنا في بعض المسائل تحديد كمية الوقت مثلا : في مسألة تصفيف الاعداد , يمكننا حل هذه المسألة بواسطة تصفيف الفقاعة بوقت (O(n بهذا نكون قد حصرنا الوقت وهكذا فاننا نعلم أن كل مُدخل لن يلزمه أكثر من هذا الوقت , وقياس وقت آلة تورنغ يكون بعد عدد الخطوات حتى توقف الآلة وإخراج النتيجة . بشكل رياضي : لتكن formula_75 دالة , نقول أن آلة تورنغ تعمل خلال وقت formula_76 إذا لكل مُدخل formula_77 الوقت (عدد خطوات الحساب أو بشكل مكافئ عدد الصور حتى الوصول لصورة نهائية) اللازم للالة M هو formula_78 (نرمز لطول x ب-|x| ). الدالة (f(n هي حد على وقت M .
هنالك عدة أنواع من الالات تورنغ أو الات شبيهة ولكن بالرغم من هذا فانه قد تبين أنَّ آلة تورنغ عمومية بما يكفي لتشمل هذه الأنواع من الالات هذه النظرة تبناها تورنغ وتشرتش في اطرحتهما المشهورة إذ انهما فرضا ان كل تعريف لمصطلح الخوارزمية من الناحية الرياضية مكافئ لالة تورنغ انفة الذكر , يعني ان كل نموذج حسابي يوجد آلة تورنغ التي تحاكي عمله واضف ان المسائل التي لا يمكن حلها بمساعدة آلة تورنغ حينها لا يمكن حلها بنموذج اخر الذي قد يكون أكثر تعقيدا . بالرغم من ان هذه الفرضية صعب جدا فحصها والتدقيق فيها ولكن كل نموذج حاسوبي تبين أنه مكافئ لالة تورنغ.
وهي آلة تورنغ كما عرفناها سابقا غير ان فيها اختلاف بسيط : بدل أن يكون هناك شريط مُدخل واحد هنالك عدة اشرطة , وهذا النموذج هو لمحاكاة الخوارزميات الموازية ولكن كما تم الذكر فان هذه الآلة يمكن محاكاتها بواسطة آلة تورنغ عادية . في الواقع إذا كان وقت عمل آلة تورنغ عديدة الاشرطة هو formula_76 حينها يمكن بناء آلة تورنغ مع شريط واحد 'M تحاكي الآلة M بحيث أنَّ وقتها هو formula_80 أو بكلمات أخرى كل ما نستطيع فعله مع آلة تورنغ عديد الاشرطة يمكن فعله أيضا مع آلة تورنغ بشريط واحد . 
بينما تنص اطروحة تشرتش على أن كل نموذج حسابي معقول مساوي لالة تورنغ مع فرق وقت كثير الحدود هذه الآلة , أي آلة تورنغ غير حتمية, يُعتقد بانها لا تحقق هذه الاطروحة حيث أنه حتى يومنا ما زالت مسألة محاكاة هذه الآلة هو الأصعب إذ انه لا يوجد الا محاكاة التي وقتها على آلة تورنغ أسية وهذا هو أساس المسألة الشهيرة NP≠P . 
آلة تورنغ غير حتمية هي رباعية formula_81 وهي قريبة جدا من الآلة العادية : formula_82 هي كما في السابق , ولكن الآن لا يوجد خيار واحد للانتقال ولكن مجموعة من الخيارات , وهذا نراه في أن formula_83 لم تعد دالة ولكن علاقة (relation) formula_84 .
الصورة هي ثلاثي كما عرفناه سابقا, غير انه الآن نقول أن formula_38 ينتج formula_42 في خطوة واحدة ونرمز لها ب- formula_87 إذا يوجد قانون في formula_83 الذي يجعل هذا ممكنا أي : يوجد تحرك formula_89 بحيث أنَّ :