Nəzəri informatika — informatikanın riyazi və nəzəri əsaslarını öyrənən bir sahədir. Bu sahə, hesablama, alqoritm, məlumat strukturları, mürəkkəblik nəzəriyyəsi, formal dillər və avtomatlar kimi mövzuları əhatə edir.[1] Nəzəri informatika, hesablama nəzəriyyəsi və onun tətbiqi üçün fundamental prinsipləri formalaşdırır və bir çox digər informatika sahələrinin inkişafına əsas yaradır.
Bu, alqoritmlərin və hesablama proseslərinin nəzəri əsaslarını araşdırır. Hesablama nəzəriyyəsi, "nəyi hesablamaq olar?" sualına cavab axtarır və bunun üçün müxtəlif formal modelləri istifadə edir.
Türinq maşınları — hər hansı bir hesablamanın necə yerinə yetirilə biləcəyini göstərən nəzəri modeldir. Turing maşınları, hesablama prosesinin sərhədlərini anlamaq üçün əsas vasitədir.[2]
Hesablama funksiyaları — hesablama proseslərinin tərifini verən funksiyalardır. Bu, reallaşdırma mümkünlüyünü araşdırmaq üçün istifadə olunur.
Alqoritm nəzəriyyəsi alqoritmlərin effektivliyini, performansını və səmərəliliyini öyrənir.
Alqoritmlərin analizi — alqoritmlərin zaman və məkan mürəkkəbliyini qiymətləndirmək üçün metodlar təqdim edir. Bu, O-nun, Ω-nin və Θ-nin asimptotik notasiya anlayışlarını əhatə edir.[3]
Mürəkkəblik sinifləri — P, NP, NP-tam və NP-hard kimi mülahizələri araşdırır. Bu siniflər, alqoritmlərin həll edilməsi üçün tələb olunan resursların (zaman, yaddaş) tələblərini göstərir.[4]
Bu sahə, riyazi modellər və formal dillərin təhlilini əhatə edir. Avtomatlar və formal dillər, riyazi nəzəriyyə və kompüter elmləri arasında bir əlaqə yaradır.[5]
Dilli formalizasiya — dillərin qrammatikalarını tərtib etmək və onları təhlil etmək üçün formal sistemlər (məsələn, kontekstual, regulat dillər) istifadə olunur.
Avtomatlar — müxtəlif formal dilləri qəbul edən və işləyən avtomat modelləri (məsələn, sonlu avtomatlar, Türinq maşınları) nəzəri informatikanın vacib hissələrindəndir.
Məlumat strukturları, verilənlərin saxlanması və təşkil edilməsinin riyazi prinsiplərini öyrənir. Bu, məlumatların səmərəli işlənməsi və axtarışı üçün əhəmiyyətlidir.
Məlumat strukturlarının analizi — massivlər, bağlı siyahılar, qrafiklər, ağaclar və digər strukturların səmərəliliyini qiymətləndirmək üçün istifadə olunan metodlar.[6][7]
Tətbiq sahələri — Məlumat strukturları müxtəlif tətbiqlərdə, məsələn, axtarış alqoritmlərində və verilənlər bazası sistemlərində istifadə olunur.
Nəzəri informatika, kriptoqrafik alqoritmlərin və metodların analizi ilə də bağlıdır. Burada məlumatların gizliliyi və təhlükəsizliyi üçün nəzəri yanaşmalar inkişaf etdirilir.[8]
Nəzəri informatikanın tədqiqatları və prinsipləri, proqram təminatı inkişafında, alqoritmlərin optimallaşdırılmasında, məlumatların emalında və müasir kompüter sistemlərinin dizaynında geniş şəkildə tətbiq olunur. Riyazi anlayışların dəqiq tərifi və analizi, daha səmərəli və güclü hesablama sistemlərinin yaradılmasında əhəmiyyətli rol oynayır.[9]
Nəzəri informatika, riyazi və fəlsəfi prinsipləri birləşdirərək kompüter elmlərinin əsaslarını formalaşdırır. Alqoritm tərtibatı, verilənlərin emalı, riyazi modelləşdirmə və sistem analizi kimi sahələrdəki inkişaflar, riyazi düşüncə və analitik bacarıqları inkişaf etdirir, bununla da informatika sahəsində yeni perspektivlər açır.[10]
↑Cook, Stephen A. The complexity of theorem-proving procedures // Proceedings of the third annual ACM symposium on Theory of computing - STOC '71. 1971. 151–158. doi:10.1145/800157.805047. ISBN978-1-4503-7464-4.
Martin Davis, Ron Sigal, Elaine J. Weyuker, Computability, complexity, and languages: fundamentals of theoretical computer science, 2nd ed., Academic Press, 1994, ISBN0-12-206382-1. Covers theory of computation, but also program semantics and quantification theory. Aimed at graduate students.