SlideShare a Scribd company logo
‫نظريـة الوتوةمـاتـــا ‪Automata Theory‬‬




  ‫الساسيات )2(‬
                         ‫جاةمعة الةمة للتعليم المفتوح‬
                                    ‫م. وسام زقوت‬
                                     ‫أكتوبر 2102‬
‫التعبيرات النمطية ‪Regular Expressions‬‬

 ‫كثيراق ً ةما نحتاج لتحديد نمط النص الذي يمكننا قبوله. ةمثلق ً قد‬   ‫‪‬‬

        ‫يكون لدينا آلة ل تقبل نص التاريخ ةما لم يكن وفق الشكل‬
        ‫التالي: ‪ . yyyy/MM/dd‬ةمثال آخر، آلة ل تقبل سوى‬
‫الرقام التي على النمط 10*+ 01* )اضرب أةمثلة على هذه‬
                                                       ‫الرقام(‬
‫التعبيرات النمطية ‪Regular Expressions‬‬
‫هذا النمط الذي يجب أن تتبعه المتسلسلت أوالنصوص يسمى تعبير منتظم‬          ‫‪‬‬
       ‫أو تعبير نمطي ‪ ) Regular Expression‬أحياناق ً تكتب ‪(regexp‬‬

            ‫‪ ‬ةمثال: افرض تعبير نمطي لطريقة كتابة أسماء المناطق كالتالي‬
                                            ‫]‪[A-Z][a-z]*[ ][A-Z][A-Z‬‬

                                 ‫وفق هذا النمط فإن النص ‪ Gaza PS‬ةمقبول‬
                                            ‫بينما ‪ gaza strip‬ليس ةمقبولق ً‬

                 ‫ةمثال: التعبير النمطي للتاريخ 51/01/2102 هو كالتالي‬     ‫‪‬‬

‫)]10[3|]9-0[]21[|]9-1[0(2)]210[1|]9-1[0()]./ -[(‪(19|20)dd‬‬
‫اللغات والتعبيرات النمطية‬
‫اللغات الصورية ‪ formal languages‬التي تتبع تعبيرات‬   ‫‪‬‬

    ‫نمطية محددة يطلق عليها اسم لغات نمطية ‪Regular‬‬
                                     ‫‪Languages‬‬
‫العمليات على اللغات‬
                                               ‫افرض أن لدينا اللغتين ‪ L‬و ‪M‬‬                              ‫‪‬‬

‫‪ L U M‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت في ‪ L‬أو ‪M‬هنأ ظحالظحظ أنه .‬                    ‫‪‬‬

                    ‫.ينجم عن يف تالسلستملا لك ةعومجم وهذا اهنأ ظحالتحاد بين لغتين إنتاج لغة ثالثة‬
 ‫‪M ∩ L‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت التي تنتمي لكل اللغتين‬                        ‫‪‬‬

‫‪ LM‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت التي على شكل ‪xy‬بحيث أن‬                           ‫‪‬‬

                                               ‫‪ x∈L‬و‪y∈M‬‬
                   ‫‪…L* = Ui≥0 Li = L0 U L1 U L2 U ‬‬
    ‫أي أن نجمة كلييني للغة ‪ L‬تعطي كل المتسلسلت المكونة من‬
                 ‫إلحاق صفر أو أكثر من متسلسلت اللغة ‪.L‬‬
‫اللغات والتعبيرات النمطية‬
  ‫بفرض أن لدينا التعبيرات النمطية 1‪ w‬و 2‪ w‬فإن اللغات £‬                              ‫‪‬‬

          ‫الممكن إنشاؤيف تالسلستملا لك ةعومجم وها وفق التعبيرات النمطية ستكون لها‬
                                       ‫الخصائص التالية:‬
‫£)∅( = ∅,‬
‫∑(£‪∋ a) = {a} for all a‬‬
‫(£‪,{λ) = {λ‬‬
‫(£2‪)w1 ∨ w2) = £(w1) ∪ £(w‬‬
‫(£2‪,)w1w2) = £(w1) ◦ £(w‬‬
‫(£1‪,)*w1* ) = £(w‬‬
‫مثال على استخدام التعبيرات النمطية والعمليات على اللغات‬
                                                                                                             ‫افرض اللغة ‪ L‬بحيث:‬
‫‪‬‬     ‫} هو متسلسلة ثنائية ل تضم صفرين متعاقبين أو واحدين متعاقبين ‪L = { w | w‬‬
        ‫‪‬‬     ‫‪ w = 10010 is not in L‬بينما ,‪ً w = 01010101 ∈ L‬مثل‬
                                                                                   ‫المطلوب: ابني تعبيراً نمطياً للغة ‪L‬‬          ‫‪‬‬

                                                                  ‫الحل: لحظ أن لدينا أربع حال ت محتملة للعنصر ‪ w‬وهي:‬            ‫‪‬‬

                                                                          ‫الحالة أ: أن يبدأ ‪ w‬بصفر وأن يكون |‪ |w‬زوجياً‬      ‫‪‬‬

                                                                        ‫الحالة ب: أن يبدأ ‪ w‬بواحد وأن يكون |‪ |w‬زوجياً‬       ‫‪‬‬

                                                                          ‫الحالة ج: أن يبدأ ‪ w‬بصفر وأن يكون |‪ |w‬فردياً‬      ‫‪‬‬

                                                                           ‫الحالة د: أن يبدأ ‪ w‬بواحد وأن يكون |‪ |w‬فردياً‬    ‫‪‬‬



                                                                                 ‫التعبير النمطي لكل من الحال ت السابقة هو:‬      ‫‪‬‬

                                                                                                        ‫)10(*‬    ‫الحالة :‬   ‫‪‬‬

                                                                                                        ‫)01(*‬    ‫الحالة :‬   ‫‪‬‬

                                                                                                      ‫0)01(*‬     ‫الحالة :‬   ‫‪‬‬

                                                                                                      ‫1)10(*‬     ‫الحالة :‬   ‫‪‬‬

            ‫وحيث أن ‪ L‬تحتمل الحال ت الربعة السابقة فهي تمثل اتحاد الحال ت السابقة. وبالتالي فإن التعبير النمطي للغة ‪ L‬هو:‬
                                                                           ‫لّ‬                                                   ‫‪‬‬
        ‫‪‬‬     ‫*)10(1 + *)01(0 + *)01( + *)10( = ‪Reg Exp for L‬‬

    ‫في الحقيقة يمكننا أيضا تبسيط التعبير النمطي السابق باستغل ل العنصر ‪ ‬وعندها يمكننا كتابة التعبير النمطي السابق‬
                                                                                            ‫ً‬                                   ‫‪‬‬
                                                                                                         ‫كالتالي:‬
        ‫‪‬‬
              ‫)0+ ‪Reg Exp for L = (ε +1)(01)*(ε‬‬



                                                                                                                                ‫7‬
‫أولوية العمليات في التنفيذ‬
               ‫الولوية من اللعلى للدنى هي كالتالي:‬         ‫‪‬‬

                                          ‫* )النجمة(‬   ‫‪‬‬


                                    ‫)اللحاق(‬      ‫.‬    ‫‪‬‬


                                                  ‫+‬    ‫‪‬‬




                                                 ‫مثا ل:‬    ‫‪‬‬

‫‪‬‬   ‫1 + *10‬    ‫=‬     ‫1 + ) )*)1(( . 0 (‬


                                                           ‫8‬
‫أمثلـــة‬
‫أمثلة على تعبيرات نمطية ‪ Regular expressions‬واللغات التي تنتج عنها.‬
‫أمثلـــة‬
‫أمثلة على تعبيرات نمطية ‪ Regular expressions‬واللغات التي تنتج عنها.‬
‫أمثلة وتمارين‬
‫إذا كانت لدينا الجبجديتان } ‪ { a, b‬و } 0 , 1 { . قم جببناء التعبيرات النمطية المطلوجبة:‬
‫أمثلـــة وتمارين‬
‫انظر الصفحات 8 و 9 في كتاب النظرية التحتسابية –‬    ‫‪‬‬

                                ‫جامعة المستنصرية‬

More Related Content

PPT
Automata 1
DOC
الدالة الأسية واللوغاريتمية
PDF
الرياضيات للصف الرابع الادبي
PDF
2012rat
PDF
2009rat
PDF
Biaz www.doros4.com
PDF
2003
DOC
الرياضيات 10
Automata 1
الدالة الأسية واللوغاريتمية
الرياضيات للصف الرابع الادبي
2012rat
2009rat
Biaz www.doros4.com
2003
الرياضيات 10

What's hot (18)

PDF
الحدوديات جدع مشترك علمي
PPTX
الزمرة
PPT
قسمة وحيدات الحد
PPT
الرياضيات
PPT
حلقات التكرار
DOC
التحليل الاتجاهي-
PDF
2004rat
PPT
الفضاء العيني
PPTX
3- Functions
PPT
اوراق العمل
PDF
2011rat
PDF
2011
DOC
EXAM1 MATH 3AS
PPT
الدوال
PPT
ضرب وحيدات الحد
PPTX
[C++ Tutorial] #6- Pointers
PDF
التعامد و التوازي -parallèleset perpenduculaires
PDF
Con 1 tc semestre 1
الحدوديات جدع مشترك علمي
الزمرة
قسمة وحيدات الحد
الرياضيات
حلقات التكرار
التحليل الاتجاهي-
2004rat
الفضاء العيني
3- Functions
اوراق العمل
2011rat
2011
EXAM1 MATH 3AS
الدوال
ضرب وحيدات الحد
[C++ Tutorial] #6- Pointers
التعامد و التوازي -parallèleset perpenduculaires
Con 1 tc semestre 1
Ad

Viewers also liked (20)

PPT
Automata 4
PPT
Automata 3
PPT
Automata 5
PPT
خطة مقترحة لتنظيم أنشطة وهيكلة مؤسسات البحث العلمي والتطوير في فلسطين وسام زقوت
DOC
Chapter 2 2 1 1
PPT
Chapter Two(1)
PPTX
Two-way Deterministic Finite Automata
PPT
Automata 6
PPT
Technical & Research Writing (Arabic)
PDF
كيفية كتابة الابحاث العلمية
PDF
Share Valuation for Razak Pharmaceutical
PDF
Ayuda aplicación matemática TPICI 1c 2016
PDF
New Manager Bootcamp
PDF
Xuventude novas n57_xaneiro2015
PPT
Evolucion de la computadora daniel
PPT
INBIOMEDvision Workshop at MIE 2011. Victoria López
PPTX
economia_popular_y_solidaria
PPT
Organize Meetings
PPTX
ICT for Lifelong Mobility
PPTX
Electroestatica odet
Automata 4
Automata 3
Automata 5
خطة مقترحة لتنظيم أنشطة وهيكلة مؤسسات البحث العلمي والتطوير في فلسطين وسام زقوت
Chapter 2 2 1 1
Chapter Two(1)
Two-way Deterministic Finite Automata
Automata 6
Technical & Research Writing (Arabic)
كيفية كتابة الابحاث العلمية
Share Valuation for Razak Pharmaceutical
Ayuda aplicación matemática TPICI 1c 2016
New Manager Bootcamp
Xuventude novas n57_xaneiro2015
Evolucion de la computadora daniel
INBIOMEDvision Workshop at MIE 2011. Victoria López
economia_popular_y_solidaria
Organize Meetings
ICT for Lifelong Mobility
Electroestatica odet
Ad

Automata 2

  • 1. ‫نظريـة الوتوةمـاتـــا ‪Automata Theory‬‬ ‫الساسيات )2(‬ ‫جاةمعة الةمة للتعليم المفتوح‬ ‫م. وسام زقوت‬ ‫أكتوبر 2102‬
  • 2. ‫التعبيرات النمطية ‪Regular Expressions‬‬ ‫كثيراق ً ةما نحتاج لتحديد نمط النص الذي يمكننا قبوله. ةمثلق ً قد‬ ‫‪‬‬ ‫يكون لدينا آلة ل تقبل نص التاريخ ةما لم يكن وفق الشكل‬ ‫التالي: ‪ . yyyy/MM/dd‬ةمثال آخر، آلة ل تقبل سوى‬ ‫الرقام التي على النمط 10*+ 01* )اضرب أةمثلة على هذه‬ ‫الرقام(‬
  • 3. ‫التعبيرات النمطية ‪Regular Expressions‬‬ ‫هذا النمط الذي يجب أن تتبعه المتسلسلت أوالنصوص يسمى تعبير منتظم‬ ‫‪‬‬ ‫أو تعبير نمطي ‪ ) Regular Expression‬أحياناق ً تكتب ‪(regexp‬‬ ‫‪ ‬ةمثال: افرض تعبير نمطي لطريقة كتابة أسماء المناطق كالتالي‬ ‫]‪[A-Z][a-z]*[ ][A-Z][A-Z‬‬ ‫وفق هذا النمط فإن النص ‪ Gaza PS‬ةمقبول‬ ‫بينما ‪ gaza strip‬ليس ةمقبولق ً‬ ‫ةمثال: التعبير النمطي للتاريخ 51/01/2102 هو كالتالي‬ ‫‪‬‬ ‫)]10[3|]9-0[]21[|]9-1[0(2)]210[1|]9-1[0()]./ -[(‪(19|20)dd‬‬
  • 4. ‫اللغات والتعبيرات النمطية‬ ‫اللغات الصورية ‪ formal languages‬التي تتبع تعبيرات‬ ‫‪‬‬ ‫نمطية محددة يطلق عليها اسم لغات نمطية ‪Regular‬‬ ‫‪Languages‬‬
  • 5. ‫العمليات على اللغات‬ ‫افرض أن لدينا اللغتين ‪ L‬و ‪M‬‬ ‫‪‬‬ ‫‪ L U M‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت في ‪ L‬أو ‪M‬هنأ ظحالظحظ أنه .‬ ‫‪‬‬ ‫.ينجم عن يف تالسلستملا لك ةعومجم وهذا اهنأ ظحالتحاد بين لغتين إنتاج لغة ثالثة‬ ‫‪M ∩ L‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت التي تنتمي لكل اللغتين‬ ‫‪‬‬ ‫‪ LM‬يف تالسلستملا لك ةعومجم وهو مجموعة كل المتسلسلت التي على شكل ‪xy‬بحيث أن‬ ‫‪‬‬ ‫‪ x∈L‬و‪y∈M‬‬ ‫‪…L* = Ui≥0 Li = L0 U L1 U L2 U ‬‬ ‫أي أن نجمة كلييني للغة ‪ L‬تعطي كل المتسلسلت المكونة من‬ ‫إلحاق صفر أو أكثر من متسلسلت اللغة ‪.L‬‬
  • 6. ‫اللغات والتعبيرات النمطية‬ ‫بفرض أن لدينا التعبيرات النمطية 1‪ w‬و 2‪ w‬فإن اللغات £‬ ‫‪‬‬ ‫الممكن إنشاؤيف تالسلستملا لك ةعومجم وها وفق التعبيرات النمطية ستكون لها‬ ‫الخصائص التالية:‬ ‫£)∅( = ∅,‬ ‫∑(£‪∋ a) = {a} for all a‬‬ ‫(£‪,{λ) = {λ‬‬ ‫(£2‪)w1 ∨ w2) = £(w1) ∪ £(w‬‬ ‫(£2‪,)w1w2) = £(w1) ◦ £(w‬‬ ‫(£1‪,)*w1* ) = £(w‬‬
  • 7. ‫مثال على استخدام التعبيرات النمطية والعمليات على اللغات‬ ‫افرض اللغة ‪ L‬بحيث:‬ ‫‪‬‬ ‫} هو متسلسلة ثنائية ل تضم صفرين متعاقبين أو واحدين متعاقبين ‪L = { w | w‬‬ ‫‪‬‬ ‫‪ w = 10010 is not in L‬بينما ,‪ً w = 01010101 ∈ L‬مثل‬ ‫المطلوب: ابني تعبيراً نمطياً للغة ‪L‬‬ ‫‪‬‬ ‫الحل: لحظ أن لدينا أربع حال ت محتملة للعنصر ‪ w‬وهي:‬ ‫‪‬‬ ‫الحالة أ: أن يبدأ ‪ w‬بصفر وأن يكون |‪ |w‬زوجياً‬ ‫‪‬‬ ‫الحالة ب: أن يبدأ ‪ w‬بواحد وأن يكون |‪ |w‬زوجياً‬ ‫‪‬‬ ‫الحالة ج: أن يبدأ ‪ w‬بصفر وأن يكون |‪ |w‬فردياً‬ ‫‪‬‬ ‫الحالة د: أن يبدأ ‪ w‬بواحد وأن يكون |‪ |w‬فردياً‬ ‫‪‬‬ ‫التعبير النمطي لكل من الحال ت السابقة هو:‬ ‫‪‬‬ ‫)10(*‬ ‫الحالة :‬ ‫‪‬‬ ‫)01(*‬ ‫الحالة :‬ ‫‪‬‬ ‫0)01(*‬ ‫الحالة :‬ ‫‪‬‬ ‫1)10(*‬ ‫الحالة :‬ ‫‪‬‬ ‫وحيث أن ‪ L‬تحتمل الحال ت الربعة السابقة فهي تمثل اتحاد الحال ت السابقة. وبالتالي فإن التعبير النمطي للغة ‪ L‬هو:‬ ‫لّ‬ ‫‪‬‬ ‫‪‬‬ ‫*)10(1 + *)01(0 + *)01( + *)10( = ‪Reg Exp for L‬‬ ‫في الحقيقة يمكننا أيضا تبسيط التعبير النمطي السابق باستغل ل العنصر ‪ ‬وعندها يمكننا كتابة التعبير النمطي السابق‬ ‫ً‬ ‫‪‬‬ ‫كالتالي:‬ ‫‪‬‬ ‫)0+ ‪Reg Exp for L = (ε +1)(01)*(ε‬‬ ‫7‬
  • 8. ‫أولوية العمليات في التنفيذ‬ ‫الولوية من اللعلى للدنى هي كالتالي:‬ ‫‪‬‬ ‫* )النجمة(‬ ‫‪‬‬ ‫)اللحاق(‬ ‫.‬ ‫‪‬‬ ‫+‬ ‫‪‬‬ ‫مثا ل:‬ ‫‪‬‬ ‫‪‬‬ ‫1 + *10‬ ‫=‬ ‫1 + ) )*)1(( . 0 (‬ ‫8‬
  • 9. ‫أمثلـــة‬ ‫أمثلة على تعبيرات نمطية ‪ Regular expressions‬واللغات التي تنتج عنها.‬
  • 10. ‫أمثلـــة‬ ‫أمثلة على تعبيرات نمطية ‪ Regular expressions‬واللغات التي تنتج عنها.‬
  • 11. ‫أمثلة وتمارين‬ ‫إذا كانت لدينا الجبجديتان } ‪ { a, b‬و } 0 , 1 { . قم جببناء التعبيرات النمطية المطلوجبة:‬
  • 12. ‫أمثلـــة وتمارين‬ ‫انظر الصفحات 8 و 9 في كتاب النظرية التحتسابية –‬ ‫‪‬‬ ‫جامعة المستنصرية‬

Editor's Notes

  • #4: هل يمكنك تخيل التعبير النمطي لاسماء مواقع الإنترنت، أو للإيميل أو لعنوان IP
  • #6: L * هي لا نهائية إذا وفقط إذا كانت | L|≥1 و L≠{  } إذا كانت L={  } فإن L* = {  } إذا كانت L = Φ فإن L* = {  }
  • #7: مراجعة للأدوات : افرض أن A = {a,b} // the alphabet is composed of a and b فإن A* = { λ , a,b,aa,ab,ba,bb,aaa,aab,…} The symbol * is called the Kleene star. ∅ (empty set) λ (empty string) ( ) delimiter , ∨ + ∪ union (selection) . concatenation
  • #8: Cpt S 317: Spring 2009 School of EECS, WSU
  • #9: Cpt S 317: Spring 2009 School of EECS, WSU