ﯾﺎﻟﻄﯿﻒ ﻫﻮش ﻣﺼﻨﻮﻋ ﻧﯿﻢﺳﺎل دوم ٩٢٩١ داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺪرس :دﮐﺘﺮ ﺳﻠﯿﻤﺎﻧ ﺗﻤﺮﯾﻦ ﺷﻤﺎرهی ﭘﻨﺠﻢ ﻣﻬﻠﺖ ارﺳﺎل ٢٠ :ﺧﺮداد ﺗﻮﺿﯿﺢ ﺗﻤﺮﯾﻦ • ﺑﻪ ازای ﻫﺮ روز ﺗﺎﺧﯿﺮ در ﺗﺤﻮﯾﻞ ﺗﻤﺮﯾﻦ )ﺣﺪاﮐﺜﺮ ٣روز( ١٠٪از ﻧﻤﺮهی آن ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. • ﺟﻮاب ﺗﻤﺮﯾﻦﻫﺎی ﺗﺸﺮﯾﺤ را در ﯾ ﻓﺎﯾﻞ ،PDFاز ﻃﺮﯾﻖ اﯾﻤﯿﻞ ﺑﺎ ﻣﻮﺿﻮع ] HW5-[STUDENT-IDﺑﻪ sharif.ai.91.2+HW5@gmail.comارﺳﺎل ﮐﻨﯿﺪ. • در ﺻﻮرت ﻣﺸﺎﻫﺪهی ﺗﻘﻠﺐ ﺑﺮای ﻫﺮ دو ﻃﺮف ﻧﻤﺮهی ﺻﻔﺮ ﻣﻨﻈﻮر ﻣ ﺷﻮد. • در ﺻﻮرﺗ ﮐﻪ در راﺑﻄﻪ ﺑﺎ ﺗﻤﺮﯾﻦ ﺳﻮاﻟ دارﯾﺪ آن را در ﮔﺮوه درس ﺑﻪ آدرس زﯾﺮ ﻣﻄﺮح ﮐﻨﯿﺪ: https://groups.google.com/forum/#!forum/sharif_ai_91-92_2 ١ ﺑﻪ ﻣﺴﺎﻟﻪی ﺑﺮﻧﺎﻣﻪرﯾﺰی PDDL ﻣﺪلﮐﺮدن ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ از درس ﻧﻈﺮﯾﻪی زﺑﺎنﻫﺎ ﺑﺎ ﺗﻌﺮف ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ ،آﺷﻨﺎ ﻫﺴﺘﯿﻢ .در اﯾﻨﺠﺎ ﺟﻬﺖ ﯾﺎدآوری ﺗﻌﺮﯾﻒ آن را آوردهاﯾﻢ: اﯾﻦ ﻣﺎﺷﯿﻦ ﺷﺎﻣﻞ ﯾ headو ﯾ ﻧﻮار ﯾ ﺑﻌﺪی ﺷﺎﻣﻞ ﺑ ﻧﻬﺎﯾﺖ ﺧﺎﻧﻪ )ﺑﺎ ﺷﻤﺎرهﻫﺎی از ﻣﻨﻔ ﺑﯿﻨﻬﺎﯾﺖ ﺗﺎ ﻣﺜﺒﺖ ﺑﯿﻨﻬﺎﯾﺖ( اﺳﺖ ﮐﻪ ﻫﺮ ﺧﺎﻧﻪی آن ﻣ ﺗﻮاﻧﺪ ﺧﺎﻟ ﺑﺎﺷﺪ ﯾﺎ ﯾ از ﺣﺮوف اﻟﻔﺒﺎی kﺣﺮﻓ را داﺷﺘﻪ ﺑﺎﺷﺪ .ﻫﻤﭽﻨﯿﻦ ﻫﺮ ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ ﺗﻌﺪاد ﻣﺘﻨﺎﻫ ) (nوﺿﻌﯿﺖ ١دارد ﮐﻪ در ﻫﺮ ﻟﺤﻈﻪ دﻗﯿﻘﺎ در ﯾ از اﯾﻦ وﺿﻌﯿﺖﻫﺎ ﻗﺮار دارد .اﯾﻦ ﻣﺎﺷﯿﻦ در ﻫﺮ ﻣﺮﺣﻠﻪ، ﺑﺮاﺳﺎس ﺣﺮﻓ ﮐﻪ زﯾﺮ headﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ و وﺿﻌﯿﺘ ﮐﻪ در آن ﻗﺮار دارد ،ﻣ ﺗﻮاﻧﺪ ﮐﺎرﻫﺎی زﯾﺮ را اﻧﺠﺎم ﻣ دﻫﺪ: • ﻣ ﺗﻮاﻧﺪ ﻣﻘﺪار ﺧﺎﻧﻪای ﮐﻪ headروی آن ﻗﺮار دارد را ﺗﻐﯿﯿﺮ دﻫﺪ. • ﻣ ﺗﻮاﻧﺪ headرا ﺑﻪ ﯾ از ﺧﺎﻧﻪﻫﺎی راﺳﺘ ﯾﺎ ﭼﭙ اش ﻣﻨﺘﻘﻞ ﮐﻨﺪ. • ﻣ ﺗﻮاﻧﺪ وﺿﻌﯿﺖ ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ را ﺑﻪ ﯾ ﻫﻤﭽﻨﯿﻦ در وﺿﻌﯿﺖ اوﻟﯿﻪی ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ از nوﺿﻌﯿﺖ ﻣﻮﺟﻮد ﺗﻐﯿﯿﺮ دﻫﺪ. ﺷﺮاﯾﻂ زﯾﺮ ﺑﺮﻗﺮار ﻫﺴﺘﻨﺪ: • ﻣﺎﺷﯿﻦ در وﺿﻌﯿﺖ ﺷﺮوع S١ﻗﺮار دارد. • headﻣﺎﺷﯿﻦ روی ﺧﺎﻧﻪی ﺷﻤﺎرهی ﺻﻔﺮ ﻗﺮار دارد. • ورودی ﻣﺎﺷﯿﻦ ﮐﻪ ﯾ رﺷﺘﻪ ﺑﻪ ﻃﻮل mاﺳﺖ در ﺧﺎﻧﻪﻫﺎی ٠ﺗﺎ m-١ﻗﺮار داد و ﺑﻘﯿﻪی ﺧﺎﻧﻪﻫﺎی ﻧﻮار ﺧﺎﻟ ﻫﺴﺘﻨﺪ. وﺿﻌﯿﺖ Snوﺿﻌﯿﺖ ﭘﺬﯾﺮش ٢اﺳﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﻫﺮوﻗﺖ ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ در اﯾﻦ وﺿﻌﯿﺖ ﻗﺮار ﮔﯿﺮد ،ﺑﻪ ﮐﺎر ﺧﻮد ﺧﺎﺗﻤﻪ ﻣ دﻫﺪ و اﺻﻄﻼﺣﺎ رﺷﺘﻪی ورودی را ﭘﺬﯾﺮﻓﺘﻪ اﺳﺖ .در ﻧﺘﯿﺠﻪ ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ ﺑﺎ ﺷﺮوع از وﺿﻌﯿﺖ اوﻟﯿﻪ ،ﯾﺎ رﺷﺘﻪی ورودی را ﻣ ﭘﺬﯾﺮد ،ﯾﺎ ﻫﯿﭻ وﻗﺖ ﮐﺎرش ﺧﺎﺗﻤﻪ ﭘﯿﺪا ﻧﻤ ﮐﻨﺪ. ﻣﺴﺌﻠﻪی ﻣﻘﺒﻮﻟﯿﺖ ﻣﺎﺷﯿﻦ ﺗﻮرﯾﻨ ﺳﺎده ٣را ﺑﻪ ﺻﻮرت ﯾ ﻣﺴﺌﻠﻪی ﺑﺮﻧﺎﻣﻪرﯾﺰی ﺑﯿﺎن ﮐﻨﯿﺪ ١۵) .ﻧﻤﺮه( ﻧﺘﯿﺠﻪ ﺑ ﯿﺮﯾﺪ ،ﮐﻪ ﺑﻪ دﺳﺖ آوردن اﯾﻨ ﻪ ﯾ ﻣﺴﺌﻠﻪی ﺑﺮﻧﺎﻣﻪرﯾﺰی ﻗﺎﺑﻞ ﺣﻞ اﺳﺖ PSPACE-hard ،اﺳﺖ )در ﻣﻮرد PSPACE- hardﺗﺤﻘﯿﻖ ﮐﻨﯿﺪ و درﺣﺪ ﯾ دو ﭘﺎراﮔﺮاف ﺗﻮﺿﯿﺢ دﻫﯿﺪ( ١٠) .ﻧﻤﺮه ﻧﻤﺮه( State١ Accept٢ Turing Machine Acceptanc٣ ١ ٢ ﮔﺮاف ﺑﺮﻧﺎﻣﻪرﯾﺰی ﺑﺎ ﻟﯿﺘﺮالﻫﺎی دارای ﻣﺘﻐﯿﺮ ﮔﺮافﻫﺎی ﺑﺮﻧﺎﻣﻪرﯾﺰی ﺗﻨﻬﺎ ﻗﺎدر ﺑﻪ ﮐﺎر ﺑﺎ اﻋﻤﺎل ﮔﺰارهای ﻣ ﺑﺎﺷﻨﺪ )در اﯾﻨﺠﺎ ﻣﻨﻈﻮر از ﮔﺰاره ﻋﺒﺎرﺗ اﺳﺖ ﮐﻪ ﯾﺎ ﻫﻤﻮاره ﺻﺤﯿﺢ اﺳﺖ ﯾﺎ ﻫﻤﻮاره ﻏﻠﻂ( .ﭼﻪ ﺗﺮﺗﯿﺒ ﺑﺎﯾﺪ اﻧﺪﯾﺸﯿﺪ در ﺻﻮرﺗ ﮐﻪ ﺑﺨﻮاﻫﯿﻢ از ﮔﺮافﻫﺎی ﺑﺮﻧﺎﻣﻪرﯾﺰی ﺑﺮای ﺣﻞ ﯾ ﻣﺴﺎﻟﻪ اﺳﺘﻔﺎده ﮐﻨﯿﻢ ﮐﻪ در ﻫﺪف آن ﻣﺘﻐﯿﺮ وﺟﻮد دارد؟ ﻣﺜﻼ ﻋﺒﺎرت ) At(P١ , x)&At(P٢ , xﮐﻪ در آن داﻣﻨﻪی ﺗﻐﯿﯿﺮات xﯾ ﻣﺤﺪودهی ﻣﺸﺨﺺ ﻣ ﺎﻧ را در ﺑﺮﻣ ﮔﯿﺮد. ﺳﻌ ﮐﻨﯿﺪ روشﺗﺎن ﺗﺎ ﺣﺪ اﻣ ﺎن ﺑﻬﯿﻨﻪ ﺑﺎﺷﺪ .ﭘﯿﭽﯿﺪﮔ زﻣﺎﻧ روش ﺧﻮد را ﻧﺴﺒﺖ ﺑﻪ ﺣﺎﻟﺖ ﺑﺪون ﻣﺘﻐﯿﺮ ﻣﻘﺎﯾﺴﻪ ﮐﻨﯿﺪ. ﻣ ﺗﻮاﻧﯿﺪ ﻣﻘﺎﯾﺴﻪ را ﺑﺮﺣﺴﺐ اﻧﺪازهی ﻣﺤﺪودهی داﻣﻨﻪی xاﻧﺠﺎم ﺑﯿﺎن ﮐﻨﯿﺪ ٢۵) .ﻧﻤﺮه( ٣ ﺑﺮﻧﺎﻣﻪرﯾﺰی ﺑﻪ روش POP در ﺷ ﻞ زﯾﺮ ﻣ ﺧﻮاﻫﯿﻢ ٣ﻣ ﻌﺐ Aو Bو Cرا ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ از ﭘﺎﯾﯿﻦ ﺑﻪ ﺑﺎﻻ ﭼﯿﺪه ﺷﺪهاﻧﺪ )وﺿﻌﯿﺖ اوﻟﯿﻪ( ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺮﻋ ﺲ روی ﻣﯿﺰ ﻗﺮار دﻫﯿﻢ )وﺿﻌﯿﺖ ﻫﺪف( .ﺑﺮای اﯾﻦ ﮐﺎر ﻣ ﺗﻮاﻧﯿﻢ از ﯾ از دو ﻋﻤﻞ Move, MoveTاﺳﺘﻔﺎده ﮐﻨﯿﻢ. ﭘﯿﺶﺷﺮﻃﻬﺎی ﻫﺮﮐﺪام از اﯾﻦ اﻋﻤﺎل و ﻧﺘﺎﯾﺞﺷﺎن در ﺷ ﻞ آﻣﺪه اﺳﺖ .ﭘﺎﺳﺦ اﯾﻦ ﻣﺴﺎﻟﻪ را ﺑﻪ روش POPﺑﺪﺳﺖ آورﯾﺪ و ﺟﻮاب ﺧﻮد را رﺳﻢ ﮐﻨﯿﺪ )ﺑﻪ روشﻫﺎی دﯾ ﺮ ﻧﻤﺮهای ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ( ٢۵) .ﻧﻤﺮه( ﺑﻪ ﭼﻨﺪ ﻃﺮﯾﻖ ﻣ ﺗﻮان ﭘﺎﺳﺨ ﮐﻪ ﺑﺪﺳﺖ آوردهاﯾﺪ را ﺧﻄ ﮐﺮد؟ ﯾﻌﻨ ﺑﺎ ﺣﺬف ﻣﺤﺪودﯾﺖﻫﺎی ﺗﺮﺗﯿﺒ ﻣﻮﺟﻮد ،ﭼﻨﺪ ﺗﺮﺗﯿﺐ از اﻧﺠﺎم اﻋﻤﺎل وﺟﻮد دارد؟ ) ١٠ﻧﻤﺮه( ۴ ﺟﺴﺘﺠﻮی دوﻃﺮﻓﻪ در ﻣﺴﺎﺋﻞ ﺑﺮﻧﺎﻣﻪرﯾﺰی • اﻟﻒ( در راﺑﻄﻪ ﺑﺎ روش ﺟﺴﺘﺠﻮی دوﻃﺮﻓﻪ ﺗﺤﻘﯿﻖ ﮐﻨﯿﺪ) .ﺻﻔﺮ ﻧﻤﺮه( • ب( آﯾﺎ ﺟﺴﺘﺠﻮی دوﻃﺮﻓﻪ ﻓﻀﺎی ﺣﺎﻟﺖ ﺑﺮای ﻣﺴﺎﺋﻞ ﺑﺮﻧﺎﻣﻪرﯾﺰی ﻣﻨﺎﺳﺐ اﺳﺖ؟ ) ١۵ﻧﻤﺮه( • ج( ﺟﺘﺴﺠﻮی دو ﻃﺮﻓﻪ در ﻓﻀﺎی POPﭼﻄﻮر؟ ) ١۵ﻧﻤﺮه( ٢ ۵ ﺳﻮاﻻت ﺗﺤﻠﯿﻠ ﺑﻪ ﺳﻮاﻻت زﯾﺮ ،در ﺣﺪ ﯾ دو ﭘﺎراﮔﺮاف ﺗﻮﺿﯿﺢ دﻫﯿﺪ و ﻧﻪ ﺑﯿﺸﺘﺮ! ) ٣٠ﻧﻤﺮه( • آﯾﺎ ﺟﺴﺘﺠﻮی ﻋﻘﺒ ۴در ﻣﺴﺎﺋﻞ ﺑﺮﻧﺎﻣﻪرﯾﺰی ﮐﺎﻣﻞ اﺳﺖ؟ ﺟﺴﺘﺠﻮی روﺑﻪﺟﻠﻮ ﭼﻄﻮر؟ • آﯾﺎ در ﻧﻈﺮ ﻧ ﺮﻓﺘﻦ Delete Listدر ﻣﺴﺎﺋﻞ ﺑﺮﻧﺎﻣﻪرﯾﺰی ﻣﺎ را ﺑﻪ ﯾ ﭼﻨﺪﺟﻤﻠﻪای ﻗﺎﺑﻞ ﺣﻞ اﺳﺖ؟ • ﭼﺮا در ﮔﺮاف ﺑﺮﻧﺎﻣﻪرﯾﺰی ،ﺣﺘﻤﺎ ﺑﻪ ﯾ Relaxed Problemﻣ رﺳﺎﻧﺪ ﮐﻪ در زﻣﺎن Level Offﻣ رﺳﯿﻢ؟ • در ﻣﺴﺎﻟﻪﻫﺎی ﺑﺮﻧﺎﻣﻪرﯾﺰی ،وﻗﺘ ﭼﻨﺪﯾﻦ ﻫﺪف دارﯾﻢ ﺑﻪ ﻋﻨﻮان ﯾ اﻟﻒ( ﻣﺠﻤﻮع ﻫﺰﯾﻨﻪﻫﺎی ﻫﺮ ﯾ از ﻫﺪفﻫﺎ ب( ﻫﺰﯾﻨﻪی ﺑﯿﺸﯿﻨﻪ ﺑﯿﻦ ﻫﺪفﻫﺎی ﻣﻮﺟﻮد ﻣﻮﻓﻖ ﺑﺎﺷﯿﺪ. Backward Search۴ ٣ ﺗﺎﺑﻊ ﻣ ﺎﺷﻔﻪای ﮐﺪام ﯾ را ﭘﯿﺸﻨﻬﺎد ﻣ ﮐﻨﯿﺪ؟
© Copyright 2025 Paperzz