Download presentation
Presentation is loading. Please wait.
Published byJunior Blair Modified over 6 years ago
1
Welcome to CS 620 – Theory of Computation Fall 2017
Instructor: Marc Pomplun September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
2
Instructor – Marc Pomplun
Office: S-3-171 Lab: S-3-135 Office Hours: Tuesdays : : Thursdays 17:15 – 18:00 Homepage: September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
3
And what is my area of research?
It’s Cognitive Science, esp. eye movements September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
4
User Identification through Eye-Movement Patterns
September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
5
Introduction: What is Eye Tracking?
Eye tracking is the process of measuring either the point of gaze (where one is looking) or the motion of an eye relative to the head. Images from : ,
6
Experimental Design 40 Subjects 6 Passages, each passage in 3 screens
(25 female) with an average age of 20.4 All screens were presented on a 22-inch View-Sonic LCD monitor with a refresh rate of 75 Hz and a resolution of 1024 x 768 pixels. Eye movements were monitored by an SR Research EyeLink-2k system with a sampling frequency of 1000 Hz.
7
Pupillary Response Features Spatial Reading Features
Feature Extraction Fixation Features Saccadic Features: saccade related metrics Pupillary Response Features: reflect changes in pupil size Spatial Reading Features reveal eye movement behavior in terms of reading efficiency 5 8 6 4 Fixation Features Saccadic Features Pupillary Response Features Spatial Reading Features 5 8 3 2 Feature
8
Combining Multiple Good Classifiers can Improve Accuracy
9
Identification Performance (Equal Error Rate) False Acceptance Rate (FAR) vs. False Rejection Rate(FRR) 95.31% probability of identification at Average 0.134% FAR and Average 6.051% FRR.
10
Text <?> Eye-Movement
The influence of text difficulty level and topic on eye-movement behavior and pupil size during reading September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
11
Text-content influences classification accuracies
Likely Captures differences between passages instead of differences between individuals Likely to be over fitted to text content 1- Results based on “Biometric identification through eye-movement”, (AHFE 2017) Akram Bayat and Marc Pomplun
12
Proposing a Novel Idea This work presents a novel technique to identify unique individual readers based on an effective fusion scheme that combines fixation patterns with syntactic and semantic word relationships in a text. Information Fusion for user identification Eye-movement data Semantic text content
13
Semantic Word Representation
Word2Vec The embedding of all words in six passages (Passage 1 through 6) using skip- gram model where there is a word associated with a data point
14
Lecture 1: Introduction and Preliminaries
September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
15
Object Recognition and Scene Understanding using Deep Neural Network
Image from : Zhou, Bolei, et al. "Object detectors emerge in deep scene cnns." arXiv preprint arXiv: (2014). September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
16
Lecture 1: Introduction and Preliminaries
Image from : Zhou, Bolei, et al. "Object detectors emerge in deep scene cnns." arXiv preprint arXiv: (2014). September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
17
Lecture 1: Introduction and Preliminaries
Generative Models Images from : September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
18
Lecture 1: Introduction and Preliminaries
Generative Models Generate a specific future under a given set of conditions Image from : September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
19
Unsupervised Learning of 3D Structure from Images
Extract underlying 3D structures from 2D images without having 3D labels September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
20
Lecture 1: Introduction and Preliminaries
Now back to CS 620: Textbook: Martin D. Davis, Ron Sigal & Elaine J. Weyuker: Computability, Complexity, and Languages. Fundamentals of Theoretical Computer Science. Elsevier Science, 2nd Edition ISBN: On the Web: (contains all kinds of course information and also my slides in PPT, PDF and HTML formats, updated after each session) Theory of Computation Lecture 1: Introduction and Preliminaries September 5, 2017
21
Lecture 1: Introduction and Preliminaries
Your Evaluation 6 sets of exercises % midterm (1.5 hours) % final exam (2.5 hours) % September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
22
Lecture 1: Introduction and Preliminaries
Grading For the assignments, exams and your course grade, the following scheme will be used to convert percentages into letter grades: 95%: A 90%: A- 86%: B+ 82%: B 78%: B- 74%: C+ 70%: C 66%: C- 62%: D+ 56%: D 50%: D- 50%: F September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
23
Complaints about Grading
If you think that the grading of your assignment or exam was unfair, write down your complaint (handwriting is OK), attach it to the assignment or exam, and give it to me or put it in my mailbox. I will re-grade the whole exam/assignment and return it to you in class. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
24
What is so interesting about the Theory of Computation?
Theory of Computation is the most fundamental subject in computer science. What you learn in this course applies to all computers and all programming languages that will ever exist. You will understand the capabilities of algorithms in general. For example, you will learn about problems that cannot be solved algorithmically. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
25
Lecture 1: Introduction and Preliminaries
Sets and n-tuples ( two types of collection objects) Functions Alphabets and Strings Predicates Quantifiers Proof by Contradiction Mathematical Induction September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
26
Lecture 1: Introduction and Preliminaries
Haskell Haskell is a programing language that is called lazy and pure functional. Lazy: because the expressions that are not needed to determine the answer are not evaluated the opposite of lazy language is strict language like C that every expression is evaluated, whether the result of its computation is important or not Link for video : why functional programming matters: September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
27
Lecture 1: Introduction and Preliminaries
Haskell Functional: Haskell is called a functional language because the evaluation of a program is equivalent to evaluating a function in the pure mathematical sense (evaluating expressions). The opposite of this is an imperative language which evaluates a sequence of statements one after the other. For example: take and pass functions as arguments September 8, 2009 Theory of Computation Lecture 1: Introduction and Preliminaries
28
Lecture 1: Introduction and Preliminaries
Set Theory Set: Collection of objects (“elements”) aA “a is an element of A” “a is a member of A” aA “a is not an element of A” A = {a1, a2, …, an} “A contains…” Order of elements is meaningless It does not matter how often the same element is listed. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
29
Lecture 1: Introduction and Preliminaries
Cartesian Product The ordered n-tuple (a1, a2, a3, …, an) is an ordered collection of objects. Two ordered n-tuples (a1, a2, a3, …, an) and (b1, b2, b3, …, bn) are equal if and only if they contain exactly the same elements in the same order, i.e. ai = bi for 1 i n. The Cartesian product of two sets is defined as: AB = {(a, b) | aA bB} Example: A = {x, y}, B = {a, b, c} AB = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
30
Lecture 1: Introduction and Preliminaries
Cartesian Product Note that: A = A = For non-empty sets A and B: AB AB BA The Cartesian product of two or more sets is defined as: A1A2…An = {(a1, a2, …, an) | aiAi for 1 i n} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
31
Lecture 1: Introduction and Preliminaries
Set Operations Union: AB = {x | xA xB} Example: A = {a, b}, B = {b, c, d} AB = {a, b, c, d} Intersection: AB = {x | xA xB} AB = {b} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
32
Lecture 1: Introduction and Preliminaries
Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: AB = September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
33
Lecture 1: Introduction and Preliminaries
Set Operations The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | xA xB} Example: A = {a, b}, B = {b, c, d}, A-B = {a} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
34
Lecture 1: Introduction and Preliminaries
Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: -A = U-A U: universal set: a super set that contains any possible element under a context Example: U = N, B = {250, 251, 252, …} -B = {0, 1, 2, …, 248, 249} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
35
Lecture 1: Introduction and Preliminaries
Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: AB (note: Here, ““ has nothing to do with if… then) September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
36
Lecture 1: Introduction and Preliminaries
Functions If f:AB, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:AB is the set of all images of elements of A. We say that f:AB maps A to B. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
37
Lecture 1: Introduction and Preliminaries
Alphabets and Strings Alphabets Theory of computation is entirely based on symbols. These symbols are generally letters and digits. Examples: A = {0, 1} is an alphabet of binary digits A = {a, b, c, …., z} is an alphabet. A word (string) on A is an n-tuple of symbols of A. Instead of using the notation (a1, a2, …, an) we can just write a1a2…an. The set of all words on A is written A*. Any subset of A* is called a language on A. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
38
Lecture 1: Introduction and Preliminaries
Alphabets and Strings Concatenation of strings: Let string u = monkey, v = business uv = monkeybusiness vu = businessmonkey September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
39
Propositional Functions
Propositional function (open sentence): statement involving one or more variables, e.g.: x-3 > 5. Let us call this propositional function P(x), where P is the predicate and x is the variable. What is the truth value of P(2) ? false What is the truth value of P(8) ? false What is the truth value of P(9) ? true September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
40
Propositional Functions
Let us consider the propositional function Q(x, y, z) defined as: x + y = z. Here, Q is the predicate and x, y, and z are the variables. What is the truth value of Q(2, 3, 5) ? true What is the truth value of Q(0, 1, 2) ? false What is the truth value of Q(9, -9, 0) ? true September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
41
Universal Quantification
Let P(x) be a propositional function. Universally quantified sentence: For all x in the universe of discourse P(x) is true. x P(x) “for all x P(x)” or “for every x P(x)” (Note: x P(x) is either true or false, so it is a proposition, not a propositional function.) Theory of Computation Lecture 1: Introduction and Preliminaries
42
Universal Quantification
Example: S(x): x is a UMB student. G(x): x is a genius. What does x (S(x) G(x)) mean ? “If x is a UMB student, then x is a genius.” or “All UMB students are geniuses.” September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
43
Existential Quantification
Existentially quantified sentence: There exists an x in the universe of discourse for which P(x) is true. Using the existential quantifier : x P(x) “There is an x such that P(x).” “There is at least one x such that P(x).” (Note: x P(x) is either true or false, so it is a proposition, but no propositional function.) September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
44
Existential Quantification
Example: P(x): x is a UMB professor. G(x): x is a genius. What does x (P(x) G(x)) mean ? “There is an x such that x is a UMB professor and x is a genius.” or “At least one UMB professor is a genius.” September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
45
Disproof by Counterexample
A counterexample to x P(x) is : an object c so that P(c) is false. Statements such as x (P(x) Q(x)) can be disproved by simply providing a counterexample. Statement: “All birds can fly.” Disproved by counterexample: Penguin. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
46
Lecture 1: Introduction and Preliminaries
Induction The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
47
Lecture 1: Introduction and Preliminaries
Induction If we have a propositional function P(n), and we want to prove that P(n) is true for any natural number n, we do the following: Show that P(0) is true. (basis step) Show that if P(n) then P(n + 1) for any nN. (inductive step) Then P(n) must be true for any nN (conclusion) September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
48
Lecture 1: Introduction and Preliminaries
Induction Example (“Gauss”): … + n = n (n + 1)/2 Show that P(0) is true. (basis step) For n = 0 we get 0 = 0. True. September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
49
Lecture 1: Introduction and Preliminaries
Induction Show that if P(n) then P(n + 1) for any nN. (inductive step) … + n = n (n + 1)/2 … + n + (n + 1) = n (n + 1)/2 + (n + 1) = (n + 1) (n/2 + 1) = (n + 1) (n + 2)/2 = (n + 1) ((n + 1) + 1)/2 September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
50
Lecture 1: Introduction and Preliminaries
Induction Then P(n) must be true for any nN. (conclusion) … + n = n (n + 1)/2 is true for all nN. End of proof. End of first lecture! September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.