งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 Introduction to the Theory of Computation (complexity, computability, and automata) นำเสนอโดย ดร. สุธี สุดประเสริฐ Source: Chapter 0 - Introduction to.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 Introduction to the Theory of Computation (complexity, computability, and automata) นำเสนอโดย ดร. สุธี สุดประเสริฐ Source: Chapter 0 - Introduction to."— ใบสำเนางานนำเสนอ:

1 1 Introduction to the Theory of Computation (complexity, computability, and automata) นำเสนอโดย ดร. สุธี สุดประเสริฐ Source: Chapter 0 - Introduction to the Theory of Computation by Michael Sipser

2 2 อะไรคือความสามารถพื้นฐานของ คอมพิวเตอร์และขีดจำกัดของคอมพิวเตอร์ คืออะไร ? ปัญหานี้เริ่มขึ้นในช่วงปี 1930 เมื่อนักคณิตศาสตร์ เริ่มสนใจที่จะหาความหมายของ “ การคำนวณ ” (computation) มี 3 สาขาวิชาที่เกี่ยวเนื่องกับปัญหานี้ โดยแต่ละ สาขามีมุ่งมองในการตอบปัญหานี้แตกต่างกันไป Complexity theory Computability theory Automata theory

3 3 Complexity theory (1) ปัญหาทางคอมพิวเตอร์มีความหลากหลาย ; บางปัญหาง่าย เช่น ปัญหาการจัดเรียงลำดับ บางปัญหายาก เช่น ปัญหาการจัดตารางเวลา อะไรคือองค์ประกอบที่ทำให้ปัญหาหนึ่ง ยากกว่า อีกปัญหาหนึ่ง ซึ่งปัญหานี้คือหัวใจหลักของ complexity theory

4 4 Complexity theory (2) นักวิจัยได้ค้นพบวิธีการในการจำแนกได้ว่าปัญหา หนึ่งมีความยากง่ายขนาดไหน ในกรณีนี้ เราสามารถแสดงวิธีการในการให้หลักฐานว่า ปัญหาหนึ่งคือปัญหาที่มีความยากทางการคำนวณ ( เหมือนการบอกชนิดของธาตุ จากการเปรียบจากตาราง ธาตุ ) แต่เราไม่สามารถพิสูจน์ตรงๆ ได้ว่าปัญหาหนึ่งเป็นปัญหา ที่ยาก

5 5 Complexity theory (3) สาขาวิชาหนึ่งที่มีการใช้ complexity theory โดยตรงคือสาขาวิทยาการเข้ารหัสลับ (cryptography) ในสาขาวิชาอื่นๆ ส่วนมากจะชอบปัญหาที่ง่ายมากกว่า ปัญหาที่ยาก แต่สาขาวิทยาการเข้ารหัสลับ จะแตกต่างออกไปคือ ต้องการที่จะหาปัญหาที่แก้ได้ยากแทน

6 6 Computability theory ในช่วงปี , นักคณิตศาสตร์ (Kurt Godel, Alan Turing, และ Alonzo Church) ได้ค้นพบว่ามีปัญหารูปแบบ หนึ่งที่คอมพิวเตอร์ไม่สามารถแก้ปัญหาได้ ปัญหานั้นคือการบอกว่านิพจน์ทางคณิตศาสตร์หนึ่งเป็นจริงหรือ เท็จ ไม่มีลำดับวิธีการทางคอมพิวเตอร์ไหนที่สามารถแก้ไขนี้ได้ ใน computability theory การจำแนกปัญหาจะจำแนกว่า ปัญหาแบบไหนแก้ไขได้และปัญหาแบบไหนแก้ไขไม่ได้

7 7 Automata theory (1) Automata theory จะสนใจในการนิยามและคุณสมบัติของ จำลองทางคณิตศาสตร์ของการคำนวณ แบบจำลองหนึ่งคือ finite automaton ซึ่งนิยมใช้ใน text processing, compilers, และ hardware design อีกแบบจำลองหนึ่งคือ context-free grammar ซึ่งนิยมใช้ ใน programming languages และ artificial intelligence (natural language processing)

8 8 Automata theory (2) Automata theory เป็นจุดเริ่มต้นที่เหมาะสมในการ เริ่มต้นศึกษาทฤษฎีการคำนวณเพราะว่า computability theory และ complexity theory ต้องการนิยามที่ชัดเจนของคอมพิวเตอร์ก่อน การศึกษา automata theory จะทำให้เราเข้าใจ นิยามทั่วไปของคอมพิวเตอร์ได้ชัดเจนมากขึ้น

