Automata 1

22
( ات ي س سا الأ( ات ي س سا الأ1 1 ) ) وح ت ف م ل م ا ي ل ع ت ل ل ة م الأ ة ع م ا" ج وح ت ف م ل م ا ي ل ع ت ل ل ة م الأ ة ع م ا" ج وت ق م. وسام ز وت ق م. وسام ز ر" مب ت" ب س ر" مب ت" ب س2012 2012 ا ومات ت و الأ ة ري; ظ ن ا ومات ت و الأ ة ري; ظ نAutomata Theory Automata Theory

Transcript of Automata 1

Page 1: Automata 1

((11األساسيات )األساسيات )

المفتوح للتعليم األمة المفتوح جامعة للتعليم األمة جامعة

زقوت. وسام زقوت. م وسام م

20122012سبتمبر سبتمبر

األوتومـاتـــا األوتومـاتـــا نظريـة Automata TheoryAutomata Theoryنظريـة

Page 2: Automata 1

العلمية المادة العلمية مصادر المادة مصادر

. حمارشة - أيمن د الحوسبة . نظریة حمارشة - أيمن د الحوسبة نظریة – المستنصرية الجامعة اإلحتسابية المستنصرية – النظرية الجامعة اإلحتسابية النظرية

محمد– قاسم محمد– حسن قاسم حسن Introduction to theory of computation - Tom Introduction to theory of computation - Tom

CarterCarter Automata Theory with Modern Applications - Automata Theory with Modern Applications -

JAMES A. ANDERSONJAMES A. ANDERSON Introduction to theoretical computer science - Introduction to theoretical computer science -

G. GrahneG. Grahne

Page 3: Automata 1

ComputationComputationالحوسبة الحوسبة

نستخدمها التي الخطوات سلسلة هي نستخدمها الحوسبة التي الخطوات سلسلة هي الحوسبة . أن أي حاسوبية بطريقة خوارزمية إنجاز . في أن أي حاسوبية بطريقة خوارزمية إنجاز في

لتحويل بها نقوم خوارزمية هي لتحويل الحوسبة بها نقوم خوارزمية هي الحوسبة. مخرجات إلى .مدخالت مخرجات إلى مدخالت

Page 4: Automata 1

الحوسبة الحوسبة نظرية Theory of Theory ofنظريةComputationComputation

بدراسة يختص الذي المبحث هي الحوسبة بدراسة نظرية يختص الذي المبحث هي الحوسبة نظرية ( نظرية أو الحركة ذاتيات نظرية الحواسيب نظرية ) نماذج أو الحركة ذاتيات نظرية الحواسيب نماذج

األوتوماتا(األوتوماتا( االحتساب قابلية االحتساب نظرية قابلية computability theorycomputability theoryنظرية االحتسابي التعقيد االحتسابي نظرية التعقيد computational complexity computational complexityنظرية

theorytheory

وما الحواسيب، ماهية تدرس فهي وما وبالتالي الحواسيب، ماهية تدرس فهي وبالتاليالذي وما احتسابه، الحواسيب تستطيع الذي الذي وما احتسابه، الحواسيب تستطيع الذي. بكفاءة باحتسابه تقوم أن للحواسيب .يمكن بكفاءة باحتسابه تقوم أن للحواسيب يمكن

Page 5: Automata 1

الحوسبة الحوسبة نظرية نظرية

القابلة المسائل تدرس االحتساب قابلية القابلة نظرية المسائل تدرس االحتساب قابلية نظريةمختلفة نماذج باستخدام حاسوبياً مختلفة للحل نماذج باستخدام حاسوبياً للحل

للحل قابلة المسائل تلك أن من للتأكد للحل للحوسبة، قابلة المسائل تلك أن من للتأكد للحوسبة،حاسوبياً . حاسوبياً .

ضمن مجردة آالت تستخدم االحتساب قابلية ضمن نظرية مجردة آالت تستخدم االحتساب قابلية نظرية . الحوسبة لدراسة فكرية . تجارب الحوسبة لدراسة فكرية تجارب

تقوم رياضية نماذج هي النموذجية المجردة تقوم اآلالت رياضية نماذج هي النموذجية المجردة اآلالتالعمليات من مجموعة وفق خرج إلى الدخل العمليات بتحويل من مجموعة وفق خرج إلى الدخل بتحويل

. آلة هي المجردة اآلالت أمثلة أشهر بها . المصرح آلة هي المجردة اآلالت أمثلة أشهر بها المصرح..Turing MachineTuring Machineتورنج تورنج

Page 6: Automata 1

الحوسبة الحوسبة نظرية نظرية

بكفاءة التعامل تدرس االحتسابي التعقيد بكفاءة نظرية التعامل تدرس االحتسابي التعقيد نظرية . أشهر الحوسبة عملية في المطلوبة الموارد . مع أشهر الحوسبة عملية في المطلوبة الموارد مع

) الذاكرة ) والمكان الزمن هي الموارد ( تلك الذاكرة ) والمكان الزمن هي الموارد تلك. المسألة لحل .الالزمان المسألة لحل الالزمان

