Una rappresentazione artistica della macchina di Turing L'informatica teorica è una branca dell'informatica e della matematica che riguarda gli aspetti più astratti e matematici della computazione , come la teoria della computazione , la semantica della programmazione e la teoria della complessità computazionale . La prima studia cosa in generale possa essere calcolato tramite algoritmi , la seconda cosa e come sia calcolato da uno specifico algoritmo, la terza le risorse ad esso necessarie. Nonostante non abbia come oggetto un singolo argomento, i suoi ricercatori spesso formano un sottogruppo compatto all'interno degli informatici.
Lo Special Interest Group on Algorithms and Computation Theory dell'ACM (SIGACT) definisce l'informatica teorica come "l'analisi formale della computazione efficiente e dei processi computazionali".[ 1]
Lo stesso SIGACT afferma che l'informatica teorica "include un'ampia varietà di temi fra cui algoritmi, strutture dati, complessità computazionale, computazione parallela e distribuita, computazione probabilistica, computazione quantistica, teoria degli automi, teoria dell'informazione, crittografia, semantica e verifica dei programmi, apprendimento automatico, biologia computazionale, economia computazionale, geometria computazionale, teoria dei numeri computazionale e algebra. Il lavoro in questo campo si caratterizza spesso per la sua enfasi su tecniche e rigore matematici."[ 1]
EATCS, l'Associazione europea per l'informatica teorica
SIGACT, Special Interest Group on Algorithms and Computation Theory Chicago Journal of Theoretical Computer Science
Information and Computation
Formal Aspects of Computing
Journal of the ACM
SIAM Journal on Computing
SIGACT News
Theoretical Computer Science
Theory of Computing Systems Annual ACM Symposium on the Theory of Computing (STOC)
IEEE Symposium on Foundations of Computer Science (FOCS)
Symposium on Discrete Algorithms (SODA)
International Colloquium on Automata, Languages and Programming (ICALP)
Symposium on Theoretical Aspects of Computer Science (STACS)
European Symposium on Algorithms (ESA)
Algebraic Methodology And Software Technology (AMAST)
IEEE Symposium on Logic in Computer Science (LICS)
International Symposium on Algorithms and Computation(ISAAC)
(APPROX/RANDOM)
Computational Complexity Conference (CCC)
Symposium on Parallelism in Algorithms and Architectures (SPAA)
Computability in Europe (CiE)
^ a b SIGACT, ACM SIGACT , su sigact.org . URL consultato il 6 febbraio 2021 .
(EN ) Jan Van Leeuwen ed. (1990): Handbook of Theoretical Computer Science volume A , Elsevier, ISBN 0-444-88071-2
(EN ) Jan Van Leeuwen ed. (1990): Handbook of Theoretical Computer Science volume B , Elsevier, ISBN 0-444-88074-7
(EN ) Jan Van Leeuwen ed. (1995): Computer Science Today. Recent Trends and Developments , Springer, ISBN 3-540-60105-8
(EN ) Donald Knuth (1997): The Art of Computer Programming Volume 1 Fundamental algorithms , 3rd ed., Addison-Wesley, ISBN 0-201-89683-4
(EN ) Donald Knuth (1997): The Art of Computer Programming Volume 2 Seminumerical algorithms , 3rd ed., Addison-Wesley, ISBN 0-201-89684-2
(EN ) Donald Knuth (1997): The Art of Computer Programming Volume 3 Sorting and Searching , 2nd ed., Addison-Wesley, ISBN 0-201-89685-0
(EN ) Alberto Apostolico (2002) Border of strings in automata analysis , 1st ed., McGraw-Hill, ISBN 0-448-22039-3
Carlo Ghezzi, Dino Mandrioli (1999) Informatica Teorica , Città Studi Edizioni, ISBN 8-825-17241-9