Releases: boazbk/tcs
December 2018 version
This is the version of the book as per December 2018. I am releasing it here before making some changes to the notation.
In this version the computational models are:
-
NAND: Straightline programs with NAND operation (equivalent to Boolean circuits with NAND gates)
-
NAND++: Programs with loops (equivalent to Turing machines, in this version, "vanilla" NAND++ corresponds to oblivious Turing machines)
-
NAND<<: Programs with random access memory, equivalent to RAM machines.
The upcoming versions (0.5.x and onwards) will be less "idiosyncractic" in the sense that Boolean circuits, Turing machines, and RAM machines are introduced before their programming-language analogs. The names of the programming languages will also change to emphasize the relation with the more standard models, and so we will have
-
NAND-CIRC: Straightline programs with NAND operation (equivalent to Boolean circuits with NAND gates)
-
NAND-TM: Programs with loops equivalent to standard single tape Turing machines.
-
NAND-RAM: Programs with random access memory, equivalent to RAM machines.