بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

تبديل عبارات با قاعده به DFA

  • مي توانيم يك عبارت با قاعده را بدون ايجاد NFA به  DFA تبديل كنيم.
  • در ابتدا به انتهاي عبارت باقاعده علامت # را اضافه مي كنيم داريم :

  r  è  (r)#    

  • سپس درخت تجزيه و تركيب عبارت با قاعده مورد نظر را ترسيم مي نمائيم
  • در درخت فوق تمامي نشانه هاي حروف الفبا، # و جاهاي خالي در محل برگ ها قرار مي گيرند.
  • تمامي نودهاي داخلي در درخت مربوط به عملگرها خواهد بود.
  • سپس تمامي برگ ها را شماره گذاري مي كنيم.
  • به مثال در اسلايد بعد توجه نمائيد.

اسلاید 2 :

مثال : تبديل عبارت با قاعده به DFA

درخت ترسيم شده براي عبارت زير:

(a|b) * a #

  • هر كدام از جايگاه ها شماره گذاري شده اند
  • هر كدام از حروف ها در محل بر گ ها قرار دارند
  • نودهاي داخلي محل قرارگيري عملگرها مي باشد

اسلاید 3 :

Followposتابع

در ادامه بايستي تابع Followpos را براي محل منتسب به  برگ ها محاسبه مي كنيم

  followpos(i)  : مجموعه مكان هايي است كه بعد از مكان i قرار مي گيرند

        لازم به ذكر است كه اين تابع فقط براي محل برگ ها                      تعريف مي شود و براي نودهاي داخلي قابل تعريف نيست.

.

براي مثال :           ( a | b) * a  #

       1      2      3   4

  followpos(1) = {1,2,3}

  followpos(2) = {1,2,3}

  followpos(3) = {4}

  followpos(4) = {}

اسلاید 4 :

نحوه محاسبه توابع
firstpos, lastpos, nullable

براي محاسبه تابع followpos نيازمند محاسبه توابع زير در درخت

 نحو مي باشيم :

  firstpos(n)  --  

مجموعه اولين حروف توليد شده بوسيله زير عبارت درمحل n

  • lastpos(n) --
  • مجموعه آخرين حرف توليد شده بوسيله زير عبارت در محل n
  • nullable(n) --
  • اين تابع در صورتيكه محل خالي عضوي از رشته توليد شده بوسيله زير عبارت در محل n باشد برابر true و در غير اينصورت مساوي falseخواهد بود.

اسلاید 5 :

چگونه   followposرا برآورد كنيم؟

براي محاسبه تابع  followpos دو قانون زير را در نظر مي گيريم‌‌ :

1 – اگر سطح n يك cat-node باشد و دو انشعاب c1(چپ) و c2 (راست) داشته باشد و i  محلي در مجموعه lastpos(c1) باشد تمامي اعضاي

 firstpos(c2) در تابع followpos(i)  قرار خواهند گرفت.

2 – اگر سطح n يك star-node باشد وi  محلي در مجموعه lastpos(n) باشد تمامي اعضاي  firstpos(n) در تابع followpos(i)  قرار خواهند گرفت.

اگر توابع firstpos و  lastpos براي هر نود درخت محاسبه شوند تابع followpos با يك پيمايش عمقي در درخت نحوي قابل محاسبه خواهد بود.

اسلاید 6 :

مثال        ( a | b) * a  #

قرمزهاfirstpos

آبي ها lastpos

پس از محاسبه توابعfirstpos  و lastpos

تابع followpos  را به صورت زير محاسبه

مي كنيم.

followpos(1) = {1,2,3}

followpos(2) = {1,2,3}

followpos(3) = {4}

followpos(4) = {}

  • پس از محاسبه followpos براي ايجاد DFA آماده مي شويم.
  • .

اسلاید 7 :

الگوريتم تبديل (عبارت باقاعده به DFA)

  • درخت نحو عبارت (r)# را ايجاد مي كنيم.
  • توابع followpos, firstpos, lastpos, nullable را محاسبه مي كنيم .
  • تابع firstpos(root) را بعنوان يك حالت علامت نخورده  از حالات DFA در نظر مي گيريم.
  • تا زماني كه حالت S از مجموعه حالت هاي DFA علامت نخورده است مراحل زير انجام مي پذيرد:

حالت S را علامت مي زنيم.

براي هر ورودي با علامت a

  • در صورتيكه s1…….sn مكان هاي موجود در S بوده و ليبل آن مكان ها a باشد.
  • S’çfollowpos(s1) È ... Èfollowpos(sn)
  • move(S,a) ç S’
  • اگر S’ خالي نبوده و جزو حالتهاي DFA نيز نباشد آن را جزو حالت هاي علامت نخورده DFA قرار مي دهيم.
  • حالت شروع DFA  firstpos(root) مي باشد.
  • حالت پذيرش DFA تمامي حالت هايي است كه در آن مكان # وجود داشته باشد.

اسلاید 8 :

followpos(1)={1,2,3}      followpos(2)={1,2,3}     followpos(3)={4}     followpos(4)={}

S1=firstpos(root)={1,2,3}

  ß  mark S1

a:  followpos(1) Èfollowpos(3)={1,2,3,4}=S2  move(S1,a)=S2

b:  followpos(2)={1,2,3}=S1   move(S1,b)=S1

  ß  mark S2

a:  followpos(1) Èfollowpos(3)={1,2,3,4}=S2  move(S2,a)=S2

b:  followpos(2)={1,2,3}=S1   move(S2,b)=S1

   حالت شروعS1     حالت پذيرش {S2}

اسلاید 9 :

مثال           -- ( a | e) b c* #

followpos(1)={2}    followpos(2)={3,4}     followpos(3)={3,4}     followpos(4)={}

S1=firstpos(root)={1,2}

  ß  mark S1

a:  followpos(1)={2}=S2  move(S1,a)=S2

b:  followpos(2)={3,4}=S3   move(S1,b)=S3

  ß  mark S2

b:  followpos(2)={3,4}=S3  move(S2,b)=S3

  ß  mark S3

c:  followpos(3)={3,4}=S3   move(S3,c)=S3

S1شروع     حالت                           {S3}  حالت پذيرش   

 

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید