نظریه زبان ها و ماشین ها فصل صفر -مقدمه دانشگاه صنعتی شریف دوم سال تحصیلی 1386 نیمسال ّ مراجع درس :• مرجع اصلی M. Sipser, ”Introduction to the Theory of Computation,” 2nd Ed., Thompson Learning Inc., 2006. :• مراجع کمکی P. Linz, “An Introduction to Formal Languages and Automata,” 3rd Ed., Jones and Barlett Publishers, Inc., 2001. J.E. Hopcroft, R. Motwani and J.D. Ullman, “Introduction to Automata Theory, Languages, and Computation,” 2nd Ed., Addison-Wesley, 2001. P.J. Denning, J.B. Dennnis, and J.E. Qualitz, “Machines, Languages, and Computation,” Prentice-Hall, Inc., 1978. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها سیاست نمره دهی درس • تمرینات 10% • کوییزهای کوتاه مربوط به تمرینات 15% • کوییز های عمومی درس %45 • آزمون پایان نیمسال 30% نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ نظریه پیچیدگی • دانش رده بندی مسائل بر اساس سختی محاسباتی • برای غلبه بر پیچیدگی چه می توان کرد؟ – – – – تغییر مسئله پس از کشف که عامل دشواری آن تقریب زدن راه حل مسئله ارائه روش هایی که در حالت متوسط عملکرد خوبی دارند؛ استفاده از روش های تصادفی • کاربردها – به عنوان مثال در رمزنگاری ،هدف این است که رمزگشایی با توان محاسباتی مهاجم غیرممکن باشد. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ عناوین مورد بحث • • • • • • • نظریه پیچیدگی نظریه محاسبه پذیری نظریه ماشین ها مبانی ریاضی الفبا رشته ها زبان ها نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ نظریه محاسبه پذیری • ماشین ها چه مسائلی را می توانند حل کنند؟ • رده بندی مسائل در دو گروه قابل محاسبه و غیرقابل محاسبه • مدل های نظری برای ماشین ها – به علت قدرتمندی مدل هایی مانند RAMیا ماشین تورینگ اثبات این که چه مسائلی را می توانند حل کنند دشوار است. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ نظریه ماشین ها • تعریف و ویژگی های مدل های ریاضی محاسبه – مدل ماشین حالت متناهی • در پردازش متن ،کامپایلرها و طراحی سخت افزار کاربرد دارد. – مدل ماشین پشته ای • در زبان های برنامه سازی و هوش مصنوعی کاربرد دارد. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ Logic انواع منطق منطق کامل منطق ُمسندی Propositional logic • Predicate logic • تعریف منطق Syntax مجموعه اي از متغیرها و انواع عملگرها متغیرها }… {p, q, r, و } ↔ {┐, ^, ν, →, عملگرها Semantic معنایي که توسط جدول درستي براي دنباله اي از نمادها به تعداد محدود بار ،به همراه یک Syntaxخاص ،تعریف مي شود. تعاریف • فرمول :دنباله اي محدود از نمادها به تعداد محدود بار به همراه یک Syntaxخاص • :Logical Systemمجموعه اي از اصول و قواعد استنتاج • اصول ( :)axiomsگزاره هایي از منطق مورد نظر که همیشه درست است ،تعداد آنها مي تواند محدود یا نامحدود باشد. • قواعد استنتاج :قواعدي که از طریق آنها مي توان از دو گزارۀ درست به یک گزارۀ درست دیگر رسید. ادامه • اثبات :دنباله اي است از گزاره هاي p1,p2,…,pkبه گونه اي که p1باید یکي از اصول و p2باید یکي از اصول باشد یا با استفاده از p1و یکي از قواعد استنتاج اثبات مي شود و p3هم ... که به این مراحل یک اثبات براي pkگفته مي شود. • قضیه ( : )theoremگزاره اي است که در منطق ،براي آن اثباتي وجود داشته باشد. • منطق غیر کامل :فرمول هایي وجود دارد که نمي توان آنها را اثبات کرد. قواعد استنتاج .1 .2 .3 .4 .5 Modus ponens برهان خلف Conjunction اثبات با مورد استقراء مجموعه ها • • • • • • مفهوم مجموعه ،عضو ترتیب و تکرار اهمیت ندارد. در مجموعه های چندگانه) ،(multisetتکرار اهمیت دارد. زیرمجموعه ،زیر مجموعه محض)(proper subset مجموعه تهی ،مجموعه های نامتناهی اعمال روی مجموعه ها :اجتماع ،اشتراک ،متمم نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ Intuitive (Naïve) Set Theory There are three basic concepts in set theory: • Membership • Extension • Abstraction 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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) 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Russell’s Paradox Let p(X) be a predicate defined as P(X) = (XX) Define set R as R={X|p(X)} • Is p(R) true? • Is p(R) false? 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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.” 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 = (A1 … An) = {x| x Ai for some i, 1≤ i ≤ n} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 = (A1 … An) = {x| x Ai for all i, 1≤ i ≤ n} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Set Operation-Complement • The complement of a set A is a set Ac defined as: Ac = {x | x A} • The complement of a set B with respect to A, also denoted as A-B, is defined as: Ac = {x A | x B} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 (x1, x2, …, xn) And is a generalization of an ordered pair. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Ordered Sets and Set Products • By Cartesian product of two sets A and B, we mean the set A×B = {(x,y)|xA , yB} • Similarly, A1×A2×…An = {x1A1, x2A2, …, xnAn} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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”. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Types of Relations on Sets • A relation ρ is reflexive if (x,x) ρ, for each xA • A relation ρ is symmetric if, for all x,yA (x,y) ρ implies (y,x) ρ • A relation ρ is antisymmetric if, for all x,yA (x,y) ρ and (y,x) ρ implies x=y • A relation ρ is transitive if, for all x,y,zA (x,y) ρ and (y,z) ρ implies (x,z) ρ 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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ρ 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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 Df = {x A | for some y B, (x,y) f} and the range of f is the set Rf = {y B | for some x A, (x,y) f} • If Df A, we say the function is a partial function; if Df = A, we say that f is a total function. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Functions (continued) • If x Df, we say that f is defined at x; otherwise f is undefined at x. • If Rf = B, we say that f maps Df 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Functions (continued) • Let X be a set and suppose A X. Define function CA: X → {0,1} such that CA(x) = 1, if x A; CA(x) = 0, otherwise. CA(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} 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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| 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Cardinality (continued) • Let J = {1, 2, …} and Jn = {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 x1, x2, x3, …., xi X • A finite sequence of length n on X is a function f: Jn → X, usually written as x1, x2, x3, …., xn, xi X • The sequence of length zero is the function f: → X. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Finite and Infinite Sets • A set A is finite if |A| = |jn| 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها 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)|. 8-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها منطق بولی • مقادیر بولی :درست( ،)Tنادرست()F • اعمال بولی: • قوانین :جابه جایی ،شرکت پذیری ،پخشی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ تعریف ،قضیه ،برهان • تعریف)(Definition – شرح مفاهیمی که می خواهیم استفاده کنیم. – گزاره های ریاضی بر اساس این مفاهیم بیان می شوند. • برهان)(Proof – استدالل منطقی که ما را متقاعد به درست بودن یک گزاره می کند. • قضیه)(Theorem – گزاره ای ریاضی که درست بودن آن اثبات شده است. • لم ) : (Lemmaگزاره ای که تنها آن را با هدف اثبات گزاره ای دیگر اثبات می کنیم. • نتیجه ):(Corollaryگزاره ای که درستی آن پس از اثبات یک قضیه به سادگی قابل دریافت است. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ پیدا کردن اثبات • روش پیش رونده • روش معکوس • مثال نقض نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ انواع برهان • اثبات با ایجاد • برهان خلف )(Proof by Contradiction • استقرا )(Induction جواب)(Proof by Construction نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ الفبا • الفبا – مجموعه ای متناهی ,و غیرتهی از عالئم الفبایی (معموالً با ∑ یا Гنمایش داده می شود) – مثال: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ رشته ها • رشته – – – – دنباله ای متناهی از عالئم یک الفبا مثال: طول رشته ωکه با | |ωنشان داده می شود تعداد عالئم موجود در رشته است. رشته تهی( εیا )λرشته ای با طول صفر است. – یک زیررشته( )substringزیردنباله ای شامل عالئم متوالی از رشته است. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی رشته ها • مقلوب یک رشته – مثال: • الحاق رشته ها – مثال: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی الفبا • عملگر *: – مجموعه تمام رشته هایی که از الفبای ∑ قابل تولید هستند. • عملگر :+ – مجموعه تمام رشته ها به جز λکه از الفبای ∑ قابل تولید هستند. فرض کنید } . = {λآنگاه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ زبان ها • زبان – مجموعه ای از رشته ها روی یک الفبای معین – هر زبان روی یک الفبای ∑ ،زیر مجموعه ای از *∑ است. – مثال: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی زبان ها • زبان ها نوعی خاص از مجموعه هستند و اعمال روی مجموعه ها در آن ها نیز قابل تعریف است. – اجتماع – اشتراک – تفاضل – متمم نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی زبان ها • مقلوب یک زبان: – مثال: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی زبان ها • الحاق( )Concatenationدو زبان: – مثال: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ اعمال روی زبان ها • عملگر * (* :)Kleene – مجموعه تمام رشته هایی که با الحاق رشته های یک زبان قابل تولید هستند. – مثال: • عملگر +نیز مانند عملگر * است با این تفاوت که رشته λدر مجموعه حاصل نیست. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف دوم 86-87 نیمسال ّ Gödel Numbering • Let be an alphabet containing n objects. Let h: → Jn 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. 86-87 دوم ّ نیمسال دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها