You are on page 1of 14

‫جامعة حلب في المناطق المحررة‬

‫كلية الهندسة المعلوماتية‬


‫السنة الثالثة‬
‫لغات صورية‬
‫******************************************************************‬
‫ماهي اللغة ؟‬
‫هي مجموعة من السالسل التي يمكن تشكيلها من ابجدية معينة‪.‬‬
‫ماهي األبجدية؟‬
‫هي مجموعة الرموز التي تتشكل منها ابجدية اللغة‪.‬‬
‫العملية االساسية في تشكيل اللغة هي عملية الوصل أو التعاقب (‪)concatenation‬‬
‫‪Σ 𝑖𝑠 𝑡ℎ𝑒 𝑎𝑙𝑝ℎ𝑎𝑏𝑒𝑡 𝑜𝑓 𝑙𝑎𝑛𝑔𝑢𝑒𝑔𝑒: 𝑖𝑓 𝑎, 𝑏 ∈≡ Σ‬‬ ‫مثال‪:1‬‬
‫𝑏𝑎 𝑟𝑜 𝑏 ‪𝑎.‬‬
‫𝑏𝑎 𝑟𝑜 𝑏 ‪ 𝑎.‬السلسلة المكونة من هذين الرمزين على التوالي من خالل عملية الوصل (‪).‬‬
‫𝑐𝑏𝑎 = )𝑐𝑏(𝑎 = 𝑐)𝑏𝑎(‬ ‫مثال ‪:2‬‬
‫يعرف العنصر الحيادي في عملية الوصل (‪ )ε‬ويسمى السلسلة الفارغة‬
‫𝑎 = 𝑎𝜀 = 𝜀 ‪𝑎.‬‬
‫إذا ً اللغة هي مجموعة السالسل المشكلة من أبجديتها‪.‬‬
‫مثال ‪𝑖𝑓 Σ = {0,1}:3‬‬
‫}‪𝐿1 = {1,0,11,00‬‬
‫}‪𝐿2 = {011,111,000‬‬
‫}‪ 𝐿3 = {ε‬لغة تحتي سلسلة فارغة واحدة‬
‫𝜙 = ‪ 𝐿4‬لغة خالية‬
‫نعرف إعالن المجموعة و يرمز له بالرمز(*) بالشكل التالي ‪:‬‬
‫… 𝑖𝐴 ∪ … … ‪𝐴∗ = {ε} ∪ 𝐴 ∪ 𝐴2 ∪ 𝐴3‬‬
‫)*‪(A‬هي مجموعة السالسل التي يمكن تشكيلها من األبجدية ‪ A‬و هي مجموعة النهائية‪.‬‬
‫إن أي مجموعة جزئية من (*‪ )A‬تسمى لغة صورية‪.‬‬
‫‪𝑖𝑓 𝐴 = {0,1} ∶ 𝐴∗ = 𝐴0 ∪ 𝐴1 ∪ 𝐴2 ∪ … … . . 𝐴𝑖 :‬‬ ‫مثال ‪: 4‬‬
‫‪𝐴0 = {𝜀} , 𝐴1 = {0,1} , 𝐴2 = {00,11,01,10} , 𝐴3‬‬
‫}‪= {000,001,010,011,100,101,110,111‬‬
‫‪𝐴4 = {0000,0001,0010,0011,0100,0101,0110,0111,‬‬
‫}‪1000,1001,1010,1011,1100,1101,1110,1111‬‬
‫‪(Regular‬اللغات المنتظمة‬

‫‪(Format‬أنواع اللغات الصورية‬


‫)‪Languages‬‬

‫)‪language types‬‬
‫‪(onText-‬اللغات خارج السياق‬
‫)‪free languages‬‬

‫اللغات القابلة للعد‬


‫‪(Cursively free‬عدديا‬
‫)‪languages‬‬

‫‪(onText‬اللغات ضن السياق‬
‫)‪sensitive languages‬‬

‫• اللغات المنتظمة )‪(Regular Languages‬‬


‫هي اللغة التي يمكن تمثيلها من خالل اتومات منهية حتمية (‪)DFA‬أو أتومات منتهية ال حتمية (‪ )NFA‬أو‬
‫تعابير منتظمة(‪.)Regular Expressions‬‬
‫• اتومات منهية حتمية (‪Deterministic Finite Automation :)DFA‬‬
‫• أتومات منتهية ال حتمية (‪Non Deterministic Finite Automation : )NFA‬‬
‫‪DFA‬‬

‫‪NFA‬‬ ‫‪Reg Exp‬‬


‫عبارة عن ثالث آليات متكافئة تعبر عن لغة منتظمة‬
‫} ‪𝐿1 = {01,11,10101,10001, … .‬‬ ‫مثال ‪:‬‬
‫‪ L1‬لغة تضم جميع السالسل التي تنتهي ب‪ /1/‬يمكن تعريفها بشكل آخر‪.‬‬
‫}‪𝑖𝑓 Σ = {0,1} ⟹ 𝐿1 = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑋 1‬‬
‫} … ‪𝐿2 = {0,00,010,01110,‬‬
‫‪ L2‬لغة معرفة على األبجدية {‪ }0,1‬و تضم جميع السالسل التي تنتهي ب\‪.\0‬‬
‫}‪𝐿2 = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑋 0‬‬
‫لغة فارغة ‪𝐿3 = 𝜙 :‬‬
‫نعرف الرمز | | و الذي يمثل طول السلسلة ‪ |𝑋| = 3 :‬هذا يعني أن طول السلسلة يساوي ‪.3‬‬
‫}‪𝐿4 = {𝑤|𝑤 ∈ Σ ∗ ; |𝑤| = 5‬‬
‫‪ L4‬لغة معرفة على األبجدية ‪ Σ‬بحيث يكون طول أي سلسلة فيها هة ‪./5/‬‬
‫} ‪𝐿4 = {00010,11110,00000,11111,01010, … .‬‬
‫نعرف الرمز 𝑥|| و الذي يمثل عدد مرات تكرار الرمز 𝑥 في السلسلة ‪.‬‬
‫مثال ‪ :‬عدد مرات تكرار الرمز \‪ \0‬في السلسلة هو ‪)|𝑤|0 = 3( : /3/‬‬
‫} ‪𝐿5 = {𝑤|𝑤 ∈ Σ ∗ ; |𝑤|0 = |𝑤|1‬‬
‫‪ L5‬لغة تضم جميع السالسل التي يتساوى فيها عدد األصفار مع عدد الواحدات‪.‬‬
‫نعرف عملية الوصل على اللغات (‪).‬‬
‫} ‪𝐿1 . 𝐿2 = {𝑢. 𝑣 |𝑢 ∈ 𝐿1 ; 𝑣 ∈ 𝐿2‬‬
‫}‪𝐿1 = {001,10,111‬‬
‫}‪𝐿2 = {𝜀, 001‬‬
‫}‪𝐿1 . 𝐿2 = {001,10,111,001001,10001,111001‬‬
‫اإلعالن على اللغة‪:‬‬
‫… 𝑖𝐿 ∪ … … ‪𝐿∗ = {ε} ∪ 𝐿0 ∪ 𝐿1 ∪ 𝐿2‬‬
‫‪𝐿0 = {𝜀} , 𝐿𝑖 = 𝐿. 𝐿𝑖−1‬‬
‫مثال ‪Σ = {0,1} :‬‬
‫}‪𝐿0 = {𝜀} , 𝐿1 = 𝐿0 . 𝐿 = {0,1}. {𝜀} = {0,1‬‬
‫}‪𝐿2 = 𝐿. 𝐿1 = {0,1}. {0,1} = {00,01,10,11‬‬
‫}‪𝐿3 = 𝐿. 𝐿2 = {000,001,010,011,100,011,100,101,110,111‬‬
‫لتكن لدينا األبجدية ‪Σ = {𝑎, 𝑏}:‬‬
‫لنفرض ‪ L1‬اللغة التي تضم السالسل التي تبدأ بالرمز ‪ b‬و عدد رموز ‪ a‬يزيد ‪ /1/‬على عدد رموز ‪.b‬‬
‫} ‪𝐿5 = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑏 𝑋; |𝑤|𝑎 = |𝑤|𝑏+1‬‬
‫لتكن لدينا األبجدية ‪Σ = {0,1}:‬‬
‫‪ L2‬تضم جميع السالسل في نظام العد الثنائي بحيث تكون قيمها أعداد زوجية و تتألف من ثمان خانات‪.‬‬
‫}‪𝐿5 = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑋0; |𝑋| = 7‬‬
‫االتومات المنتهي الحتمي )‪Deterministic Finite Automation:(DFA‬‬
‫وهي عبارة عن ىلة مجردة لها وضع أو حالة في كل لحظة تستطيع هذه اآللة قراءة سلسلة رموز على التوالي باتجاه‬
‫واحد ومن امكانية العدة إلى رمز تحت قراءته و االنتقال إلى حالة أخرى حسب رمز الدخل و الحالة الداخلية‬
‫لألتومات و يمثل بخماسية ( 𝐹 ‪)𝑄 , Σ , 𝛿 , 𝑞0 ,‬‬
‫} ‪ 𝑄 = {𝑞0 , 𝑞1 , … . .‬مجموعة حاالت األتومات‪.‬‬
‫} …{ = ‪ Σ‬أبجدية اللغة و هي مجموعة منتهية‪.‬‬
‫𝛿 تابع االنتقال و يعرف إما عن طريق جدول أو من خالل رسم األنومات‪.‬‬
‫́𝑞 = )𝑎 ‪𝛿; 𝑄 × Σ ⟶ 𝑄; 𝛿(𝑞,‬‬
‫‪ 𝑞0‬الحالة البدائية لألتومات‬
‫‪ F‬مجموعة الحاالت النهائية لألتومات وهي مجموعة جزئية من ‪. Q‬‬
‫يمكن ان نعرف تابع االنتقال على سلسلة‪.‬‬
‫𝑞 = )𝜀 ‪𝛿̂ = 𝑄 ∗ Σ ∗ ⟶ 𝑄; 𝛿^(𝑞,‬‬
‫)𝑎 ‪𝛿^(𝑞, 𝑤𝑎 ) = 𝛿(𝛿^(𝑞, 𝑤),‬‬
‫𝑄 ⟶ ∗ ‪𝛿̂ : 𝑄 × Σ‬‬
‫)𝑎 ‪𝛿^(𝑞, 𝜀) = 𝑞; 𝛿^(𝑞, 𝑤𝑎 ) = 𝛿(𝛿^(𝑞, 𝑤),‬‬
‫مالحظة‪ :‬تكون السلسلة مقبولة في األتومات عندما‬
‫𝐹 ∈ )𝑤 ‪𝑤 ∈ 𝐿(𝑀); 𝐹𝛿^(𝑞0 ,‬‬

‫مثال ‪:‬‬

‫ماهي موصفات األتومات(‪:)Automate Description‬‬


‫‪𝑄 = {𝑞1 , 𝑞2 } ,‬‬ ‫} ‪Σ = {0,1} , 𝑞0 = 𝑞1 , 𝐹 = {𝑞2‬‬
‫𝛿‬ ‫‪0‬‬ ‫‪1‬‬
‫‪𝑞1‬‬ ‫‪𝑞1 𝑞2‬‬
‫∗‬
‫‪𝑞2‬‬ ‫‪𝑞1 𝑞2‬‬
‫} ‪{01,011,0101,01011, … .‬‬ ‫نالحظ السالسل التي يقبلها األتومات‬
‫}‪𝐿(𝑀) = {𝑤|𝑤 ∈ Σ ∗ , 𝑤 = 𝑋 1 ; |𝑋| > 0‬‬
‫مجموعة السالسل التي تنتهي ب‪ /1/‬و طولها أكبر تماما ً من ‪./1/‬‬
‫مثال ‪: 2‬‬

‫‪𝑄 = {𝑞1 , 𝑞2 } ,‬‬ ‫} ‪Σ = {0,1} , 𝑞0 = 𝑞1 , 𝐹 = {𝑞1‬‬


‫𝛿‬ ‫‪0‬‬ ‫‪1‬‬
‫∗‬
‫‪𝑞1‬‬ ‫‪𝑞1 𝑞2‬‬
‫‪𝑞2 𝑞1 𝑞2‬‬
‫} … ‪𝐿(𝑀2 ) = {𝜀, 0,00,10,‬‬
‫}𝜀 = 𝑤|‪𝐿(𝑀2 ) = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑋 0‬‬
‫مثال ‪: 3‬‬

