Presentation is loading. Please wait.

Presentation is loading. Please wait.

نظریه زبان ها و ماشین ها فصل صفر - مقدمه دانشگاه صنعتی شریف نیمسال دوّم سال تحصیلی 1386.

Similar presentations


Presentation on theme: "نظریه زبان ها و ماشین ها فصل صفر - مقدمه دانشگاه صنعتی شریف نیمسال دوّم سال تحصیلی 1386."— Presentation transcript:

1 نظریه زبان ها و ماشین ها فصل صفر - مقدمه دانشگاه صنعتی شریف نیمسال دوّم سال تحصیلی 1386

2 مراجع درس مرجع اصلی : M. Sipser, ”Introduction to the Theory of Computation,” 2 nd Ed., Thompson Learning Inc., 2006. مراجع کمکی : P. Linz, “An Introduction to Formal Languages and Automata,” 3 rd Ed., Jones and Barlett Publishers, Inc., 2001. J.E. Hopcroft, R. Motwani and J.D. Ullman, “Introduction to Automata Theory, Languages, and Computation,” 2 nd Ed., Addison-Wesley, 2001. P.J. Denning, J.B. Dennnis, and J.E. Qualitz, “Machines, Languages, and Computation,” Prentice-Hall, Inc., 1978. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

3 سیاست نمره دهی درس تمرینات %10 کوییزهای کوتاه مربوط به تمرینات %15 کوییز های عمومی درس 45% آزمون پایان نیمسال %30 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

4 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف نظریه پیچیدگی دانش رده بندی مسائل بر اساس سختی محاسباتی برای غلبه بر پیچیدگی چه می توان کرد؟ – تغییر مسئله پس از کشف که عامل دشواری آن – تقریب زدن راه حل مسئله – ارائه روش هایی که در حالت متوسط عملکرد خوبی دارند؛ – استفاده از روش های تصادفی کاربردها – به عنوان مثال در رمزنگاری، هدف این است که رمزگشایی با توان محاسباتی مهاجم غیرممکن باشد.

5 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف عناوین مورد بحث نظریه پیچیدگی نظریه محاسبه پذیری نظریه ماشین ها مبانی ریاضی الفبا رشته ها زبان ها

6 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف نظریه محاسبه پذیری ماشین ها چه مسائلی را می توانند حل کنند؟ رده بندی مسائل در دو گروه قابل محاسبه و غیرقابل محاسبه مدل های نظری برای ماشین ها – به علت قدرتمندی مدل هایی مانند RAM یا ماشین تورینگ اثبات این که چه مسائلی را می توانند حل کنند دشوار است.

7 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف نظریه ماشین ها تعریف و ویژگی های مدل های ریاضی محاسبه – مدل ماشین حالت متناهی در پردازش متن، کامپایلرها و طراحی سخت افزار کاربرد دارد. – مدل ماشین پشته ای در زبان های برنامه سازی و هوش مصنوعی کاربرد دارد.

8 Logic

9 انواع منطق Propositional logic منطق کامل Predicate logic منطق مُسندی