بعض أن سنجد الحوسبة، نظرية بعض بدراسة أن سنجد الحوسبة، نظرية بدراسة . حلها يتطلب وبعضها للحل قابلة غير . المسائل حلها يتطلب وبعضها للحل قابلة غير المسائل

زمناً ) حلها يستغرق مثالً توفيرها يمكن ال زمناً ) موارد حلها يستغرق مثالً توفيرها يمكن ال موارد .) جداً (. طويالً جداً طويالً

Page 7: Automata 1

المجموعاتالمجموعات

مجموعات ثالث وجود مجموعات لنفرض ثالث وجود تنتمي تنتمي A, B, CA, B, Cلنفرضالشاملة الشاملة للمجموعة المجموعات. UUللمجموعة المجموعات. هذه هذه

: التالية الخواص عليها :ستنطبق التالية الخواص عليها ستنطبق

Page 8: Automata 1
Page 9: Automata 1

الديكارتي الديكارتي الضرب Cartesian productCartesian productالضرب

المجموعتين افرض المجموعتين مثالً افرض مثالً

A = {a, b} A = {a, b} ,, B = {1, 2, 3} B = {1, 2, 3}

فإن فإن

A × B = {(a, 1)(a, 2)(a, 3)(b, 1)(b, 2)(b, 3)}A × B = {(a, 1)(a, 2)(a, 3)(b, 1)(b, 2)(b, 3)}..

الديكارتي الديكارتي الضرب الضرب

Page 10: Automata 1

أن أن الحظ الحظ

المجموعتان تساوت إذا c المجموعتان إال تساوت إذا c . A, BA, Bإال فارغة إحداهما كانت إذا . أو فارغة إحداهما كانت إذا أو : كان إذا : مثالً كان إذا AA = = BB = {1,2} = {1,2}مثالً

فإن فإن

A A ×× B = B B = B ×A×A= =

{ ={ =1,21,2{ × }{ × }1,21,2}}

({({1,11,1( ,)( ,)1,21,2( ,)( ,)2,12,1( ,)( ,)2,22,2})})

كانت إذا كانت أو إذا فإنفإن ∅ ∅ = = BBأو

∅ ∅A A ×× B = B B = B ×A×A= =

Page 11: Automata 1

RelationsRelations العالقاتالعالقات

المجموعتين المجموعتين بفرض مجموعة BBو و AAبفرض أية فإن مجموعة ، أية فإن ،من من جزئية جزئية

A A ×× B B بين عالقة بين هي عالقة نرمز. BBو و AAهي ما نرمز. عادةً ما عادةً بالرمز بالرمز للعالقة . . RRللعالقة

:افرض افرض: مثال مثالA A = {= {a, b, c, d, ea, b, c, d, e}} و و B B = {1= {1, , 22, , 33, , 44, , 5}5} فإنفإن

{({(a, a, 3)3), , ((a, a, 2)2), , ((c, c, 2)2), , ((d, d, 4)4), , ((e, e, 4)4), , ((e, e, 5)}5)} المجموعتين بين عالقة بمثابة المجموعتين هي بين عالقة بمثابة ..BBو و AAهي

:مثال: مثال({({x, yx, y : ) : )x x ≥ ≥ yy}} . أيضاً عالقة . هي أيضاً عالقة هي

Page 12: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

األبجدية األبجديةAlphabetAlphabet :من منتهية مجموعة من: هي منتهية مجموعة هيمثالً . مثالً . الرموز كل {{a, ba, b}}أو أو { { 00, , 11}}الرموز أبجديات كل هي أبجديات هي

: . أيضاً األبجديات ومن رمزين يحوي : منها . أيضاً األبجديات ومن رمزين يحوي منها . أبجدية هي أيضاً اإلنجليزية اللغة أحرف . مجموعة أبجدية هي أيضاً اإلنجليزية اللغة أحرف مجموعة

∑∑= }a, b, c, ..., z{= }a, b, c, ..., z{اآلسكي مجموعةمجموعة ترميز أحرف اآلسكي كل ترميز أحرف ASCIIASCIIكل أخرى أمثلة أخرى اضرب أمثلة اضرب

Page 13: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

المتسلسلة المتسلسلةSStringtring :الكلمة تسمى الكلمة: وأحياناً تسمى هي wordwordوأحياناً هي ، ،. سلسلةسلسلة مثالً رموزاألبجدية من . منتهية مثالً رموزاألبجدية من أو أو 10010111001011منتهيةAhmedAhmed..

الفارغة الفارغة المتسلسلة . null stringsnull stringsالمتسلسلة لها ويشار رموز أية تضم . ال لها ويشار رموز أية تضم الالرمز λ λ ( (LambdaLambda))بالرمز بالرمز الرمز أو متسلسلة. ε ε ( (epsilonepsilon))أو متسلسلة. وهي وهي

. مجموعة أي . في مجموعة أي في

| بالرمز له يرمز المتسلسلة بالرمز | طول له يرمز المتسلسلة ، ، 55| = | = 0010000100مثالً |. |مثالً |. |ωωطول | |λλ | = 0 | = 0..

Page 14: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

اللغةاللغة LanguageLanguage :من مجموعة من: هي مجموعة هي . مثالً ما أبجدية على مبنية . المتسلسالت مثالً ما أبجدية على مبنية ,a, ab, a, ab}}المتسلسالت