‫‪𝑄 = {𝑞1 , 𝑞2 } ,‬‬ ‫} ‪Σ = {0,1} , 𝑞0 = 𝑞1 , 𝐹 = {𝑞2‬‬


‫𝛿‬ ‫‪0‬‬ ‫‪1‬‬
‫‪𝑞1‬‬ ‫‪𝑞1‬‬ ‫‪𝑞2‬‬
‫∗ ‪𝑞2‬‬ ‫‪𝑞2‬‬ ‫‪𝑞1‬‬
‫}𝑑𝑑‪𝐿(𝑀) = {𝑤|𝑤 ∈ Σ ∗ ; |𝑤|1 = 0‬‬
‫}‪|𝑜𝑟 𝐿(𝑀) = {𝑤|𝑤𝜀Σ ∗ ∃𝑝 ∈ 𝑁|𝑤|1 = 2𝑝 + 1‬‬

‫مثال ‪: 4‬‬

‫‪𝑄 = {𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 , 𝑞5 } ,‬‬ ‫} ‪Σ = {𝑎, 𝑏} , 𝑞0 = 𝑞1 , 𝐹 = {𝑞4 , 𝑞2‬‬

‫𝛿‬ ‫‪a‬‬ ‫‪b‬‬


‫‪𝑞1‬‬ ‫‪𝑞2‬‬ ‫‪𝑞4‬‬
‫∗ ‪𝑞2‬‬ ‫‪𝑞2‬‬ ‫‪𝑞3‬‬
‫‪𝑞3‬‬ ‫‪𝑞2‬‬ ‫‪𝑞3‬‬
‫∗ ‪𝑞4‬‬ ‫‪𝑞5‬‬ ‫‪𝑞4‬‬
‫‪𝑞5‬‬ ‫‪𝑞5‬‬ ‫‪𝑞4‬‬

‫‪ -‬أوجد االتومات ‪ DFA‬الذي يقبل اللغة التالية ‪:‬‬


‫}𝑌‪𝑙(𝑀) = {𝑤|𝑤 ∈ Σ ∗ ; 𝑤 = 𝑋0101‬‬
‫‪:q1‬الحالة االبتدائية وهي الحالة فيها و ال جزء من السلسلة ‪ 0101‬قد تمت قراءته أو مالحظته‪.‬‬
‫‪ :𝑞2‬الحالة التي يتم فيها مالحظة أو قراءة أول صفر من السلسلة ‪.0101‬‬
‫‪ :𝑞3‬الحالة التي يتم فيها مالحظة أو قراءة الرمزين ‪ 01‬من السلسلة ‪ 0101‬في حالة قراءة ‪ /1/‬فإن االتومات تنتقل‬
‫إلى الحالة ‪.𝑞1‬‬
‫‪ :𝑞4‬الحالة التي يتم فيها قراءة ‪.010‬‬
‫‪ :𝑞5‬الحالة التي يتم فيها قراءة السلسة بالكامل ‪.‬‬
Σ = {0,1} , 𝑄 = {𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 , 𝑞5 } , 𝑞0 = 𝑞1 , 𝐹 = {𝑞5 }

𝛿 0 1
𝑞1 𝑞2 𝑞1
𝑞2 𝑞2 𝑞3
𝑞3 𝑞4 𝑞1
𝑞4 𝑞2 𝑞5
𝑞5 ∗ 𝑞5 𝑞5
‫‪ -‬اكتب أربعة سالسل مقبلة و أخرى غير مقبلة في االتومات التالي ‪:‬‬

‫)𝑏𝑏𝑏𝑏 ‪𝑎𝑐𝑐𝑒𝑝𝑡𝑒𝑑: (𝑎𝑎, 𝑏𝑏, 𝑎𝑎𝑎𝑏,‬‬


‫)𝑏𝑏𝑏 ‪𝑛𝑜𝑡 𝑎𝑐𝑐𝑒𝑝𝑡𝑒𝑑: (𝜀, 𝑎, 𝑎𝑎𝑎,‬‬

‫‪ -‬أنشئ اتومات يقبل اللغة ‪ L‬المعرفة على األبجدية }𝟏 ‪𝚺 = {𝟎,‬‬


‫∗‬
‫}𝑞‪𝐿(𝑀) = {𝑤|𝑤 ∈ Σ ; ∃(𝑝, 𝑞) ∈ 𝑁 × 𝑁 ; |𝑤|0 = 2𝑝 ; |𝑤|1 = 2‬‬
‫𝑞‪𝑞1 ; 𝛿(𝑞1 , 𝑤) = 𝑞1 ; 𝑖𝑓 |𝑤|0 = 2𝑝 ; |𝑤|1 = 2‬‬
‫‪𝑞2 ; 𝛿(𝑞1 , 𝑤) = 𝑞2 ; 𝑖𝑓 |𝑤|0 = 2𝑝 ; |𝑤|1 = 2𝑞 + 1‬‬
‫𝑞‪𝑞3 ; 𝛿(𝑞1 , 𝑤) = 𝑞3 ; 𝑖𝑓 |𝑤|0 = 2𝑝 + 1 ; |𝑤|1 = 2‬‬
‫‪𝑞4 ; 𝛿(𝑞1 , 𝑤) = 𝑞4 ; 𝑖𝑓 |𝑤|0 = 2𝑝 + 1 ; |𝑤|1 = 2𝑞 + 1‬‬
‫‪Σ = {0,1} , 𝑄 = {𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 } , 𝑞0 = 𝑞1 ,‬‬ ‫} ‪𝐹 = {𝑞1‬‬
‫𝛿‬ ‫‪0‬‬ ‫‪1‬‬
‫∗ ‪𝑞1‬‬ ‫‪𝑞3‬‬ ‫‪𝑞2‬‬
‫‪𝑞2‬‬ ‫‪𝑞4‬‬ ‫‪𝑞1‬‬
‫‪𝑞3‬‬ ‫‪𝑞1‬‬ ‫‪𝑞4‬‬
‫‪𝑞4‬‬ ‫‪𝑞2‬‬ ‫‪𝑞3‬‬
‫‪Homework‬‬
‫أوجد األتومات ‪𝐿𝑜𝑑𝑑 = {𝑤|𝑤 ∈ Σ ∗ ; ∃(𝑝, 𝑞) ∈ 𝑁 × 𝑁 ; |𝑤|0 = 2𝑝 + 1 ; |𝑤|1 = 2𝑞 + 1 :‬‬ ‫‪-‬‬
‫= )𝑀(𝐿‬ ‫∗ ‪{𝑤|𝑤𝜖Σ‬‬ ‫مثال ‪ :‬أوجد األتومات الذي يعبر عن اللغة ‪; 𝑤 = 𝑋𝑎}:‬‬

‫‪Σ = {𝑎, 𝑏} , 𝑄 = {𝑞1 , 𝑞2 } ,‬‬ ‫‪𝑞0 = 𝑞1 ,‬‬ ‫} ‪𝐹 = {𝑞1‬‬


‫𝛿‬ ‫‪a‬‬ ‫‪b‬‬
‫∗ ‪𝑞1‬‬ ‫‪𝑞1‬‬ ‫‪𝑞2‬‬
‫‪𝑞2‬‬ ‫‪𝑞1‬‬ ‫‪𝑞2‬‬

‫مثال ‪ :‬أوجد األتومات الذي يعبر عن اللغة ‪𝐿 =:‬‬


‫}‪{𝑤|𝑤 ∈ Σ ; ∃ 𝑚, 𝑛 ∈ 𝑁 × 𝑁 ; 0𝑛 1𝑚 . 𝑚, 𝑛 ≥ 0‬‬
‫∗‬

‫‪Σ = {0,1} , 𝑄 = {𝑞1 , 𝑞2 , 𝑞3 } ,‬‬ ‫‪𝑞0 = 𝑞1 ,‬‬ ‫} ‪𝐹 = {𝑞1 , 𝑞2‬‬

‫𝛿‬ ‫‪0‬‬ ‫‪1‬‬


‫‪𝑞1‬‬ ‫‪𝑞1‬‬ ‫‪𝑞2‬‬
‫‪𝑞2‬‬ ‫‪𝑞3‬‬ ‫‪𝑞2‬‬
‫‪𝑞3‬‬ ‫‪𝑞3‬‬ ‫‪𝑞3‬‬
‫مثال ‪:‬‬
‫}‪𝐿 = {𝑤|𝑤𝜖 ∈ Σ ∗ ; 𝑤 = 𝑋101‬‬

‫‪Σ = {0,1} , 𝑄 = {𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 } , 𝑞0 = 𝑞1 ,‬‬ ‫} ‪𝐹 = {𝑞4‬‬


‫𝛿‬ ‫‪0 1‬‬
‫‪𝑞1 𝑞1 𝑞2‬‬
‫‪𝑞2 𝑞2 𝑞2‬‬
‫‪𝑞3 𝑞1 𝑞4‬‬
‫‪𝑞4 ∗ 𝑞1 𝑞2‬‬

‫‪Homework :‬‬
‫أوجد االتومات التي تقبل اللغات التالية ‪:‬‬
‫}𝑎𝑎 𝑣 = 𝑤 ; ∗}𝑏 ‪𝐿1 = {𝑤|𝑤 ∈ {𝑎, 𝑏}∗ ; ∃𝑣 ∈ {𝑎,‬‬
‫} ‪𝐿2 = {𝑤|𝑤 ∈ {𝑎, 𝑏}∗ ; ∃𝑤1 , 𝑤2 ∈ {𝑎, 𝑏}∗ ; 𝑤 = 𝑤1 𝑎𝑎𝑎 𝑤2‬‬
‫}𝑛‪𝐿3 = {𝑤|𝑤 ∈ {𝑎, 𝑏}∗ ; ∃𝑛 ∈ 𝑁 ; |𝑤|𝑎 = 3‬‬
‫}𝑁 ∈ 𝑖 ; 𝑖‪𝐿4 = {𝑤|𝑤 ∈ {0,1}∗ ; 𝑉𝑎𝑙𝑢𝑒 𝑜𝑓 (𝑤) = 5‬‬
‫مثال ‪ :‬اوجد األتومات الذي ال يقبل السلسة ‪. aabb‬‬
‫• نوجد األتومات الذي يقبل السلسة ‪.aabb‬‬
‫• تقلب الحاالت النهائية إلى عادية و الحاالت العادية إلى نهائية‪.‬‬

‫االنومات ‪ M‬يقبل السالسل التي تحتوي على السلسلة الجزئية ‪aabb‬‬

‫أوجد األتومات الذي يقبل اللغة ‪:‬‬


‫}𝑁 ∈ 𝑖 ; 𝑖‪𝐿4 = {𝑤|𝑤 ∈ {0,1}∗ ; 𝑉𝑎𝑙𝑢𝑒 𝑜𝑓 (𝑤) = 3‬‬
‫‪: 𝑞1‬باقي القسمة على ‪ /3/‬هو ‪/0/‬‬
‫‪: 𝑞2‬باقي القسمة على ‪ /3/‬هو ‪/1/‬‬
‫‪"𝑞3‬باقي القسمة على ‪ /3/‬هو ‪/2/‬‬
‫‪----------------------------------------------------------------------------------------------------‬‬

You might also like