Presentation is loading. Please wait.

Presentation is loading. Please wait.

Welcome to CS 620 – Theory of Computation Fall 2017

Similar presentations


Presentation on theme: "Welcome to CS 620 – Theory of Computation Fall 2017"— Presentation transcript:

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”) aA “a is an element of A” “a is a member of A” aA “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: AB = {(a, b) | aA  bB} Example: A = {x, y}, B = {a, b, c} AB = {(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: AB  AB  BA The Cartesian product of two or more sets is defined as: A1A2…An = {(a1, a2, …, an) | aiAi for 1  i  n} September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries

31 Lecture 1: Introduction and Preliminaries
Set Operations Union: AB = {x | xA  xB} Example: A = {a, b}, B = {b, c, d} AB = {a, b, c, d} Intersection: AB = {x | xA  xB} AB = {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: AB =  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 | xA  xB} 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: AB (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:AB, 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:AB is the set of all images of elements of A. We say that f:AB 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 nN. (inductive step) Then P(n) must be true for any nN (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 nN. (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 nN. (conclusion) … + n = n (n + 1)/2 is true for all nN. End of proof. End of first lecture! September 5, 2017 Theory of Computation Lecture 1: Introduction and Preliminaries


Download ppt "Welcome to CS 620 – Theory of Computation Fall 2017"

Similar presentations


Ads by Google