9 9 สัญลักษณ์ทางคณิตศาสตร์และ คำศัพท์ที่ควรรู้ก่อนเรียนวิชานี้ Sets Sequences and Tuples Functions and Relations Graphs Strings and Languages Boolean Logic

10 10 Sets {7, 21, 57} 7  {7, 21, 57} {7,21}  {7, 21, 57} {7, 7, 7, 21, 57} = {7, 21, 57} Infinite set N = {1, 2, 3, …}  is empty set

11 11 Sets Union A  B { 1, 2, 3 }  { 2, 3, 4, 5 } = { 1, 2, 3, 4, 5 } Intersect A  B { 1, 2, 3 }  { 2, 3, 4, 5 } = { 2, 3 } Complement A ’ { 0, 2, 4, … }’ = { 1, 3, 5, … } Power set is the set of all subsets. A = { 0, 1 } A* = { , {0}, {1}, {0, 1} }

12 12 Sequence and Tuples Sequence (7, 21, 57)  (21, 7, 57)  (7, 7, 21, 57) Tuple A sequence with k elements is a k-tuple. (1, 3) : 2-tuple (also called pair ) (2, 4, 6) : 3-tuple

13 13 Functions and Relations Functions : A function also is called a mappings. f(a) = bf: D → R abs (-1) = abs(-1) = 1 ads: Integer → Integer add (3, 5) = 8 add: Integer  Integer → Integer divide (5, 2) = 2.5 divide: Integer  Integer → Real DomainRange InputOutput

14 14 Functions and Relations A predicate or property is a function whose range is {TRUE, FALSE}. even (4) = TRUE, odd (4) = FALSE A property whose domain is a set of k-tuples is called a relation, a k-ary relation. A 2-ary relation is called a binary relation. aRb means aRb = TRUE or R ( a, b ) = TRUE infixprefix

15 15 Graphs nodes (vertices) edges (arcs) 5 nodes, 6 edges 4 nodes, 6 edges An undirected graph or a graph degree 3 degree = 2

16 16 Graphs G = ( V, E ) where V is the set of nodes and E is the set of edges G = ({1,2,3,4,5}, {(1,2), (2,3), (3,4), (4,5), (5,1)})

17 17 Graphs a path in a grapha cycle in a grapha tree

18 18 Graphs A directed graph indegree = 1 outdegree = 2 indegree = 2 outdegree = 2

19 19 Strings and Languages  = { a, b, c,d,e, 0, 1 } An alphabet is any nonempty finite set. Members of the alphabet are the symbols of the alphabet. A string over an alphabet is a finite sequence of symbols from that alphabet. ab01, 01aed, 001, aabb alphabet symbols

20 20 Strings and Languages If w is a string, the length of w, written | w |, is the number of symbols. w = abcde, | w | = 5 | w | = 0 is call the empty string and is written . w R is the reverse of w. w = abcde, w R = edcba w = abracadabra, cad is substring of w.

21 21 Strings and Languages w 1 = abcd and w 2 = 0011, the concatenation of w 1 and w 2, written w 1 w 2. w 1 w 2 = abcd0011. A language is a set of strings.

22 22 Boolean Logic The value TRUE and FALSE are called the Boolean values. Often represented by the value 1 and 0. conjunction or AND disjunction or ORnegation or NOT

23 23 Boolean Logic exclusive or or XOR equalityimplication Two expressions in each row are equivalent.

24 24 Boolean Logic Distributive Law P  ( Q  R ) equals ( P  Q )  ( P  R ) P  ( Q  R ) equals ( P  Q )  ( P  R )

25 25 Definitions, Theorems, and Proofs Definitions Mathematical statements Proof Theorem Lemmas Corollaries

26 26 Definitions Definitions describe the objects and notions that we use.

27 27 Mathematical statements A meaningful composition of words which can be considered either true or false is called a mathematical statement or simply a statement. “ ABC is an equilateral triangle.” “ E is a set of even numbers.”

28 28 Proofs A proof is a convincing logical argument that a statement is true. A theorem is a mathematical statement proved true. Generally we reserve the use of that word for statements of special interest. A lemma is a proved statement that is interesting only because they assist in the proof of another, more significant statement. A corollary is a proved statement that may allow us to conclude easily that other, related statements are true.

29 29 Types of Proof Proof by construction Proof by contradiction Proof by induction


ดาวน์โหลด ppt 1 Introduction to the Theory of Computation (complexity, computability, and automata) นำเสนอโดย ดร. สุธี สุดประเสริฐ Source: Chapter 0 - Introduction to.

งานนำเสนอที่คล้ายกัน


Ads by Google