Course description

We first convince ourselves that for our purpose it suffices to consider only language recognition problems instead of general computational problems. We then provide a thorough account of finite state automata and regular languages, not only because these capture the simplest language class of interest and are useful in many diverse domains. But also because many fundamental notions like nondeterminism, proofs of impossibility, etc. get discussed at a conceptually very simple level. We then consider context grammars and languages, and their properties. Next, we consider Turing machines (TMs), show that as a model it is very robust, and the reasonableness of the Church-Turing hypothesis. After we realize TMs can work with (codes of) TMs as inputs, we obtain a universal TM. We then obtain the separation of the classes r.e., and recursive. A number of TM related problems are shown to be undecidable. Next,Posts correspondence problem (PCP) is shown undecidable. Finally, we introduce the notion of feasible or tractable computation. Classes NP, co-NP are defined and we discuss why these are important. We discuss the extended Church-Turing hypothesis. After we discuss polynomial time many-one reducibility and prove Cook-Levin theorem, a number of natural problems from different domains are shown NP-complete. The treatment is informal but rigorous. Emphasis is on appreciating that the naturalness and the connectedness of all the different notions and the results that we see in the course. Contents: Regular languages Introduction: Scope of study as limits to compubality and tractability. Why it suffices to consider only decision problems, equivalently, set membership problems. Notion of a formal language. DFAs and notion for their acceptance, informal and then formal definitions. Class of regular languages. Closure of the class under complementation, union and intersection. Strategy for designing DFAs. Pumping lemma for regular languages. Its use as an adversarial game. Generalized version. Converses of lemmas do not hold. NFAs. Notion of computation trees. Definition of languages accepted. Construction of equivalent DFAs of NFAs. NFAs with epsilon transitions. Guess and check paradigm for design of NFAs. Regular expressions. Proof that they capture precisely class of regular languages. Closure properties of and decision problems for regular languages. Myhill-Nerode theorem as characterization of regular languages.States minimization of DFAs. Context free languages: Notion of grammars and languages generated by grammars. Equivalence of regular grammars and finite automata. Context free grammars and their parse trees. Context free languages. Ambiguity. Pushdown automata (PDAs): deterministic and nondeterministic. Instantaneous descriptions of PDAs.Language acceptance by final states and by empty stack. Equivalence of these two. PDAs and CFGs capture precisely the same language class. Elimination of useless symbols, epsilon productions, unit productions from CFGs. Chomsky normal form. Pumping lemma for CFLs and its use. Closure properties of CFLs. Decision problems for CFLs. Turing machines, r.e. languages, undecidability: Informal proofs that some computational problems cannot be solved. Turing machines (TMs), their instantaneous descriptions. Language acceptance by TMs. Hennie convention for TM transition diagrams.Robustness of the model-- equivalence of natural generalizations as well as restrictions equivalent to basic model. Church-Turing hypothesis and its foundational implications. Codes for TMs. Recursively enumerable (r.e.) and recursive languages. Existence of non-r.e. languages. Notion of undecidable problems. Universal language and universal TM. Separation of recursive and r.e. classes. Notion of reduction. Some undecidable problems of TMs. Rices theorem. Undecidability of Posts correspondence problem (PCP), some simple applications of undecidability of PCP. Intractability: Notion of tractability/feasibility. The classes NP and co-NP, their importance. Polynomial time many-one reduction. Completeness under this reduction. Cook-Levin theorem: NP-completeness of propositional satisfiability, other variants of satisfiability. NP-complete problems from other domains: graphs (clique, vertex cover, independent sets, Hamiltonian cycle), number problem (partition), set cover.

What will i learn?

Requirements

skill expert

Free

Lectures

42

Skill level

Beginner

Expiry period

Lifetime

Certificate

Yes

Related courses

Beginner

Memory Systems

0

(0 Reviews)

Compare

Overview In this course, we first provide a comprehensive overview of memory systems, taking an approach that covers both fundamentals and recent research. We first introduce fundamental principles and ideas, covering DRAM and emerging memory technologies as well as many architectural concepts and ideas related to memory organization, memory control, processing-in-memory, and memory latency / energy / bandwidth / reliability / security / QoS. We discuss major challenges facing modern memory systems (and the computing platforms we currently design around the memory system) in the presence of greatly increasing demand for data and its fast analysis. We examine some promising research and design directions to overcome these challenges. On the research-related part of course (sprinkled across topical lectures), we discuss the following key research topics in detail, focusing on both open problems and potential solution directions: Fundamental issues in memory reliability and security and how to enable fundamentally secure, reliable, safe architectures Enabling data-centric and hence fundamentally energy-efficient architectures that are capable of performing computation near data Reducing both latency and energy consumption by tackling the fixed-latency/energy mindset Enabling emerging memory technologies Enabling predictable and QoS-aware memory systems Research challenges and opportunities in enabling emerging NVM (non-volatile memory) technologies Scaling NAND flash memory and SSDs (solid state drives) into the future

Free

22:36:25 Hours