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




‫ماهي نظرية التوتوماتا‬
 ‫الال ت ذاتية الحركة المحددة توغير المحددة‬

                            ‫جامعة المة للتعليم المفتوح‬
                                       ‫م. توسام زقوت‬
                                       ‫ديسمبر 2102‬
‫الال ت ذاتية الحركة غير المحددة توغير المحددة‬
‫‪ ‬تذكر أنه في الالت ذاتية الحركة المحددة ‪ DFA‬لكل مدخل‬
   ‫دُ‬
           ‫على حالة فإن الحالة الناتجة محددة حصريا.‬
            ‫.ً‬

   ‫‪ ‬أما إذا كان هناك خيار لتحديد أكثر من حالة يمكن الذهاب‬
 ‫إليها في حال توجود مدخل ما، فاللة الناتجة تسمى آلة ذاتية‬
                                     ‫دُ‬
                                 ‫الحركة غير محددة ‪NFA‬‬

 ‫‪ ‬إن مفهوم اللة غير المحددة هو تعميم لللة المحددة. أي أن‬
    ‫أي آلة ذاتية الحركة محددة هي في نفس الوقت آلة ذاتية‬
                                ‫الحركة غير محددة أيضا.‬
                                 ‫.ً‬
‫الال ت ذاتية الحركة غير المحددة توغير المحددة‬
       ‫‪ ‬نقول عن آلة ذاتية الحركة أنها غير محددة إذا كان:‬

 ‫– توجود مدخل لحالة ما قد يتسبب في االنتقال إلى أكثر من حالة.‬
                                                    ‫دُ‬


   ‫– أتو إذا كانت هناك انتقاالت ‪ ، ‬أي انتقال من حالة إلى‬
