A9-sol.pdf

‫ﺳﺎﺧﺘﺎرﻫﺎی ﮔﺴﺴﺘﻪ‬
‫ﻧﯿﻢﺳﺎل دوم ‪٩٣-٩٢‬‬
‫ﻣﺪرس‪ :‬ﺣﻤﯿﺪ ﺿﺮاﺑ زاده‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﻣﺪلﺳﺎزی ﻣﺤﺎﺳﺒﺎت‬
‫ﺗﻤﺮﯾﻦ ﺳﺮی ﻧﻬﻢ‬
‫زﻣﺎن ﺗﺤﻮﯾﻞ‪ ٢۵ :‬ﺧﺮدادﻣﺎه‬
‫ﻣﺴﺌﻠﻪی ‪ .١‬ﻃﺮاﺣ ﻣﺎﺷﯿﻦ‬
‫ﺑﺮای ﻣﺴﺌﻠﻪﻫﺎی زﯾﺮ ﻣﺎﺷﯿﻦﻫﺎی ﺣﺎﻟﺖﻣﺘﻨﺎﻫ ﻏﯿﺮﻗﻄﻌ ﻃﺮاﺣ ﮐﻨﯿﺪ‪.‬‬
‫اﻟﻒ( ﻫﻤﻪی رﺷﺘﻪﻫﺎی دودوﯾ ﮐﻪ ﺣﺪاﻗﻞ ﯾ‬
‫از ﭘﻨﺞ ﺣﺮف آﺧﺮ آنﻫﺎ ‪ ١‬اﺳﺖ‪.‬‬
‫ب( ﻫﻤﻪی رﺷﺘﻪﻫﺎی ﻣﺘﺸ ﻞ از ارﻗﺎم ‪ ٠‬ﺗﺎ ‪ ٩‬ﺑﻪ ﺷﺮﻃ ﮐﻪ ﺣﺮف آﺧﺮ آنﻫﺎ در ﻣ ﺎنﻫﺎی ﻗﺒﻠ ﻫﻢ ﻇﺎﻫﺮ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬
‫ﺣﻞ‪.‬‬
‫اﻟﻒ( ﻓﺮض ﮐﻨﯿﺪ ‪ ε‬ﻧﺸﺎندﻫﻨﺪهی رﺷﺘﻪی ﺗﻬ ﺑﺎﺷﺪ‪ .‬ﻣﺎﺷﯿﻦ ﻣﻮردﻧﻈﺮ ﺑﻪ ﺷ ﻞ زﯾﺮ اﺳﺖ‪.‬‬
‫ب( در ﺷ ﻞ زﯾﺮ ﻓﺮض ﮐﻨﯿﺪ ﻫﻤﻪی ﺣﺎﻟﺖﻫﺎ ﺑﻪ ﺟﺰ ﺣﺎﻟﺖ ﻧﻬﺎﯾ ﯾﺎﻟ ﺑﺎ ﺳﺘﺎره ﺑﻪ ﺧﻮدﺷﺎن دارﻧﺪ‪.‬‬
‫▷‬
‫ﻣﺴﺌﻠﻪی ‪ .٢‬زﺑﺎنﻫﺎی ﻣﻨﻈﻢ‬
‫ﺛﺎﺑﺖ ﮐﻨﯿﺪ اﮔﺮ ‪ L‬ﯾ‬
‫زﺑﺎن ﻣﻨﻈﻢ ﺑﺎﺷﺪ زﺑﺎنﻫﺎی زﯾﺮ ﻧﯿﺰ ﻣﻨﻈﻢ ﺧﻮاﻫﻨﺪ ﺑﻮد‪.‬‬
‫‪١‬‬
‫اﻟﻒ( ﻣﺠﻤﻮﻋﻪی ﻫﻤﻪی رﺷﺘﻪﻫﺎﯾ ﮐﻪ ﻣﻌ ﻮس آنﻫﺎ در ‪ L‬اﺳﺖ‪.‬‬
‫ب( ﻣﺠﻤﻮﻋﻪی ﻫﻤﻪی رﺷﺘﻪﻫﺎﯾ ﮐﻪ ﺑﺎ ﺣﺬف ﯾ‬
‫ﺣﺮف از رﺷﺘﻪﻫﺎی زﺑﺎن ‪ L‬ﺑﻪ دﺳﺖ ﻣ آﯾﺪ‪.‬‬
‫ج( ﻣﺠﻤﻮﻋﻪی ﻫﻤﻪی رﺷﺘﻪﻫﺎﯾ ﮐﻪ ﭘﯿﺸﻮﻧﺪی از آنﻫﺎ در زﺑﺎن ‪ L‬ﻧﺒﺎﺷﺪ‪.‬‬
‫ﺣﻞ‪.‬‬
‫اﻟﻒ( ﻣﺎﺷﯿﻦ ﺣﺎﻟﺖﻣﺘﻨﺎﻫ ﻣﺮﺑﻮط ﺑﻪ ‪ L‬را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪ .‬ﮐﺎﻓ اﺳﺖ ﺟﻬﺖ ﻫﻤﻪی ﯾﺎلﻫﺎی آن را ﺑﺮﻋ ﺲ ﮐﻨﯿﻢ و‬
‫رأس ﺷﺮوع را رأس ﭘﺎﯾﺎن ﮐﻨﯿﻢ و ﯾ رأس ﺷﺮوع اﺿﺎﻓﻪ ﮐﻨﯿﻢ و ﺑﺎ ‪ ε‬ﺑﻪ ﻫﻤﻪی رﺋﻮس ﭘﺎﯾﺎن ﻗﺒﻠ وﺻﻞ ﮐﻨﯿﻢ‪.‬‬
‫ب( دو ﻧﺴﺨﻪ از ﻣﺎﺷﯿﻦ ﻗﻄﻌ ﻣﺮﺑﻮﻃﻪ را زﯾﺮ ﻫﻢ ﻗﺮار ﻣ دﻫﯿﻢ‪ .‬ﺑﻪ ازای ﻫﺮ ﯾﺎل ‪ a‬ﺑﻪ ‪ b‬در ﻣﺎﺷﯿﻦ ﺑﺎﻻﯾ ‪ ،‬ﯾ ﯾﺎل ‪ε‬‬
‫ﺑﯿﻦ ‪ a‬در ﻣﺎﺷﯿﻦ ﺑﺎﻻﯾ و ﺣﺎﻟﺖ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ‪ b‬در ﻣﺎﺷﯿﻦ ﭘﺎﯾﯿﻨ ﻗﺮار ﻣ دﻫﯿﻢ‪ .‬ﺑﻪ اﯾﻦ ﺷ ﻞ ﯾ ﺣﺮف از رﺷﺘﻪﻫﺎی‬
‫ﻣﺮﺑﻮﻃﻪ ﺣﺬف ﻣ ﺷﻮد‪ .‬ﺣﺎﻻت ﻧﻬﺎﯾ را ﻓﻘﻂ در ﻣﺎﺷﯿﻦ ﭘﺎﯾﯿﻨ ﻗﺮار ﻣ دﻫﯿﻢ‪.‬‬
‫ج( ﻣﺎﺷﯿﻦ ﻗﻄﻌ ﻣﺮﺑﻮﻃﻪ را در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ‪ .‬از ﺣﺎﻟﺖﻫﺎی ﻏﯿﺮﻧﻬﺎﯾ ‪ ،‬ﺑﻪ ﯾ‬
‫در اﯾﻦ ﺣﺎﻟﺖ ﺟﺪﯾﺪ ﻫﻤﻪی ورودیﻫﺎ را ﻣ ﭘﺬﯾﺮﯾﻢ‪.‬‬
‫ﺣﺎﻟﺖ ﺟﺪﯾﺪ ﯾﺎل ‪ ε‬ﻗﺮار ﻣ دﻫﯿﻢ‪.‬‬
‫▷‬
‫ﻣﺴﺌﻠﻪی ‪ .٣‬زﺑﺎنﻫﺎی ﻧﺎﻣﻨﻈﻢ‬
‫ﺛﺎﺑﺖ ﮐﻨﯿﺪ زﺑﺎنﻫﺎی زﯾﺮ ﻧﺎﻣﻨﻈﻢ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪{ R‬‬
‫}‬
‫اﻟﻒ( ∗}‪ww : w ∈ {a, b‬‬
‫‪{ m n ℓ‬‬
‫}‬
‫ب( )‪a b c : ℓ < min(m, n‬‬
‫ﺣﻞ‪.‬‬
‫اﻟﻒ( ﭼﻨﯿﻦ ﻣﺎﺷﯿﻨ ﺑﺎﯾﺪ ﺣﺎﻓﻈﻪای ﺑﺮای ذﺧﯿﺮه ﮐﺮدن ‪ w‬داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ ﺑﺎ ‪ wR‬ﻣﻘﺎﯾﺴﻪ ﮐﻨﺪ ﮐﻪ در زﺑﺎن ﻣﻨﻈﻢ‬
‫ﺣﺎﻓﻈﻪی ﻧﺎﻣﺘﻨﺎﻫ ﻧﺪارﯾﻢ‪ .‬اﺛﺒﺎت دﻗﯿﻖ‪ :‬ﻓﺮض ﮐﻨﯿﺪ ﻣﺎﺷﯿﻦ ﺣﺎﻟﺖﻣﺘﻨﺎﻫ ﺑﺎ ‪ k‬ﺣﺎﻟﺖ ﺑﺮای ﭘﺬﯾﺮش ‪ L‬وﺟﻮد‬
‫دارد‪ .‬رﺷﺘﻪﻫﺎی ﺑﻪ ﺷ ﻞ ‪ an bban‬ﺑﺎ ﺷﺮط ‪ n > k‬را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪ .‬ﻧﺸﺎن دﻫﯿﺪ ﻃﺒﻖ اﺻﻞ ﻻﻧﻪﮐﺒﻮﺗﺮی وﺟﻮد‬
‫دارد ﯾ ‪ t > ٠‬ﻃﻮری ﮐﻪ ﺗﻤﺎم رﺷﺘﻪﻫﺎی ﺑﻪ ﺷ ﻞ ‪) an+it bban‬ﺑﻪ ازای ﻫﺮ ‪ (i ⩾ ٠‬ﻧﯿﺰ ﺗﻮﺳﻂ ﻣﺎﺷﯿﻦ ﭘﺬﯾﺮﻓﺘﻪ‬
‫ﻣ ﺷﻮﻧﺪ‪.‬‬
‫ب( ﺑﺮای اﯾﻦ ﮐﺎر ﺑﻪ ﯾ ﺣﺎﻓﻈﻪ ﻧﯿﺎز دارﯾﻢ ﮐﻪ ﺗﻌﺪاد ‪ a‬و ‪ b‬ﻫﺎ را ﻧ ﻪ دارد و ﭼﻮن اﯾﻦ ﺗﻌﺪاد ﻣﺤﺪود ﻧﯿﺴﺖ‪ ،‬ﻧﻤ ﺗﻮان‬
‫ﺑﺎ ﯾ ﻣﺎﺷﯿﻦ ﺣﺎﻟﺖﻣﺘﻨﺎﻫ اﯾﻦ ﮐﺎر را اﻧﺠﺎم داد‪ .‬اﺛﺒﺎت دﻗﯿﻖ‪ :‬رﺷﺘﻪﻫﺎی ﺑﻪ ﺷ ﻞ ‪ an bn cn−١‬را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‬
‫و از ﻟﻢ ﭘﺎﻣﭙﯿﻨ ﻫﻤﺎﻧﻨﺪ ﻓﻮق اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪.‬‬
‫▷‬
‫ﻣﺴﺌﻠﻪی ‪ .۴‬اﻋﻤﺎل ﻗﺎﺑﻞاﻋﺘﻤﺎد‬
‫ﻣﺠﻤﻮﻋﻪی زﺑﺎنﻫﺎی ﻣﻨﻈﻢ ﻧﺴﺒﺖ ﺑﻪ ﮐﺪامﯾ از اﻋﻤﺎل اﺟﺘﻤﺎع‪ ،‬اﺷﺘﺮاک و اﻟﺤﺎق ﺑﺴﺘﻪ اﺳﺖ؟ اﻟﺤﺎق دو رﺷﺘﻪ ﺑﻪ ﻣﻌﻨ‬
‫ﭘﺸﺖﺳﺮ ﻫﻢ ﻗﺮار دادن آن دو رﺷﺘﻪ اﺳﺖ‪ .‬ادﻋﺎی ﺧﻮد را اﺛﺒﺎت ﮐﻨﯿﺪ‪.‬‬
‫‪٢‬‬
‫ﺣﻞ‪ .‬ﺑﺮای اﺟﺘﻤﺎع ﮐﺎﻓ اﺳﺖ ﮐﻪ از ﺣﺎﻟﺖ ﺷﺮوع ﺑﺎ ‪ ε‬ﺑﻪ دو ﺣﺎﻟﺖ اﺑﺘﺪاﯾ ﻫﺮ ﮐﺪام از ‪DF A‬ﻫﺎی دو زﺑﺎن ﻣﻨﻈﻢ‬
‫ﺑﺮوﯾﻢ‪ .‬ﺑﺮای اﺷﺘﺮاک ﺑﻪ ازای ﻫﺮ ﮐﺪام از ﺣﺎﻟﺖ ﻫﺎی ‪ DF A‬زﺑﺎن اول و ﻫﺮﮐﺪام از ‪ DF A‬زﺑﺎن دوم‪ ،‬ﯾ ﺣﺎﻟﺖ در‬
‫‪ DF A‬زﺑﺎن ﺟﺪﯾﺪ ﻗﺮار ﻣ دﻫﯿﻢ ﮐﻪ ﺑﯿﺎﻧ ﺮ آن دو ﺣﺎﻟﺖ ﻣ ﺑﺎﺷﺪ‪ .‬ﺣﺎل ﯾ ﯾﺎل ﺑﯿﻦ دو ﺣﺎﻟﺖ ﻗﺮار ﻣ دﻫﯿﻢ اﮔﺮ ﻫﺮ‬
‫دو زﺑﺎن ﭼﻨﯿﻦ ﯾﺎﻟ ﺑﯿﻦ ﺣﺎﻟﺖﻫﺎی ﻣﺘﻨﺎﻇﺮ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺑﺮای اﻟﺤﺎق ﻧﯿﺰ ﮐﺎﻓ اﺳﺖ ﮐﻪ از ﻫﺮ ﮐﺪام از ﺣﺎﻟﺖﻫﺎی‬
‫▷‬
‫ﻧﻬﺎﯾ زﺑﺎن اول ﺑﻪ ﺣﺎﻟﺖ ﺷﺮوع زﺑﺎن دوم ﺑﺮوﯾﻢ‪.‬‬
‫ﻣﺴﺌﻠﻪی ‪ .۵‬ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ‬
‫ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ‬
‫{‬
‫}‬
‫ﻃﺮاﺣ ﮐﻨﯿﺪ ﮐﻪ زﺑﺎن ∗}‪ L = w#wR : w ∈ {a, b‬را ﺗﺼﻤﯿﻢﮔﯿﺮی ﮐﻨﺪ‪.‬‬
‫ﺣﻞ‪ .‬ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ ﻣﺎﺷﯿﻦ ﺑﻪ ﺗﺮﺗﯿﺐ دو ﻃﺮف ‪ #‬ﺣﺮﮐﺖ ﮐﻨﺪ و اﮔﺮ دو ﺗﺎ ﺣﺮف ﯾ ﺑﻮد ﻫﺮ دو را ﺑﻪ ‪ x‬ﺗﺒﺪﯾﻞ ﮐﻨﺪ و‬
‫ﻫﻤﯿﻦ ﻃﻮر اداﻣﻪ دﻫﺪ‪ .‬اﮔﺮ رﺷﺘﻪ ﺗﻤﺎم ﺷﺪ و ﻫﻤﻪی ﮐﺎراﮐﺘﺮﻫﺎ ﺑﻪ ‪ x‬ﺗﺒﺪﯾﻞ ﺷﺪ رﺷﺘﻪ را ﺑﭙﺬﯾﺮد‪ ،‬در ﻏﯿﺮ اﯾﻦ ﺻﻮرت رد‬
‫▷‬
‫ﮐﻨﺪ‪.‬‬
‫‪٣‬‬