Download presentation
Presentation is loading. Please wait.
Published byChristal Brooks Modified over 9 years ago
1
CS1502 Formal Methods in Computer Science Lecture Notes 16 Review for Exam2 continued Theory of Computation Introduction
2
10.25 Is the following a logical truth? ~exist z Small(z) exist z ~Small(z)
3
1. Every cube is to the left of every tet. 2. Every small cube is in back of a large cube. 11.16 3. Some cube is in front of every tet. 4. A large cube is in front of a small cube.
4
11.16 5. Nothing is larger than everything 6. Every cube in front of every tet is large. which is 7. Everything to the right of a large cube is small. 8. Nothing in back of a cube and in front of a cube is large.
5
11.16 9. Anything with nothing in back of it is a cube. 10. Every dodec is smaller than some tet.
6
11.20 1. Nothing to the left of a is larger than everything to the left of b 3. The same things are left of a as are left of b.
7
11.20 7. Only dodecs are larger than everything else. Answer in solution: Is this correct? Hmm….
8
Necessary S is always true PossibleSatisfiable S could be true Equivalence S and S’ always have the same truth values Consequence Whenever P1…Pn are true, Q is also true Tautological Translate sentences into propositional logic using TFF algorithm S is a tautology S is Tautologically possible S and S’ are Tautologically equivalent Q is a tautological consequence of P1…Pn First Order (FO) Replace predicates with nonsense names S is an FO validity S is FO possible (FO satisfiable) S and S’ are FO equivalent Q is a FO consequence of P1…Pn Logical S is logically necessary (a logical truth) (logically valid) S is logically possible (satisfiable) S and S’ are logically equivalent Q is a logical consequence of P1…Pn
9
Theory of Computation Sipser text covers automata, computability, and complexity CS1502: automata (chapter 1) CS1511 uses the same text
10
Theory of Computation What are the fundamental capabilities and limitations of computers?
11
Complexity Theory Classes of problem difficulty (sorting < sched) The **problems**, not the code If can show a problem is in a certain class: –‘easy’ keep working on an efficient solution! –‘hard’ give up, you won’t find a fast solution Perhaps modify the problem into an easier one; maybe solving that is good enough for what’s needed Cryptography – want problem so decoding is intractable Still important/answered questions. As new models of computation arise: what is tractable/intractable?
12
Computability Theory Which problems can be solved on a computer? Turing Machine: Abstract away from particular hardware, OS, PL, algorithm Can compute anything that is a Turing machine
13
Automata Theory Begins with the question, what is a computer? Real computers are too complex and messy to model. So, we define computational models (idealized computer)
14
Finite Automata; Finite-State Machines Simplest machines Cannot compute everything, but operations are cheap and efficient. So, use them if you can! Used in text processing, compilers, hardware design, etc. Composed of states and transitions between states
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.