10 تعريف منطق Syntax مجموعه اي از متغيرها و انواع عملگرها {p, q, r, … } متغيرها و }, ν, →, ↔ ^ { ┐, عملگرها Semantic معنايي که توسط جدول درستي براي دنباله اي از نمادها به تعداد محدود بار، به همراه يک Syntax خاص، تعريف مي شود.

11 تعاريف فرمول : دنباله اي محدود از نمادها به تعداد محدود بار به همراه يک Syntax خاص Logical System: مجموعه اي از اصول و قواعد استنتاج اصول (axioms): گزاره هايي از منطق مورد نظر که هميشه درست است، تعداد آنها مي تواند محدود يا نامحدود باشد. قواعد استنتاج : قواعدي که از طريق آنها مي توان از دو گزارۀ درست به يک گزارۀ درست ديگر رسيد.

12 ادامه اثبات : دنباله اي است از گزاره هاي p 1,p 2, …,p k به گونه اي که p 1 بايد يکي از اصول و p 2 بايد يکي از اصول باشد يا با استفاده از p 1 و يکي از قواعد استنتاج اثبات مي شود و p 3 هم... که به اين مراحل يک اثبات براي p k گفته مي شود. قضيه (theorem) : گزاره اي است که در منطق، براي آن اثباتي وجود داشته باشد. منطق غير کامل : فرمول هايي وجود دارد که نمي توان آنها را اثبات کرد.

13 قواعد استنتاج 1.Modus ponens 2. برهان خلف 3.Conjunction 4. اثبات با مورد 5. استقراء

14 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف مجموعه ها مفهوم مجموعه، عضو ترتیب و تکرار اهمیت ندارد. در مجموعه های چندگانه (multiset) ، تکرار اهمیت دارد. زیرمجموعه، زیر مجموعه محض (proper subset) مجموعه تهی، مجموعه های نامتناهی اعمال روی مجموعه ها : اجتماع، اشتراک، متمم

15 Intuitive (Naïve) Set Theory There are three basic concepts in set theory: Membership Extension Abstraction نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

16 Membership Membership is a relation that holds between a set and an object to mean “the object x is a member of the set A”, or “x belongs to A”. The negation of this assertion is written as an abbreviation for the proposition One way to specify a set is to list its elements. For example, the set A = {a, b, c} consists of three elements. For this set A, it is true that but نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

17 Extension The concept of extension is that two sets are identical if and if only if they contain the same elements. Thus we write A=B to mean نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

18 Abstraction Each property defines a set, and each set defines a property If p(x) is a property then we can define a set A If A is a set then we can define a predicate p(x) نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

19 Intuitive versus axiomatic set theory Intuitive versus axiomatic set theory The theory of set built on the intuitive concept of membership, extension, and abstraction is known as intuitive (naïve) set theory. As an axiomatic theory of sets, it is not entirely satisfactory, because the principle of abstraction leads to contradictions when applied to certain simple predicates. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

20 Russell’s Paradox Let p(X) be a predicate defined as P(X) = (XX) Define set R as R={X|p(X)} Is p(R) true? Is p(R) false? نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

21 Gottlob Frege’s Comments The logician Gottlob Frege was the first to develop mathematics on the foundation of set theory. He learned of Russell Paradox while his work was in press, and wrote, “A scientist can hardly meet with anything more undesirable than to have the foundation give way just as the work is finished. In this position I was put by a letter from Mr. Bertrand Russell as the work was nearly through the press.” نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

22 Power Set The set of all subsets of a given set A is known as the power set of A, and is denoted by P (A): P (A) = {B | B  A} نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

23 Set Operation-Union The union of two sets A and B is A  B = {x | (x  A)  (x  B)} and consists of those elements in at least one of A and B. If A1, …, An constitute a family of sets, their union is = (A 1  …  A n ) = {x| x  A i for some i, 1≤ i ≤ n} نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

24 Set Operation-Intersection The union of two sets A and B is A  B = {x | (x  A) (x  B)} and consists of those elements in at least one of A and B. If A1, …, An constitute a family of sets, their intersection is = (A 1  …  A n ) = {x| x  A i for all i, 1≤ i ≤ n} نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

25 Set Operation-Complement The complement of a set A is a set A c defined as: A c = {x | x A} The complement of a set B with respect to A, also denoted as A-B, is defined as: A c = {x A | x B} نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

26 Ordered Pairs and n-tuples An ordered pair of elements is written (x,y ) where x is known as the first element, and y is known as the second element. An n-tuple is an ordered sequence of elements (x 1, x 2, …, x n ) And is a generalization of an ordered pair. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

27 Ordered Sets and Set Products By Cartesian product of two sets A and B, we mean the set A×B = {(x,y)|xA, yB} Similarly, A 1 ×A 2 ×…A n = {x 1 A 1, x 2 A 2, …, x n A n } نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

28 Relations A relation ρ between sets A and B is a subset of A×B: ρ  A×B The domain of ρ is defined as D ρ = {x  A | for some y  B, (x,y)  ρ} The range of ρ is defined as R ρ = {y  B | for some x  A, (x,y)  ρ} If ρ  A×A, then ρ is called a ”relation on A”. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

29 Types of Relations on Sets Types of Relations on Sets A relation ρ is reflexive if (x,x) ρ, for each xA A relation ρ is symmetric if, for all x,yA (x,y) ρ implies (y,x) ρ A relation ρ is antisymmetric if, for all x,yA (x,y) ρ and (y,x) ρ implies x=y A relation ρ is transitive if, for all x,y,zA (x,y) ρ and (y,z) ρ implies (x,z) ρ نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

30 Partial Order and Equivalence Relations A relation ρ on a set A is called a partial ordering of A if ρ is reflexive, anti-symmetric, and transitive. A relation ρ on a set A is called an equivalence relation if ρ is reflexive, symmetric, and transitive. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

31 Total Ordering A relation ρ on a set A is |of A if ρ is a partial ordering and, for each pair of elements (x,y) in A×A at least one of (x,y)ρ or (y,x)ρ is true. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

32 Inverse Relation For any relation ρ  A×B, the inverse of ρ is defined by ρ -1 = {(y,x) | (x,Y)  ρ} If D ρ and R ρ are the domain and range of ρ, then D ρ-1 = D ρ and R ρ-1 = R ρ نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

33 Equivalence Class Let ρ  A×A be an equivalence relation on A. The equivalence class of an element x is defined as [x] = {y  A | (x,y)  ρ} An equivalence relation on a set partitions the set. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

34 Functions A relation f  A× B is a function if it has the property (x,y) f and (x,z) f implies y=z If f  A× B is a function, we write f: A → B and say that f maps A into B. We use the common notation Y = f(x) to mean (x,y)  f. As before, the domain of f is the set D f = {x A | for some y B, (x,y)  f} and the range of f is the set R f = {y B | for some x  A, (x,y)  f} If D f  A, we say the function is a partial function; if D f = A, we say that f is a total function. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

35 Functions (continued) If x  D f, we say that f is defined at x; otherwise f is undefined at x. If R f = B, we say that f maps D f onto B. If a function f has the property f(x) = z and f(y) = z implies x = y then f is a one-to-one function. If f: A → B is a one-to-one function, f gives a one-to-one correspondence between elements of its domain and range. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

36 Functions (continued) Let X be a set and suppose A  X. Define function C A : X → {0,1} such that C A (x) = 1, if x A; C A (x) = 0, otherwise. C A (x) is called the characteristic function of set A with respect to set X. If f  A× B is a function, then the inverse of f is the set f -1 = {(y,x) | (x,y)  f} f -1 is a function if and only if f is one-to-one. Let f: A → B be a function, and suppose that X  A. Then the set Y = f(X) = {y  B | y = f(x) for some x  X} is known as the image of X under f. Similarly, the inverse image of a set Y included in the range of f is f -1 (Y) = {x  A | y = f(x) for some y  Y} نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

37 Cardinality Two sets A and B are of equal cardinality, written as |A| = |B| if and only if there is a one-to-one function f: A → B that maps A onto B. We write |A| ≤ |B| if B includes a subset C such that |A| = |C|. If |A| ≤ |B| and |A| ≠ |B|, then A has cardinality less than that of B, and we write |A| < |B| نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

38 Cardinality (continued) Let J = {1, 2, …} and J n = {1, 2, …, n}. A sequence on a set X is a function f: J → X. A sequence may be written as f(1), f(2), f(3), … However, we often use the simpler notation x 1, x 2, x 3, …., x i  X A finite sequence of length n on X is a function f: J n → X, usually written as x 1, x 2, x 3, …., x n, x i  X The sequence of length zero is the function f: → X. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

39 Finite and Infinite Sets A set A is finite if |A| = |j n | for some integer n≥0, in which case we say that A has cardinality n. A set is infinite if it is not finite. A set X is denumerable if |X| = |j|. A set is countable if it is either finite or denumerable. A set is uncountable if it is not countable. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

40 Some Properties Proposition: Every subset of J is countable. Consequently, each subset of any denumerable set is countable. Proposition: A function f: J → Y has a countable range. Hence any function on a countable domain has a countable range. Proposition: The set J × J is denumerable. Therefore, A × B is countable for arbitrary countable sets A and B. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

41 Some Properties Proposition: The set A  B is countable whenever A and B are countable sets. Proposition: Every infinite set X is at least denumerable ; that is |X| ≥ |J|. Proposition: The set of all infinite sequence on {0, 1} is uncountable. نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

42 Some Properties Proposition: (Schröder-Bernestein Theorem) For any set A and B, if |A| ≥ |B| and |B| ≥ |A|, then |A| = |B|. Proposition: (Cantor’s Theorem) For any set X, |X| < | P (X)|. نیمسال دوّم 87-8 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف

43 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف منطق بولی مقادیر بولی : درست (T) ، نادرست (F) اعمال بولی : قوانین : جابه جایی، شرکت پذیری، پخشی

44 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف تعریف، قضیه، برهان تعریف (Definition) – شرح مفاهیمی که می خواهیم استفاده کنیم. – گزاره های ریاضی بر اساس این مفاهیم بیان می شوند. برهان (Proof) – استدلال منطقی که ما را متقاعد به درست بودن یک گزاره می کند. قضیه (Theorem) – گزاره ای ریاضی که درست بودن آن اثبات شده است. لم (Lemma) : گزاره ای که تنها آن را با هدف اثبات گزاره ای دیگر اثبات می کنیم. نتیجه (Corollary) : گزاره ای که درستی آن پس از اثبات یک قضیه به سادگی قابل دریافت است.

45 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پیدا کردن اثبات روش پیش رونده روش معکوس مثال نقض

46 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف انواع برهان اثبات با ایجاد جواب (Proof by Construction) برهان خلف (Proof by Contradiction) استقرا (Induction)

47 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف الفبا الفبا – مجموعه ای متناهی, و غیرتهی از علائم الفبایی ( معمولاً با ∑ یا Г نمایش داده می شود ) – مثال :

48 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف رشته ها رشته – دنباله ای متناهی از علائم یک الفبا – مثال : – طول رشته ω که با |ω| نشان داده می شود تعداد علائم موجود در رشته است. – رشته تهی (ε یا λ) رشته ای با طول صفر است. – یک زیررشته (substring) زیردنباله ای شامل علائم متوالی از رشته است.

49 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی رشته ها مقلوب یک رشته – مثال : الحاق رشته ها – مثال :

50 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی الفبا عملگر *: – مجموعه تمام رشته هایی که از الفبای ∑ قابل تولید هستند. عملگر +: – مجموعه تمام رشته ها به جز λ که از الفبای ∑ قابل تولید هستند. فرض کنید = {λ}. آنگاه

51 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف زبان ها زبان – مجموعه ای از رشته ها روی یک الفبای معین – هر زبان روی یک الفبای ∑ ، زیر مجموعه ای از *∑ است. – مثال :

52 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی زبان ها زبان ها نوعی خاص از مجموعه هستند و اعمال روی مجموعه ها در آن ها نیز قابل تعریف است. – اجتماع – اشتراک – تفاضل – متمم

53 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی زبان ها مقلوب یک زبان : – مثال :

54 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی زبان ها الحاق (Concatenation) دو زبان : – مثال :

55 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف اعمال روی زبان ها عملگر * (Kleene *): – مجموعه تمام رشته هایی که با الحاق رشته های یک زبان قابل تولید هستند. – مثال : عملگر + نیز مانند عملگر * است با این تفاوت که رشته λ در مجموعه حاصل نیست.

56 نیمسال دوّم 87-86 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف Gödel Numbering Let be an alphabet containing n objects. Let h: → J n be an arbitrary one-to-one correspondence. Define function f as: f: → N such that f(ε) =0; f(w.v) = n f(w) + h(v), for w and v. f is called a Gödel Numbering of. Proposition: is denumerable. Proposition: Any language on an alphabet is countable.


Download ppt "نظریه زبان ها و ماشین ها فصل صفر - مقدمه دانشگاه صنعتی شریف نیمسال دوّم سال تحصیلی 1386."

Similar presentations


Ads by Google