A2.pdf

‫ﻫﻨﺪﺳﻪی ﻣﺤﺎﺳﺒﺎﺗ‬
‫ﻧﯿﻢﺳﺎل اول ‪٩۴-٩٣‬‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﻣﺪرس‪ :‬ﺣﻤﯿﺪ ﺿﺮاﺑ زاده‬
‫ﺗﻤﺮﯾﻦ ﺳﺮی دوم‬
‫زﻣﺎن ﺗﺤﻮﯾﻞ‪ ٢٧ :‬آﺑﺎنﻣﺎه‬
‫ﻣﺴﺌﻠﻪی ‪ .١‬ﺗﻘﺎﻃﻊ داﯾﺮهﻫﺎ ]‪ ٢٠‬ﻧﻤﺮه[‬
‫ﻣﺠﻤﻮﻋﻪی ‪ S‬ﺷﺎﻣﻞ ‪ n‬داﯾﺮه در ﺻﻔﺤﻪ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪.‬‬
‫اﻟﻒ( ﻧﺸﺎن دﻫﯿﺪ ﭼﯿﻨﺶ اﯾﻦ داﯾﺮهﻫﺎ در ﺻﻔﺤﻪ ﺷﺎﻣﻞ ﺣﺪاﮐﺜﺮ ) ‪ O(n٢‬ﻧﻘﻄﻪی ﺑﺮﺧﻮرد اﺳﺖ‪.‬‬
‫ب( ﯾ اﻟ ﻮرﯾﺘﻢ ﺑﺎ ﻣﺮﺗﺒﻪی زﻣﺎﻧ )‪ O((n + k) log n‬ﺑﺮای ﻣﺤﺎﺳﺒﻪی ﻧﻘﺎط ﺑﺮﺧﻮرد اﯾﻦ داﯾﺮهﻫﺎ اراﺋﻪ دﻫﯿﺪ ﮐﻪ‬
‫در آن ‪ k‬ﺗﻌﺪاد ﻧﻘﺎط ﺑﺮﺧﻮرد اﺳﺖ‪.‬‬
‫ﻣﺴﺌﻠﻪی ‪ .٢‬ﮐﻮﭼ‬
‫ﺗﺮﯾﻦ ﺣﻠﻘﻪی ﭘﻮﺷﺎ ]‪ ٢٠‬ﻧﻤﺮه[‬
‫ﻣﺠﻤﻮﻋﻪی ‪ P‬از ‪ n‬ﻧﻘﻄﻪ در ﺻﻔﺤﻪ داده ﺷﺪه اﺳﺖ‪ .‬در ﻣﺴﺌﻠﻪی »ﮐﻮﭼ ﺗﺮﯾﻦ ﺣﻠﻘﻪی ﭘﻮﺷﺎ« ﻫﺪف ﯾﺎﻓﺘﻦ دو داﯾﺮهی‬
‫ﻫﻢﻣﺮﮐﺰ ﺑﺎ ﮐﻢﺗﺮﯾﻦ اﺧﺘﻼف ﺷﻌﺎع اﺳﺖ‪ ،‬ﻃﻮری ﮐﻪ ﺗﻤﺎم ﻧﻘﺎط ‪ P‬ﺑﯿﻦ اﯾﻦ دو داﯾﺮه ﻗﺮار ﮔﯿﺮﻧﺪ‪.‬‬
‫اﻟﻒ( ﺛﺎﺑﺖ ﮐﻨﯿﺪ در ﮐﻮﭼ ﺗﺮﯾﻦ ﺣﻠﻘﻪی ﭘﻮﺷﺎ‪ ،‬داﯾﺮهﻫﺎی دروﻧ و ﺑﯿﺮوﻧ ﺗﻨﻬﺎ ﻣ ﺗﻮاﻧﻨﺪ ﺑﻪ ﯾ‬
‫ﺑﺎﺷﻨﺪ‪) :‬ﺑﻪ ﺣﺪاﻗﻞ ﺗﻌﺪاد ﻧﻘﺎط ﻣﺤﺪودﮐﻨﻨﺪهی دواﯾﺮ دﻗﺖ ﮐﻨﯿﺪ‪(.‬‬
‫از ﺳﻪ ﺣﺎﻟﺖ زﯾﺮ‬
‫ب( ﺑﺎ اﺳﺘﻔﺎده از ﻗﺴﻤﺖ )اﻟﻒ( و ﻧﯿﺰ ﺑﺎ اﺳﺘﻔﺎده از ﻧﻤﻮدارﻫﺎی وروﻧﻮی ﻧﺰدﯾ ﺗﺮﯾﻦ و دورﺗﺮﯾﻦ ﻧﻘﺎط‪ ،‬ﯾ‬
‫ﺑﺎ زﻣﺎن اﺟﺮای ) ‪ O(n٢‬ﺑﺮای ﯾﺎﻓﺘﻦ ﮐﻮﭼ ﺗﺮﯾﻦ ﺣﻠﻘﻪی ﭘﻮﺷﺎی ‪ P‬اراﺋﻪ دﻫﯿﺪ‪.‬‬
‫اﻟ ﻮرﯾﺘﻢ‬
‫ﻣﺴﺌﻠﻪی ‪ .٣‬ﺧﻂ ﺑﺮش ]‪ ٢٠‬ﻧﻤﺮه[‬
‫ﻣﺠﻤﻮﻋﻪای از ‪ n‬ﻧﻘﻄﻪی ﻗﺮﻣﺰ و ‪ m‬ﻧﻘﻄﻪی آﺑ در ﺻﻔﺤﻪ داده ﺷﺪه اﺳﺖ‪ .‬ﻣ ﺧﻮاﻫﯿﻢ ﺧﻄ ﭘﯿﺪا ﮐﻨﯿﻢ ﮐﻪ ﻧﻘﺎط ﻗﺮﻣﺰ‬
‫⌉ ⌈‬
‫و آﺑ را ﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن ﺑﻪ دو ﻗﺴﻤﺖ ﻣﺴﺎوی ﺗﻘﺴﯿﻢ ﻣ ﮐﻨﺪ‪ ،‬ﯾﻌﻨ در ﻫﺮ ﻃﺮف از اﯾﻦ ﺧﻂ ﺣﺪاﮐﺜﺮ ‪ n٢‬ﻧﻘﻄﻪی‬
‫⌉ ⌈‬
‫‪ m‬ﻧﻘﻄﻪی آﺑ ﻗﺮار ﻣ ﮔﯿﺮد‪.‬‬
‫ﻗﺮﻣﺰ و ‪٢‬‬
‫اﻟﻒ( ﺛﺎﺑﺖ ﮐﻨﯿﺪ ﺑﻪ ازای ﻫﺮ ﻣﺠﻤﻮﻋﻪی دلﺧﻮاه از ﻧﻘﺎط ﻗﺮﻣﺰ و آﺑ ﭼﻨﯿﻦ ﺧﻂ ﺑﺮﺷ وﺟﻮد دارد‪.‬‬
‫]راﻫﻨﻤﺎﯾ ‪ :‬دوﮔﺎن ﻧﻘﺎط را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪[.‬‬
‫ب( اﻟ ﻮرﯾﺘﻢ ﮐﺎراﯾ ﺑﺎ ﻣﺮﺗﺒﻪی زﻣﺎﻧ ) ‪ O(n٢‬ﯾﺎ ﺑﻬﺘﺮ ﺑﺮای ﭘﯿﺪا ﮐﺮدن ﺧﻂ ﺑﺮش ﻣﺠﻤﻮﻋﻪای ﻣﺘﺸ ﻞ از ‪ n‬ﻧﻘﻄﻪی‬
‫ﻗﺮﻣﺰ و آﺑ اراﺋﻪ دﻫﯿﺪ‪.‬‬
‫‪١‬‬
‫ﻣﺴﺌﻠﻪی ‪ .۴‬ﺧﻂ ﺳﺎﺣﻠ‬
‫]‪ ٢٠‬ﻧﻤﺮه[‬
‫ﻫﻤﺎنﻃﻮر ﮐﻪ در ﮐﻼس دﯾﺪﯾﻢ‪ ،‬در اﻟ ﻮرﯾﺘﻢ ﻓﻮرﭼﯿﻮن ﺑﺮای ﺳﺎﺧﺖ ﻧﻤﻮدار وروﻧﻮی‪ ،‬وﺿﻌﯿﺖ ﺧﻂ ﺟﺎروب در ﻫﺮ‬
‫ﻟﺤﻈﻪ ﺷﺎﻣﻞ ﯾ ﺧﻂ ﺳﺎﺣﻠ ‪ ١‬ﻣﺘﺸ ﻞ از ﺗﻌﺪادی ﮐﻤﺎن اﺳﺖ‪ .‬ﻣ ﺧﻮاﻫﯿﻢ ﻧﺸﺎن دﻫﯿﻢ ﮐﻪ ﺗﻌﺪاد ﮐﻤﺎنﻫﺎ در اﯾﻦ‬
‫ﺧﻂ ﺳﺎﺣﻠ ﺣﺪاﮐﺜﺮ ‪ ٢n − ١‬اﺳﺖ‪ .‬ﻓﺮض ﮐﻨﯿﺪ در ﯾ ﻣﻘﻄﻊ از اﺟﺮای اﻟ ﻮرﯾﺘﻢ‪ ،‬ﮐﻤﺎنﻫﺎی ﻇﺎﻫﺮﺷﺪه روی ﺧﻂ‬
‫ﺳﺎﺣﻠ از ﭼﭗ ﺑﻪ راﺳﺖ ﻣﺘﻨﺎﻇﺮ ﺑﺎ دﻧﺒﺎﻟﻪی ‪ σ‬از ﻧﻘﺎط ورودی ﺑﺎﺷﺪ‪) .‬ﻫﺮ ﮐﻤﺎن ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ ﻧﻘﻄﻪی ورودی اﺳﺖ‪(.‬‬
‫اﻟﻒ( ﻧﺸﺎن دﻫﯿﺪ ﺑﻪ ازای ﻫﺮ ‪ i‬و ‪ ،j‬زﯾﺮدﻧﺒﺎﻟﻪی زﯾﺮ ﻧﻤ ﺗﻮاﻧﺪ در ‪ σ‬ﻇﺎﻫﺮ ﺷﻮد‪:‬‬
‫‪. . . pi . . . pj . . . pi . . . pj . . .‬‬
‫ب( ﻧﺸﺎن دﻫﯿﺪ ﻫﺮ دﻧﺒﺎﻟﻪ از ‪ n‬ﻋﻨﺼﺮ ﻣﺘﻤﺎﯾﺰ ﮐﻪ ﺷﺎﻣﻞ زﯾﺮدﻧﺒﺎﻟﻪی ‪ . . . pi pi . . .‬و ﻧﯿﺰ زﯾﺮدﻧﺒﺎﻟﻪی ﻗﺴﻤﺖ )اﻟﻒ(‬
‫ﻧﯿﺴﺖ‪ ،‬ﻧﻤ ﺗﻮاﻧﺪ ﻃﻮﻟ ﺑﯿﺶ از ‪ ٢n − ١‬داﺷﺘﻪ ﺑﺎﺷﺪ‪] .‬راﻫﻨﻤﺎﯾ ‪ :‬از اﺳﺘﻘﺮا روی ‪ n‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪[.‬‬
‫ﻣﺴﺌﻠﻪی ‪ .۵‬ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ]‪ ٢٠‬ﻧﻤﺮه[‬
‫ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ‪ ٢‬ﻣﺠﻤﻮﻋﻪی ﻧﻘﺎط ‪ P‬در ﺻﻔﺤﻪ ﺑﻪ ﺷ ﻞ زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد‪ :‬دو ﻧﻘﻄﻪی ‪ p‬و ‪ q‬در ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ﺑﺎ‬
‫ﯾﺎﻟ ﺑﻪ ﻫﻢ ﻣﺘﺼﻞاﻧﺪ اﮔﺮ و ﻓﻘﻂ اﮔﺮ داﯾﺮهی ﺑﻪ ﻗﻄﺮ ‪ pq‬ﺷﺎﻣﻞ ﻫﯿﭻ ﻧﻘﻄﻪ دﯾ ﺮی از ‪ P‬ﻧﺒﺎﺷﺪ‪.‬‬
‫اﻟﻒ( ﻧﺸﺎن دﻫﯿﺪ ﮐﻪ ﻣﺜﻠﺚ ﺑﻨﺪی دﻻﻧ ‪ P‬ﺷﺎﻣﻞ ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ‪ P‬اﺳﺖ‪.‬‬
‫ب( ﻧﺸﺎن دﻫﯿﺪ دو ﻧﻘﻄﻪی ‪ p‬و ‪ q‬در ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ﻣﺠﺎورﻧﺪ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﯾﺎل دﻻﻧ ﺑﯿﻦ ‪ p‬و ‪ ،q‬ﯾﺎل وروﻧﻮی‬
‫دوﮔﺎن ﺧﻮد را ﻗﻄﻊ ﮐﻨﺪ‪.‬‬
‫ج( ﯾ اﻟ ﻮرﯾﺘﻢ ﺑﺎ ﻣﺮﺗﺒﻪی زﻣﺎﻧ )‪ O(n log n‬ﺑﺮای ﺑﻪ دﺳﺖ آوردن ﮔﺮاف ﮔﺎﺑﺮﯾﻞ ﯾ‬
‫ﺻﻔﺤﻪ اراﺋﻪ دﻫﯿﺪ‪.‬‬
‫‪beach line١‬‬
‫‪Gabriel graph٢‬‬
‫‪٢‬‬
‫ﻣﺠﻤﻮﻋﻪ از ‪ n‬ﻧﻘﻄﻪ در‬