ﺑﻪ ﻧﺎم ﺧﺪا ﺗﻤﺮﻳﻦ ﺳﺮي ﭘﻨﺠﻢ ﻧﻈﺮﻳﻪ زﺑﺎنﻫﺎ و ﻣﺎﺷﻴﻦﻫﺎ داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ -1زﺑﺎن L1ﻣﺴﺘﻘﻞ از ﻣﺘﻦ ﻧﻴﺴﺖ .اﻳﻦ ادﻋﺎ را ﺑﺎ ﻟﻢ ﭘﺎﻣﭙﻴﻨﮓ ﺛﺎﺑﺖ ﻣﻲﻛﻨﻴﻢ. ﻓﺮض ﻛﻨﻴﺪ ﻃﻮل ﭘﺎﻣﭙﻴﻨﮓ pﺑﺎﺷﺪ .ﺣﺎل رﺷﺘﻪ 0 1 #0 1را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﺑﻨﺎﺑﺮ ﻟﻢ ﺑﺎﻳﺪ ﺑﺘﻮان اﻳﻦ رﺷﺘﻪ را ﻧﻮﺷﺖ ﻛﻪ ﺑﻪ ازاي ﻫﺮ 0 ﻃﻮري ﺑﻪ ﺻﻮرت داﺷﺘﻪ ﺑﺎﺷﻴﻢ 1 .اﮔﺮ ﻋﻼﻣﺖ #در y ﺷﺎﻣﻞ دو ﻋﻼﻣﺖ #ﻣﻲﺷﻮد ،و اﮔﺮ در vﻳﺎ zﺑﺎﺷﺪ ،در رﺷﺘﻪ ﻳﺎ wﺑﺎﺷﺪ ،رﺷﺘﻪ دو | ﻃﺮف ﻋﻼﻣﺖ #ﻃﻮل ﻧﺎﻣﺴﺎوي ﺧﻮاﻫﻨﺪ داﺷﺖ .ﭘﺲ ﻋﻼﻣﺖ #ﺑﺎﻳﺪ در xﺑﺎﺷﺪ .از ﻃﺮﻓﻲ دارﻳﻢ | ،در ﻧﺘﻴﺠﻪ رﺷﺘﻪﻫﺎي wو yﻣﺎﻧﻨﺪ ﺷﻜﻞ زﻳﺮ ﺑﺎﻳﺪ اﻧﺘﺨﺎب ﺷﻮﻧﺪ: 00. . .0 1. 1. . .1 . . .1 # 0. . . 0 … 0 … 0 11. . .1 wو 0 ﻣﺜﻼ اﮔﺮ 1 yآﻧﮕﺎه 1 #0 و در ﻧﺘﻴﺠﻪ 1 0 1 .ﭘﺲ زﺑﺎن L1 ﻣﺴﺘﻘﻞ از ﻣﺘﻦ ﻧﻴﺴﺖ. زﺑﺎن L2ﻣﺴﺘﻘﻞ از ﻣﺘﻦ اﺳﺖ .ﻣﻲﺗﻮان ﻳﻚ PDAﺑﺮاي آن ﻃﺮاﺣﻲ ﻛﺮد. اﻳﺪه :در ﺣﺎﻟﺖ ﻛﻠﻲ ﺑﺮاي آﻧﻜﻪ # ﺑﻪ L2ﻣﺘﻌﻠﻖ ﺑﺎﺷﺪ ﺑﺎﻳﺪ ﺑﻪ ازاي ﻳﻚ iﺣﺮف iام wﺑﺎ ﺣﺮف iام ﺗﻔﺎوت داﺷﺘﻪ ﺑﺎﺷﺪ .1ﺑﺮاي ﭼﻚ ﻛﺮدن اﻳﻦ ﻣﺴﺎﻟﻪ ﻣﻲﺗﻮان i-1ﺣﺮف اول wرا روي ﭘﺸﺘﻪ ﮔﺬاﺷﺘﻪ ،ﺣﺮف iام را ﺑﻪ , , &, &, #, , , ,$ , & & , , #, #, ,$ , $, #, &, &, , , 1ﺣﺎﻟﺖ دﻳﮕﺮ ﺁن اﺳﺖ ﮐﻪ ﻃﻮل دو رﺷﺘﻪ ﻣﺘﻔﺎوت ﺑﺎﺷﺪ ﻳﺎ ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻳﮑﻲ از دو رﺷﺘﻪ ﺣﺮف iام ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .روش ﺑﻴﺎن ﺷﺪﻩ ﺷﺎﻣﻞ اﻳﻦ ﺣﺎﻟﺖ ﻧﻴﺰ ﻣﻲﺑﺎﺷﺪ. ][1 ﺧﺎﻃﺮﺳﭙﺮده )ﺗﻮﺳﻂ وﺿﻌﻴﺖﻫﺎي ﻣﺎﺷﻴﻦ( ،ﭘﺲ از آن ﺑﺪون اﻳﻨﻜﻪ ﭼﻴﺰي از ﭘﺸﺘﻪ ﻛﻢ ﻳﺎ ﺑﻪ آن اﺿﺎﻓﻪ ﻛﻨﻴﻢ ،ورودي را ﺑﺨﻮاﻧﻴﻢ ﺗﺎ ﺑﻪ #ﺑﺮﺳﻴﻢ .ﺳﭙﺲ ﺑﻪ ازاي ﻫﺮ ﺣﺮف از ﻛﻪ ﺧﻮاﻧﺪه ﻣﻲﺷﻮد ﻳﻚ ﺣﺮف از روي ﭘﺸﺘﻪ ﺑﺮدارﻳﻢ ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ ﭘﺸﺘﻪ ﺧﺎﻟﻲ ﺷﻮد .اﻛﻨﻮن اﮔﺮ ﺣﺮف ﺧﻮاﻧﺪه ﺷﺪه ورودي ﺑﺎ ﻣﻘﺪاري ﻛﻪ ﺑﻪ ﺧﺎﻃﺮ ﺳﭙﺮده ﺑﻮدﻳﻢ ﺗﻔﺎوت داﺷﺖ wرا ﻣﻲﭘﺬﻳﺮﻳﻢ .اﻣﺎ از آﻧﺠﺎ ﻛﻪ ﻣﻘﺪار iرا ﻧﻤﻲداﻧﻴﻢ از ﻋﺪم ﻗﻄﻌﻴﺖ PDAاﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. ﭘﻴﺎده ﺳﺎزي :ﻫﻤﺎن ﻃﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ از ﭘﺸﺘﻪ ﻓﻘﻂ ﺑﺮاي ﺷﻤﺮدن اﺳﺘﻔﺎده ﻣﻲﺷﻮد ،ﭘﺲ ﻟﺰوﻣﻲ ﻧﺪارد ﻛﻪ ﺧﻮد ﺣﺮوف را روي ﭘﺸﺘﻪ ﺑﮕﺬارﻳﻢ ،ﺑﻠﻜﻪ ﻣﻲﺗﻮان ﻫﺮ ﺣﺮف دﻟﺨﻮاه ﻣﺎﻧﻨﺪ & را در ﭘﺸﺘﻪ ﮔﺬاﺷﺖ .ﺣﺮف $ﻧﻴﺰ در اﺑﺘﺪا روي ﭘﺸﺘﻪ ﻗﺮار داده ﻣﻲﺷﻮد ﺗﺎ ﺑﺘﻮان ﺧﺎﻟﻲ ﺷﺪن ﭘﺸﺘﻪ را ﺗﺸﺨﻴﺺ داد .ﻧﻜﺘﻪ دﻳﮕﺮ آﻧﻜﻪ ﻣﻤﻜﻦ اﺳﺖ رﺷﺘﻪ اول ε ﺑﺎﺷﺪ .در اﻳﻦ ﺣﺎﻟﺖ رﺷﺘﻪ دوم ﻫﺮﭼﻪ ﻏﻴﺮ از εﺑﺎﺷﺪ ،ﻛﻞ رﺷﺘﻪ را ﺑﺎﻳﺪ ﺑﭙﺬﻳﺮﻳﻢ .ﮔﺬارﻫﺎي از و ﺑﻪ ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر ﻛﺸﻴﺪه ﺷﺪهاﻧﺪ .دﻳﮕﺮ ﺟﺰﺋﻴﺎت ﭘﻴﺎده ﺳﺎزي در ﺷﻜﻞ ﻧﻤﺎﻳﺶ داده ﺷﺪه .ﻣﺆﻟﻔﻪ ﻫﺎي اﻳﻦ PDAﺑﻪ ﺷﺮح زﻳﺮ اﺳﺖ: , , , , , , , &, $ ﻧﺘﻴﺠﻪ :ﻣﺠﻤﻮﻋﻪ زﺑﺎنﻫﺎي ﻣﺴﺘﻘﻞ از ﻣﺘﻦ ﻧﺴﺒﺖ ﺑﻪ ﻋﻤﻠﮕﺮ ﻣﻜﻤﻞ ﺑﺴﺘﻪ ﻧﻴﺴﺖ! -2ﻓﺮض ﻣﻲﻛﻨﻴﻢ اوﻟﻮﻳﺘﻬﺎ از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ *،o ، ﺑﺎﺷﻨﺪ. | | | | | -3ﻫﺮ زﺑﺎن ﻣﻨﻈﻢ ﻳﻚ DFAدارد ﻛﻪ آن را ﻣﻲﭘﺬﻳﺮد .ﻳﻚ DFAﺣﺎﻟﺖ ﺧﺎﺻﻲ از ﻳﻚ PDAاﺳﺖ .در واﻗﻊ PDAﻳﻚ DFAاﺳﺖ ﻛﻪ ﻋﺪم ﻗﻄﻌﻴﺖ و ﭘﺸﺘﻪ ﺑﻪ آن اﺿﺎﻓﻪ ﺷﺪه .ﭘﺲ ﻫﺮ زﺑﺎن ﻣﻨﻈﻢ ﻳﻚ PDAﻗﻄﻌﻲ دارد. -4ﺑﺮاي زﺑﺎن Lﻳﻚ PDAﻃﺮاﺣﻲ ﻣﻲﻛﻨﻴﻢ. اﻳﺪه :ﺗﻔﺎﺿﻞ ﺗﻌﺪاد aو ﺗﻌﺪاد bﺧﻮاﻧﺪه ﺷﺪه را )از ﺟﻨﺲ ﺣﺮﻓﻲ ﻛﻪ ﺑﻴﺸﺘﺮ ﺗﻜﺮار ﺷﺪه( در ﭘﺸﺘﻪ ﻧﮕﻪ دارﻳﻢ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل اﮔﺮ ﺗﺎ ﺑﻪ ﺣﺎل 5ﺗﺎ aو 2ﺗﺎ bﺧﻮاﻧﺪه ﺷﺪه 3ﻋﺪد aدر ﭘﺸﺘﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ .ﺣﺎل اﮔﺮ ﺣﺮف ﺑﻌﺪي ﻛﻪ ﻣﻲﺧﻮاﻧﻴﻢ aﺑﻮد ،آن را ﺑﻪ ﭘﺸﺘﻪ اﺿﺎﻓﻪ ﻣﻲﻛﻨﻴﻢ و اﮔﺮ bﺑﻮد ،ﻳﻚ aرا از ﭘﺸﺘﻪ ﺑﺮﻣﻲدارﻳﻢ .اﮔﺮ ﭘﺸﺘﻪ ﺧﺎﻟﻲ ﺑﺎﺷﺪ , , , , $ , , , , , ][2 )ﻛﻪ ﻳﻌﻨﻲ ﺗﻌﺪاد aو bﺧﻮاﻧﺪه ﺷﺪه ﺑﺮاﺑﺮ ﺑﻮده( ﻫﺮ ﺣﺮﻓﻲ را ﺧﻮاﻧﺪﻳﻢ روي ﭘﺸﺘﻪ ﻣﻲﮔﺬارﻳﻢ .ﻫﺮﮔﺎه ﭘﺸﺘﻪ ﺧﺎﻟﻲ ﻧﺒﺎﺷﺪ ﻧﻴﺰ رﺷﺘﻪ را ﻣﻲﭘﺬﻳﺮﻳﻢ. ﭘﻴﺎده ﺳﺎزي :از $ﺑﺮاي اﻃﻼع از ﺧﺎﻟﻲ ﺷﺪن ﭘﺸﺘﻪ اﺳﺘﻔﺎده ﺷﺪه .ﻣﺆﻟﻔﻪﻫﺎي PDAﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﻨﺪ: , -5اﻟﻒ( ﻫﻤﺎن ﻃﻮر ﻛﻪ در ﺷﻜﻞ ﻧﺸﺎن داده ﺷﺪه ،رﺷﺘﻪ , , $و , داراي دو درﺧﺖ اﺷﺘﻘﺎق در ﮔﺮاﻣﺮ Gاﺳﺖ. | ب( زﺑﺎن اﻳﻦ ﮔﺮاﻣﺮ ﺑﻪ ﺻﻮرت 0 , , اﺳﺖ .ﮔﺮاﻣﺮ ﻧﺎﻣﺒﻬﻢ را ﺑﻪ ﺻﻮرﺗﻲ ﺗﻌﺮﻳﻒ ﻣﻴﻜﻨﻴﻢ ﻛﻪ زﺑﺎن Lرا ﺗﻮﻟﻴﺪ ﻛﻨﺪ: | S S S S S b ε S a b a ][3 ε a a |
© Copyright 2025 Paperzz