Download What is a First

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Perturbation theory wikipedia , lookup

Artificial intelligence wikipedia , lookup

Lateral computing wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Scalar field theory wikipedia , lookup

Algorithm wikipedia , lookup

Natural computing wikipedia , lookup

A New Kind of Science wikipedia , lookup

Algorithm characterizations wikipedia , lookup

Computational complexity theory wikipedia , lookup

Theoretical computer science wikipedia , lookup

Transcript
CS1502 Formal Methods in
Computer Science
Lecture Notes 16
Review for Exam2 continued
Theory of Computation
Introduction
10.25
Is the following a logical truth?
~exist z Small(z)  exist z ~Small(z)
1. Every cube is to the left of every tet.
2. Every small cube is in back of a large cube.
3. Some cube is in front of every tet.
4. A large cube is in front of a small cube.
11.16
11.16
5. Nothing is larger than everything
which is
6. Every cube in front of every tet is large.
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.
11.16
9. Anything with nothing in back of it is a cube.
10. Every dodec is smaller than some tet.
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.
11.20
7. Only dodecs are larger than everything else.
Answer in solution:
Is this correct? Hmm….
Necessary
S is always true
Possible
Satisfiable
S could be true
Equivalence
Consequence
S and S’ always
have the same
truth values
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
Theory of Computation
Sipser text covers automata,
computability, and complexity
CS1502: automata (chapter 1)
CS1511 uses the same text
Theory of Computation
What are the fundamental capabilities and
limitations of computers?
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?
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
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)
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