‫أخرى دون أن يكون هناك مدخل. وعندها يرمز لللة‬
                                           ‫)‪.(NFA-ε‬‬
NFA N1‫مثال‬

                                0,1
0,1




                           1
                ε,0
q1
      1
           q2         q3       q4
‫مثال 2‪NFA N‬‬
         ‫1,0‬




                                     ‫0,1‬               ‫1,0‬
        ‫1‪q‬‬
                   ‫1‬
                          ‫2‪q‬‬                 ‫3‪q‬‬                 ‫4‪q‬‬




‫افرض اللغة ‪ A‬تحتوي على أي متسلسلة على الجبجدية }1,0{ جبحيث يكون هناك‬
      ‫1 في الموضع الثالث من نهاية المتسلسلة. اللة 2‪ N‬تتعرف على اللغة ‪.A‬‬
‫‪ DFA‬مكافئة لللة 2‪ N‬في المثال الساجبق‬
       ‫0‬                                          ‫0‬




  ‫000‪q‬‬
               ‫0‬
                   ‫001‪q‬‬
                               ‫0‬
                                       ‫010‪q‬‬                   ‫011‪q‬‬

           ‫1‬       ‫0‬                          ‫1‬
   ‫1‬                               ‫0‬                                 ‫0‬
                           ‫1‬                              ‫0‬

                                                                         ‫1‬
                               ‫1‬                      ‫1‬
  ‫100‪q‬‬             ‫101‪q‬‬                ‫110‪q‬‬                   ‫111‪q‬‬

                       ‫1‬
‫مثال 3‪NFA N‬‬
                                     ‫0‬


                    ‫‪ε‬‬                   ‫0‬




                                    ‫0‬
                     ‫‪ε‬‬

                                                  ‫0‬

                                        ‫0‬




‫افرض اللغة ‪ A‬تتكون من كل المتسلسل ت ‪ ، 0k‬حيث ‪ K‬من مضاعفا ت‬
                        ‫العدد 2 أو 3. اللة 3‪N‬تتعرف على ‪.A‬‬
‫‪ DFA‬مكافئة للة 3‪ N‬في المثال السابق‬
                               ‫0, 1‬



                   ‫1-‪q‬‬
         ‫1‬                                         ‫1‬
              ‫1‬                  ‫1‬         ‫1‬
                       ‫1‬


‫0‪q‬‬
     ‫0‬
         ‫1‪q‬‬
              ‫0‬
                  ‫2‪q‬‬
                           ‫0‬
                                      ‫3‪q‬‬
                                               ‫0‬
                                                   ‫4‪q‬‬   ‫0‬
                                                            ‫5‪q‬‬


                       ‫0‬
‫مثال 4‪NFA N‬‬


                                 ‫1‪q‬‬

                         ‫‪b‬‬                        ‫‪a‬‬
                                         ‫‪ε‬‬

‫‪a‬‬
            ‫2‪q‬‬                                        ‫3‪q‬‬
                                   ‫‪a,b‬‬


    ‫لحظ أن هذه اللة تقبل مثل المتسلسل ت ‪ , a, baba, baa‬لكنها ل تقبل‬
                                            ‫ا ً‬
                                                      ‫‪ b‬وأو ‪babba‬‬
‫مثال ‪NFA‬‬
                                      ‫1,0‬                                              ‫1,0‬


                                            ‫1‬         ‫0,‪ε‬‬                ‫1‬
                                 ‫1‪q‬‬             ‫2‪q‬‬              ‫3‪q‬‬                ‫4‪q‬‬


‫,} 4‪1. Q = {q1 , q2 , q3 , q‬‬
‫}1,0{ = ‪2. Σ‬‬
                                ‫0‬       ‫1‬       ‫‪ε‬‬
                 ‫1‪q‬‬            ‫∅ } 2‪{q1} {q1 , q‬‬            ‫تذكر أنه لتعيين اللة ذاتية الحركة‬
   ‫‪δ‬‬
‫2‪3. Δ is given as q‬‬            ‫} 3‪{q‬‬   ‫∅‬       ‫}3‪{q‬‬           ‫غير المحددة نحتاج لتعيين القيم‬
                 ‫3‪q‬‬             ‫∅‬    ‫} 4‪{q‬‬      ‫∅‬                     ‫التالية )‪(Q,Σ,q0,Δ,F‬‬
                 ‫4‪q‬‬            ‫} 4‪{q4 } {q‬‬      ‫∅‬
‫.‪4. q1 is the start state‬‬
‫.} 4‪5. F = {q‬‬
‫تحويل ‪ NFA‬إلى ‪DFA‬‬
‫تحويل ‪ NFA‬إلى ‪DFA‬‬
‫‪ ‬تذكر المثالين المتكافئين من المحاضرة الماضية‬
‫تحويل ‪ NFA‬إلى ‪DFA‬‬
‫‪ ‬قم بتحويل اللة ‪ NFA‬التالية إلى الـ ‪ DFA‬المكافئة لها:‬
‫مثال:1 قم بتحويل ‪ NFA‬التالية إلى ‪DFA‬‬
‫تابع مثال 1‬
‫تابع مثال 1‬
‫‪ ‬لتقليل التنتقال ت والحال ت، يمكننا تجاهل الحال ت التي ل‬
                                  ‫يمكن الوصول إليها‬
‫:مثال 2‬
           ‫0‬


                         ‫0‬
           ‫0‪q‬‬                        ‫1‪q‬‬



‫قم بتحويل اللة غير المحددة أعل ه إلى آلة ‪ DFA‬مكافئة‬
2 ‫تابع مثال‬
                0         1
[q0]         {q0, q1}     Φ
[q1]           Φ          Φ




                    0         1
 [q0]          {q0, q1}       Φ
[q0,q1]        {q0, q1}       Φ
  Φ                 Φ         Φ
‫تابع مثال 2‬
                           ‫0‬



              ‫0‬
‫}0‪{q‬‬                      ‫}‪q q‬‬
                      ‫1 ,0 {‬


  ‫1‬
                      ‫1‬

             ‫‪Φ‬‬
      ‫0‬
                  ‫1‬
‫مثال 3: تحويل ‪ NFA-ε‬إلى ‪DFA‬‬

             ‫1‬
        ‫‪b‬‬             ‫‪a‬‬
                  ‫‪ε‬‬
‫‪a‬‬
    ‫2‬       ‫‪a,b‬‬
                          ‫3‬


                          ‫اللة غير المحددة ‪ N‬معطاة أعل ه حيث‬
                      ‫}}3{,1, ‪N = {{1,2,3}, {a, b}, δ‬‬
                               ‫قم بتحويل اللة أعل ه إلى ‪DFA‬‬
‫تابع مثال 3‬

‫‪a,b‬‬                     ‫‪a‬‬                        ‫‪b‬‬
      ‫‪φ‬‬                         ‫}1{‬                        ‫}2{‬                    ‫}2,1{‬
                                                                          ‫‪a,b‬‬
                              ‫‪b‬‬              ‫‪b‬‬                ‫‪a‬‬
      ‫‪b‬‬
                                                                                      ‫‪a‬‬

                                                                          ‫‪a‬‬
                                                 ‫‪a‬‬
      ‫}3{‬           ‫‪a‬‬         ‫}3,1{‬                      ‫}3,2{‬                    ‫}3,2,1{‬
                                                                          ‫‪b‬‬

                                         ‫‪b‬‬




          ‫ملحظة: هذا الحل يضم حال ت ل يمكن الوصول إليها، وبالتالي يمكن اختصارها‬

More Related Content

PPT
Automata 4
PPT
Automata 3
PPSX
الجلسة الثانية
PPT
Automata 1
PPT
خطة مقترحة لتنظيم أنشطة وهيكلة مؤسسات البحث العلمي والتطوير في فلسطين وسام زقوت
PPT
Automata 6
PPT
Automata 2
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
Automata 4
Automata 3
الجلسة الثانية
Automata 1
خطة مقترحة لتنظيم أنشطة وهيكلة مؤسسات البحث العلمي والتطوير في فلسطين وسام زقوت
Automata 6
Automata 2
2024 Trend Updates: What Really Works In SEO & Content Marketing
Ad

Automata 5

  • 1. ‫نظريـة التوتومـاتـــا ‪Automata Theory‬‬ ‫ماهي نظرية التوتوماتا‬ ‫الال ت ذاتية الحركة المحددة توغير المحددة‬ ‫جامعة المة للتعليم المفتوح‬ ‫م. توسام زقوت‬ ‫ديسمبر 2102‬
  • 2. ‫الال ت ذاتية الحركة غير المحددة توغير المحددة‬ ‫‪ ‬تذكر أنه في الالت ذاتية الحركة المحددة ‪ DFA‬لكل مدخل‬ ‫دُ‬ ‫على حالة فإن الحالة الناتجة محددة حصريا.‬ ‫.ً‬ ‫‪ ‬أما إذا كان هناك خيار لتحديد أكثر من حالة يمكن الذهاب‬ ‫إليها في حال توجود مدخل ما، فاللة الناتجة تسمى آلة ذاتية‬ ‫دُ‬ ‫الحركة غير محددة ‪NFA‬‬ ‫‪ ‬إن مفهوم اللة غير المحددة هو تعميم لللة المحددة. أي أن‬ ‫أي آلة ذاتية الحركة محددة هي في نفس الوقت آلة ذاتية‬ ‫الحركة غير محددة أيضا.‬ ‫.ً‬
  • 3. ‫الال ت ذاتية الحركة غير المحددة توغير المحددة‬ ‫‪ ‬نقول عن آلة ذاتية الحركة أنها غير محددة إذا كان:‬ ‫– توجود مدخل لحالة ما قد يتسبب في االنتقال إلى أكثر من حالة.‬ ‫دُ‬ ‫– أتو إذا كانت هناك انتقاالت ‪ ، ‬أي انتقال من حالة إلى‬ ‫أخرى دون أن يكون هناك مدخل. وعندها يرمز لللة‬ ‫)‪.(NFA-ε‬‬
  • 4. NFA N1‫مثال‬ 0,1 0,1 1 ε,0 q1 1 q2 q3 q4
  • 5. ‫مثال 2‪NFA N‬‬ ‫1,0‬ ‫0,1‬ ‫1,0‬ ‫1‪q‬‬ ‫1‬ ‫2‪q‬‬ ‫3‪q‬‬ ‫4‪q‬‬ ‫افرض اللغة ‪ A‬تحتوي على أي متسلسلة على الجبجدية }1,0{ جبحيث يكون هناك‬ ‫1 في الموضع الثالث من نهاية المتسلسلة. اللة 2‪ N‬تتعرف على اللغة ‪.A‬‬
  • 6. ‫‪ DFA‬مكافئة لللة 2‪ N‬في المثال الساجبق‬ ‫0‬ ‫0‬ ‫000‪q‬‬ ‫0‬ ‫001‪q‬‬ ‫0‬ ‫010‪q‬‬ ‫011‪q‬‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬ ‫100‪q‬‬ ‫101‪q‬‬ ‫110‪q‬‬ ‫111‪q‬‬ ‫1‬
  • 7. ‫مثال 3‪NFA N‬‬ ‫0‬ ‫‪ε‬‬ ‫0‬ ‫0‬ ‫‪ε‬‬ ‫0‬ ‫0‬ ‫افرض اللغة ‪ A‬تتكون من كل المتسلسل ت ‪ ، 0k‬حيث ‪ K‬من مضاعفا ت‬ ‫العدد 2 أو 3. اللة 3‪N‬تتعرف على ‪.A‬‬
  • 8. ‫‪ DFA‬مكافئة للة 3‪ N‬في المثال السابق‬ ‫0, 1‬ ‫1-‪q‬‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫0‪q‬‬ ‫0‬ ‫1‪q‬‬ ‫0‬ ‫2‪q‬‬ ‫0‬ ‫3‪q‬‬ ‫0‬ ‫4‪q‬‬ ‫0‬ ‫5‪q‬‬ ‫0‬
  • 9. ‫مثال 4‪NFA N‬‬ ‫1‪q‬‬ ‫‪b‬‬ ‫‪a‬‬ ‫‪ε‬‬ ‫‪a‬‬ ‫2‪q‬‬ ‫3‪q‬‬ ‫‪a,b‬‬ ‫لحظ أن هذه اللة تقبل مثل المتسلسل ت ‪ , a, baba, baa‬لكنها ل تقبل‬ ‫ا ً‬ ‫‪ b‬وأو ‪babba‬‬
  • 10. ‫مثال ‪NFA‬‬ ‫1,0‬ ‫1,0‬ ‫1‬ ‫0,‪ε‬‬ ‫1‬ ‫1‪q‬‬ ‫2‪q‬‬ ‫3‪q‬‬ ‫4‪q‬‬ ‫,} 4‪1. Q = {q1 , q2 , q3 , q‬‬ ‫}1,0{ = ‪2. Σ‬‬ ‫0‬ ‫1‬ ‫‪ε‬‬ ‫1‪q‬‬ ‫∅ } 2‪{q1} {q1 , q‬‬ ‫تذكر أنه لتعيين اللة ذاتية الحركة‬ ‫‪δ‬‬ ‫2‪3. Δ is given as q‬‬ ‫} 3‪{q‬‬ ‫∅‬ ‫}3‪{q‬‬ ‫غير المحددة نحتاج لتعيين القيم‬ ‫3‪q‬‬ ‫∅‬ ‫} 4‪{q‬‬ ‫∅‬ ‫التالية )‪(Q,Σ,q0,Δ,F‬‬ ‫4‪q‬‬ ‫} 4‪{q4 } {q‬‬ ‫∅‬ ‫.‪4. q1 is the start state‬‬ ‫.} 4‪5. F = {q‬‬
  • 12. ‫تحويل ‪ NFA‬إلى ‪DFA‬‬ ‫‪ ‬تذكر المثالين المتكافئين من المحاضرة الماضية‬
  • 13. ‫تحويل ‪ NFA‬إلى ‪DFA‬‬ ‫‪ ‬قم بتحويل اللة ‪ NFA‬التالية إلى الـ ‪ DFA‬المكافئة لها:‬
  • 14. ‫مثال:1 قم بتحويل ‪ NFA‬التالية إلى ‪DFA‬‬
  • 16. ‫تابع مثال 1‬ ‫‪ ‬لتقليل التنتقال ت والحال ت، يمكننا تجاهل الحال ت التي ل‬ ‫يمكن الوصول إليها‬
  • 17. ‫:مثال 2‬ ‫0‬ ‫0‬ ‫0‪q‬‬ ‫1‪q‬‬ ‫قم بتحويل اللة غير المحددة أعل ه إلى آلة ‪ DFA‬مكافئة‬
  • 18. 2 ‫تابع مثال‬ 0 1 [q0] {q0, q1} Φ [q1] Φ Φ 0 1 [q0] {q0, q1} Φ [q0,q1] {q0, q1} Φ Φ Φ Φ
  • 19. ‫تابع مثال 2‬ ‫0‬ ‫0‬ ‫}0‪{q‬‬ ‫}‪q q‬‬ ‫1 ,0 {‬ ‫1‬ ‫1‬ ‫‪Φ‬‬ ‫0‬ ‫1‬
  • 20. ‫مثال 3: تحويل ‪ NFA-ε‬إلى ‪DFA‬‬ ‫1‬ ‫‪b‬‬ ‫‪a‬‬ ‫‪ε‬‬ ‫‪a‬‬ ‫2‬ ‫‪a,b‬‬ ‫3‬ ‫اللة غير المحددة ‪ N‬معطاة أعل ه حيث‬ ‫}}3{,1, ‪N = {{1,2,3}, {a, b}, δ‬‬ ‫قم بتحويل اللة أعل ه إلى ‪DFA‬‬
  • 21. ‫تابع مثال 3‬ ‫‪a,b‬‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪φ‬‬ ‫}1{‬ ‫}2{‬ ‫}2,1{‬ ‫‪a,b‬‬ ‫‪b‬‬ ‫‪b‬‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪a‬‬ ‫‪a‬‬ ‫‪a‬‬ ‫}3{‬ ‫‪a‬‬ ‫}3,1{‬ ‫}3,2{‬ ‫}3,2,1{‬ ‫‪b‬‬ ‫‪b‬‬ ‫ملحظة: هذا الحل يضم حال ت ل يمكن الوصول إليها، وبالتالي يمكن اختصارها‬

Editor's Notes

  • #5: تستخدم الـ NFA-ε عندما لا نكون متأكدين في أي حالة نحن الآن. وبالإمكان تحويل أي NFA-ε إلى NFA
  • #13: L= a + .b + ={ a n b m where n,m ≥ 1}