baabaa}} على متسلسالت عدة من مكونة لغة على هي متسلسالت عدة من مكونة لغة هي. . {{a, ba, b}}األبجدية األبجدية

Page 15: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

األبجدية األبجدية قوى ::Powers of an AlphabetPowers of an Alphabetقوى

كانت كانت إذا األبجدية{ 1,21,2= }= }∑ ∑ إذا هذه رفع عند األبجدية{ فإنه هذه رفع عند فإنهالقوة القوة إلى كل kkإلى مجموعة به يقصد كل فهذا مجموعة به يقصد فهذا

على المبنية على المتسلسالت المبنية طولها∑ المتسلسالت طولها∑ والتي مثال. مثال. kkوالتي : ً : ً

Page 16: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

( فيها بما المتسلسالت كل فيها ) مجموعة بما المتسلسالت كل من( λλمجموعة من( المبنية المبنيةحيث∑ *∑ األبجدية األبجدية الرمز باستخدام لها حيث∑ *∑ يرمز الرمز باستخدام لها يرمز

كليني نجمة تسمى الرمز هذا في كليني النجمة نجمة تسمى الرمز هذا في Kleene Kleeneالنجمةstarstar.. * كل على تحتوي مجموعة هي أن كل * أي على تحتوي مجموعة هي أن أي

أكثر أو صفر يساوي طولها التي أكثر المتسلسالت أو صفر يساوي طولها التي المتسلسالت

Page 17: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات :مثال: مثال

{{aa{ = *}{ = *}λ, a, aa, aaaλ, a, aa, aaa}. . . ,}. . . ,

:مثال: مثال'{'{a', 'b', 'ca', 'b', 'c{ = *}'{ = *}'λ, "a", "b", "c", "aa", "ab", "ac", "ba", λ, "a", "b", "c", "aa", "ab", "ac", "ba",

"bb", "bc", "ca", "cb", "cc"bb", "bc", "ca", "cb", "cc}... ,"}... ,"

:مثال: مثال"{"{ab", "cab", "c{ = *}"{ = *}"λ, "ab", "c", "abab", "abc", "cab", "cc", λ, "ab", "c", "abab", "abc", "cab", "cc",

"ababab", "ababc", "abcab", "abcc", "cabab", "ababab", "ababc", "abcab", "abcc", "cabab", "cabc", "ccab", "ccc"cabc", "ccab", "ccc }... ," }... ,"

:مثال: مثال = ={{λλ}} *∅ *∅

Page 18: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

األبجدية لدينا كانت األبجدية إذا لدينا كانت المجموعة∑ إذا لدينا المجموعة∑ وكانت لدينا وكانتLL من جزئية مجموعة من هي جزئية مجموعة فإن*∑ هي فإن*∑ ، ،LL. لغة .هي لغة هي

If L If L ⊆ *∑*∑ then L is a languagethen L is a language

: اللغة كلمات مجموعة اللغة على : أمثلة اللغة كلمات مجموعة اللغة على أمثلةبحرف تبدأ التي الكلمات مجموعة أو بحرف اإلنجليزية، تبدأ التي الكلمات مجموعة أو اإلنجليزية،

aa عدد تضم التي الثنائية األعداد مجموعة أو عدد ، تضم التي الثنائية األعداد مجموعة أو ،مجموعة أو واألصفار، الوحايد من مجموعة متساوي أو واألصفار، الوحايد من متساويمجموعة أو بصفر، تبدأ التي الثنائية مجموعة األعداد أو بصفر، تبدأ التي الثنائية {{λλ}}األعداد

Page 19: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

األبجدية األبجدية افرض هي {{a, b, ca, b, c}}∑ = ∑ = افرض يلي ما هي فإن يلي ما فإنلغات:لغات:

Page 20: Automata 1

والمتسلسالت والمتسلسالت األبجديات األبجدياتواللغاتواللغات

اإللحاق اإللحاقConcatenationConcatenation::أن أي متسلسلتين، دمج من متسلسلة إنشاء أن هو أي متسلسلتين، دمج من متسلسلة إنشاء هو

aa11aa22aa33aa4 4 . . . an . . . an ◦ ◦ bb11bb22bb33bb4 4 . . . bm. . . bm == aa11aa22aa33aa4 4 . . . anb. . . anb11bb22bb33bb4 4 . . . bm. . . bm

aabba aabba ◦ ◦ babaa babaa = = aabbababaaaabbababaaمثال: مثال: xx==011, y011, y==101 101 thenthen xy=011101 xy=011101 مثال:مثال:

كانت: إذا كانت: مثال إذا في ωωمثال متسلسلة في هي متسلسلة فإنفإن*∑ *∑ هي λ λ ◦ ◦ ω ω = = ω ω ◦ ◦ λ λ = = ωω

Page 21: Automata 1

المشكلةالمشكلة

المتسلسلة المتسلسلة هل للغة ωωهل للغة تنتمي ؟ ؟ LLتنتمي

الثنائي العدد هل الثنائي مثالً العدد هل عدد 101011101101101011101101مثالً عدد هو هومجموعة ) cل تمث للغة ينتمي أنه هل أي مجموعة ) أولي cل تمث للغة ينتمي أنه هل أي أولي

) ؟ األولية (األعداد ؟ األولية األعداد

ال، أو بنعم السؤال هذا على اإلجابة يمكننا ال، كيف أو بنعم السؤال هذا على اإلجابة يمكننا كيفعلى لإلجابة الالزمة الحاسوبية الموارد هي على وما لإلجابة الالزمة الحاسوبية الموارد هي وما

. السؤال . هذا السؤال هذا

Page 22: Automata 1

تمرينتمرين

State which of the following are true and which State which of the following are true and which are false:are false:

(a) {} ∅⊆(a) {} ∅⊆ A A for an arbitrary set for an arbitrary set AA.. (b) ∅ ⊆(b) ∅ ⊆ A A for an arbitrary set for an arbitrary set AA.. (c) {(c) {a, b, ca, b, c} {⊆} {⊆ a, b, a, b, {{a, b, ca, b, c}}.}}. (d) {(d) {a, b, ca, b, c} {∈} {∈ a, b, a, b, {{a, b, ca, b, c}}.}}.