0% found this document useful (0 votes)
28 views11 pages

HW02

Uploaded by

mohammadbolbol2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views11 pages

HW02

Uploaded by

mohammadbolbol2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

‫ﺩﺍﻧﺸﮕﺎﻩ ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬

‫ﺩﺍﻧﺸﻜﺪﻩﻱ ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫ﺩﺭﺱ ﺩﺭﺳﺘﻲﻳﺎﺑﻲ ﺳﻴﺴﺘﻢﻫﺎﻱ ﻭﺍﻛﻨﺸﻲ‬

‫ﺗﻤﺮﻳﻦ ﺷﻤﺎﺭﻩﻱ ‪۲‬‬


‫ﻣﺪﻝﺳﺎﺯﻱ ﺳﻴﺴﺘﻢﻫﺎﻱ ﻫﻢﺭﻭﻧﺪ ﻭ ﺧﻮﺍﺹ ﺧﻄﻲ ﺯﻣﺎﻧﻲ‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ‪ :‬ﺳﻪﺷﻨﺒﻪ ‪۱۴۰۱/۰۱/۳۰‬‬

‫ﺍﺳﺘﺎﺩ‪ :‬ﺩﻛﺘﺮ ﻋﻠﻲ ﻣﻮﻗﺮ‬


‫ﺗﻴﻢ ﺩﺳﺘﻴﺎﺭﺍﻥ ﺩﺭﺱ ‪ -‬ﻧﻴﻢﺳﺎﻝ ﺩﻭﻡ ‪۰۰ - ۰۱‬‬

‫‪ ۱۷‬ﻓﺮﻭﺭﺩﻳﻦ ‪۱۴۰۱‬‬
‫ﻣﺴﺌﻠﻪﻱ ﺍﻭﻝ‬
‫ﻧﺴﺨﻪﻱ ﺗﻮﺳﻌﻪﻳﺎﻓﺘﻪﺍﻱ ﺍﺯ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﭘﺘﺮﺳﻮﻥ ‪ ۱‬ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ﺑﺮﺍﻱ ﺗﻌﺪﺍﺩ ﭘﺮﺩﺍﺯﻩ ‪۲‬ﻫﺎﻱ ‪ n ≥ 2‬ﻋﻤﻞ ﻣﻲﻛﻨﺪ‪ .‬ﻣﻔﻬﻮﻡ ﻛﻠﻲ ﺍﻟﮕﻮﺭﻳﺘﻢ‬

‫ﺑﺪﻳﻦ ﺻﻮﺭﺕ ﺍﺳﺖ ﻛﻪ ﻫﺮ ﭘﺮﺩﺍﺯﻩ ﻗﺒﻞ ﺍﺯ ﻛﺴﺐ ﻛﺮﺩﻥ ﺣﻖ ﻭﺭﻭﺩ ﺑﻪ ﻧﺎﺣﻴﻪﻱ ﺑﺤﺮﺍﻧﻲ ‪ ،۳‬ﺑﺎﻳﺪ ﺍﺯ ‪ n‬ﻣﺮﺣﻠﻪ ﻋﺒﻮﺭ ﻛﻨﺪ‪ .‬ﭘﺮﺩﺍﺯﻩﻫﺎﻱ ﻫﻤﺮﻭﻧﺪ ‪ ،۴‬ﺁﺭﺍﻳﻪﻫﺎﻱ ﻣﺤﺪﻭﺩ‬

‫ﺷﺪﻩ ﺍﺯ ﺟﻨﺲ ﺍﻋﺪﺍﺩ ﻃﺒﻴﻌﻲ ‪ ۵‬ﺭﺍ ﻣﻴﺎﻥ ﺧﻮﺩ ﺑﻪ ﺍﺷﺘﺮﺍﻙ ﻣﻲﮔﺬﺍﺭﻧﺪ‪ .‬ﺍﻳﻦ ﺁﺭﺍﻳﻪﻫﺎ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ ‪ y[0..n − 1] :‬ﺑﻪﻃﻮﺭﻳﻜﻪ }‪ y[i] ∈ {1, ..., n‬ﻭ ]‪p[1..n‬‬

‫ﺑﻪﻃﻮﺭﻳﻜﻪ }‪ .p[i] ∈ {0, ..., n − 1‬ﻋﺒﺎﺭﺕ ‪ y[j] = i‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖ ﻛﻪ ﭘﺮﺩﺍﺯﻩﻱ ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺩﺭ ﻣﺮﺣﻠﻪﻱ ‪ j‬ﺩﺍﺭﺍﻱ ﻛﻤﺘﺮﻳﻦ ﺍﻭﻟﻮﻳﺖ ﻣﻲﺑﺎﺷﺪ ﻭ ﻋﺒﺎﺭﺕ‬

‫‪ p[i] = j‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖ ﻛﻪ ﭘﺮﺩﺍﺯﻩﻱ ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺩﺭ ﻣﺮﺣﻠﻪﻱ ‪ j‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﭘﺮﺩﺍﺯﻩﻱ ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺍﺯ ﻣﺮﺣﻠﻪﻱ ﺻﻔﺮ ﺷﺮﻭﻉ ﺑﻪﻛﺎﺭ ﻣﻲﻛﻨﺪ‪ .‬ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﻳﻚ‬

‫ﭘﺮﺩﺍﺯﻩ ﺩﺭﺧﻮﺍﺳﺖ ﻭﺭﻭﺩ ﺑﻪ ﻧﺎﺣﻴﻪﻱ ﺑﺤﺮﺍﻧﻲ ﺭﺍ ﺑﺪﻫﺪ‪ ،‬ﺑﺎﻳﺪ ﺍﺯ ﻣﺮﺣﻠﻪﻱ ‪ ۱‬ﺗﺎ ‪ n − 1‬ﻋﺒﻮﺭ ﻛﻨﺪ‪ .‬ﭘﺮﺩﺍﺯﻩﻱ ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺩﺭ ﻣﺮﺣﻠﻪﻱ ‪ j‬ﺻﺒﺮ ﻣﻲﻛﻨﺪ ﺗﺎ ﺍﻳﻨﻜﻪ‬

‫ﻫﻤﻪﻱ ﭘﺮﺩﺍﺯﻩﻫﺎﻱ ﺩﻳﮕﺮ ﺩﺭ ﻳﻚ ﻣﺮﺣﻠﻪﻱ ﭘﺎﻳﻴﻦﺗﺮ ﺑﺎﺷﻨﺪ )ﺑﻪﺍﺯﺍﻱ ﺗﻤﺎﻡ ‪ k ̸= i‬ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﻢ ‪ (p[k] < j‬ﻭ ﻳﺎ ﭘﺮﺩﺍﺯﻩﺍﻱ ﺩﻳﮕﺮ ﺍﻳﻦ ﺣﻖ ﺭﺍ ﺑﻪ ﭘﺮﺩﺍﺯﻩﻱ‬

‫ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺑﺪﻫﺪ ﺗﺎ ﻭﺍﺭﺩ ﻧﺎﺣﻴﻪﻱ ﺑﺤﺮﺍﻧﻲ ﺷﻮﺩ )‪ .(y[j] ̸= i‬ﺭﻓﺘﺎﺭ ﭘﺮﺩﺍﺯﻩﻱ ﺷﻤﺎﺭﻩﻱ ‪ i‬ﺩﺭ ﺷﺒﻪﻛﺪ ﺯﻳﺮ ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪﻩ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫‪Algorithm 1: Generalized Peterson’s Mutual Exclusion Algorithm‬‬

‫‪while true do‬‬

‫;‪... noncritical section...‬‬

‫‪forall j = 1, ..., n − 1 do‬‬

‫;‪p[i] := j‬‬

‫;‪y[j] := i‬‬
‫∧(‬ ‫)‬
‫∨ )‪wait until (y[j] ̸= i‬‬ ‫‪0<k6n,k̸=i‬‬ ‫]‪p[k‬‬ ‫<‬ ‫‪j‬‬ ‫;‬

‫‪end‬‬

‫;‪... critical section...‬‬

‫;‪p[i] := 0‬‬

‫‪end‬‬

‫‪1 Peterson’s Mutual‬‬ ‫‪Exclusion‬‬


‫‪2 Process‬‬
‫‪3 Critical Section‬‬
‫‪4 Concurrent‬‬
‫‪5 Bounded‬‬ ‫‪integer arrays‬‬

‫‪۲‬‬
‫• ﺍﻟﻒ( ﮔﺮﺍﻑ ﺑﺮﻧﺎﻣﻪ ‪۶‬ﻱ ﭘﺮﺩﺍﺯﻩﻱ ‪ i‬ﺭﺍ ﺭﺳﻢ ﻛﻨﻴﺪ‪ ۴) .‬ﻧﻤﺮﻩ(‬

‫• ﺏ( ﺗﻌﺪﺍﺩ ﺣﺎﻻﺕ ‪ ۷‬ﺣﺎﺻﻞ ﺍﺯ ﺗﺮﻛﻴﺐ ﻣﻮﺍﺯﻱ ‪ n ۸‬ﭘﺮﺩﺍﺯﻩ ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﺪ )ﺣﺎﻻﺕ ﻏﻴﺮﻗﺎﺑﻞ ﺩﺳﺘﺮﺱ ‪ ۹‬ﻧﻴﺰ ﻣﺤﺎﺳﺒﻪ ﺷﻮﻧﺪ(‪ ۴) .‬ﻧﻤﺮﻩ(‬

‫• ﺝ( ﺍﺛﺒﺎﺕ ﻛﻨﻴﺪ ﻛﻪ ﻭﻳﮋﮔﻲ ‪ ۱۰‬ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﺩﺭ ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺣﻔﻆ ﻣﻲﺷﻮﺩ‪ ۵) .‬ﻧﻤﺮﻩ(‬

‫ﻣﺴﺌﻠﻪﻱ ﺩﻭﻡ‬
‫ﻣﺪﺍﺭﻫﺎﻱ ﺗﺮﺗﻴﺒﻲ ‪ C1 ۱۱‬ﻭ ‪ C2‬ﻛﻪ ﺩﺭ ﺷﻜﻞ ‪ ۱‬ﺁﻣﺪﻩ ﺍﺳﺖ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬

‫ﺷﻜﻞ ‪ :۱‬ﻣﺪﺍﺭﻫﺎﻱ ﺗﺮﺗﻴﺒﻲ‬

‫• ﺍﻟﻒ( ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﻣﺪﺍﺭﺍﺕ ‪ C1‬ﻭ ‪ C2‬ﺭﺍ ﺭﺳﻢ ﻛﻨﻴﺪ‪ ۴) .‬ﻧﻤﺮﻩ(‬

‫• ﺏ( ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﺣﺎﺻﻞ ﺍﺯ ) ‪ T S(C1 )||T S(C2‬ﺭﺍ ﺭﺳﻢ ﻛﻨﻴﺪ‪ ۴) .‬ﻧﻤﺮﻩ(‬

‫‪6 Program Graph‬‬


‫‪7 States‬‬
‫‪8 Parallel Composition‬‬
‫‪9 Unreachable‬‬
‫‪10 Property‬‬
‫‪11 Sequential Circuits‬‬

‫‪۳‬‬
‫ﻣﺴﺌﻠﻪﻱ ﺳﻮﻡ‬
‫ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ﺍﺯ ﻣﺘﻐﻴﺮ ﻫﺎﻱ ﺑﻪ ﺍﺷﺘﺮﺍﻙ ﮔﺬﺍﺷﺘﻪ ﺷﺪﻩﻱ ‪ y1‬ﻭ ‪ y2‬ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﺪ )ﻣﻘﺪﺍﺭ ﺍﻭﻟﻴﻪﻱ ﻫﺮ ﺩﻭ ﺻﻔﺮ‬

‫ﻣﻲﺑﺎﺷﺪ(‪.‬‬
‫‪Algorithm 2: Prosses P1‬‬

‫‪while true do‬‬

‫;‪... noncritical section...‬‬

‫;‪y1 := y2 + 1‬‬

‫;)) ‪wait until (y2 = 0) ∨ (y1 < y2‬‬

‫;‪... critical section...‬‬

‫;‪y1 := 0‬‬

‫‪end‬‬

‫‪Algorithm 3: Prosses P2‬‬

‫‪while true do‬‬

‫;‪... noncritical section...‬‬

‫;‪y2 := y1 + 1‬‬

‫;)) ‪wait until (y1 = 0) ∨ (y2 < y1‬‬

‫;‪... critical section...‬‬

‫;‪y2 := 0‬‬

‫‪end‬‬

‫• ﺍﻟﻒ( ﮔﺮﺍﻑ ﺑﺮﻧﺎﻣﻪﻱ ﭘﺮﺩﺍﺯﻩﻱ ‪ P1‬ﻭ ‪ P2‬ﺭﺍ ﺭﺳﻢ ﻛﻨﻴﺪ‪ ۶) .‬ﻧﻤﺮﻩ(‬

‫• ﺏ( ﺑﺨﺶ ﻗﺎﺑﻞ ﺩﺳﺘﺮﺱ ‪ ۱۲‬ﻣﺮﺑﻮﻁ ﺑﻪ ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ‪ ۱۳‬ﺣﺎﺻﻞ ﺍﺯ ‪ P1 ||P2‬ﺑﻪ ﻃﻮﺭﻳﻜﻪ ‪ y1 ≤ 2‬ﻭ ‪ y2 ≤ 2‬ﺑﺎﺷﺪ ﺭﺍ ﺭﺳﻢ ﻛﻨﻴﺪ‪ ۵) .‬ﻧﻤﺮﻩ(‬

‫‪12 Reachable‬‬
‫‪13 Transition System‬‬

‫‪۴‬‬
‫ﻣﺴﺌﻠﻪﻱ ﭼﻬﺎﺭﻡ‬
‫ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﻧﺘﺨﺎﺏ ﺭﺍﻫﺒﺮ ‪ ۱۴‬ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ :‬ﺩﺭ ﻳﻚ ﺷﺒﻜﻪ ﺑﺎ ﻫﻤﺒﻨﺪﻱ ﺣﻠﻘﻪ ‪ n ،۱۵‬ﭘﺮﺩﺍﺯﻩ ﺑﺎ ﻧﺎﻡﻫﺎﻱ ‪ P1 , .., Pn‬ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪﺍﻧﺪ‪ .‬ﻟﻴﻨﻚ ﺑﻴﻦ ﭘﺮﺩﺍﺯﻩﻫﺎ‬

‫ﺑﻪ ﺷﻜﻞ ﻳﻚ ﻃﺮﻓﻪ ‪ ۱۶‬ﻭ ﺩﺭ ﺟﻬﺖ ﺳﺎﻋﺘﮕﺮﺩ ‪ ۱۷‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﺟﻬﺖ ﻣﺘﻤﺎﻳﺰ ﺳﺎﺧﺘﻦ ﭘﺮﺩﺍﺯﻩﻫﺎ ﺍﺯ ﻳﻚﺩﻳﮕﺮ‪ ،‬ﺍﺯ ﺷﻨﺎﺳﻪﻫﺎﻱ ﻋﺪﺩﻱ ﻳﻜﺘﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﻴﻢ ﻭ ﺑﻪ ﻫﺮ‬

‫ﭘﺮﺩﺍﺯﻩ ﻳﻚ ‪ id‬ﺗﺨﺼﻴﺺ ﻣﻲﺩﻫﻴﻢ)}‪ .(id ∈ {1, ..., n‬ﻫﺪﻑ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﭘﺮﺩﺍﺯﻩﺍﻱ ﻛﻪ ﺩﺍﺭﺍﻱ ﺑﺰﺭﮔﺘﺮﻳﻦ ‪ id‬ﻣﻲﺑﺎﺷﺪ ﺭﺍ ﺩﺭﻭﻥ ﺣﻠﻘﻪ ﺑﻪ ﻋﻨﻮﺍﻥ‬

‫ﺭﺍﻫﺒﺮ ﻣﺸﺨﺺ ﻛﻨﻴﻢ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮﺭ ﻫﺮ ﭘﺮﺩﺍﺯﻩ ﺑﺎﻳﺪ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺯﻳﺮ ﺭﺍ ﺍﺟﺮﺍ ﻛﻨﺪ ‪:‬‬

‫‪Algorithm 4: Leader Election Algorithm‬‬

‫;)‪send(id‬‬

‫‪while true do‬‬

‫;)‪receive(m‬‬

‫‪if m = id then‬‬

‫;‪stop‬‬

‫‪end‬‬

‫‪if m > id then‬‬

‫;)‪send(m‬‬

‫‪end‬‬

‫‪end‬‬

‫ﭘﺮﻭﺗﻜﻞ ﺍﻧﺘﺨﺎﺏ ﺭﺍﻫﺒﺮ ﻣﺰﺑﻮﺭ ﺭﺍ ﺑﺮﺍﻱ ‪ n‬ﭘﺮﺩﺍﺯﻩ ﺩﺭ ﻗﺎﻟﺐ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻧﺎﻝ ‪ ۱۸‬ﻣﺪﻝ ﻛﻨﻴﺪ‪ ۱۰) .‬ﻧﻤﺮﻩ(‬

‫ﻣﺴﺌﻠﻪﻱ ﭘﻨﺠﻢ‬
‫ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ Trace .‬ﻫﺎﻱ ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﺯﻳﺮ ﺭﺍ ﺑﻪﻃﻮﺭ ﻓﺮﻣﺎﻝ ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ‪ ۵) .‬ﻧﻤﺮﻩ(‬
‫‪14 Leader‬‬ ‫‪Election‬‬
‫‪15 Ring‬‬ ‫‪Topology‬‬
‫‪16 Unidirectional‬‬
‫‪17 Clockwise‬‬
‫‪18 Channel System‬‬

‫‪۵‬‬
S0 {a}

S1 ∅ S2 {a}

S3 {a, b}

‫ﻣﺴﺌﻠﻪﻱ ﺷﺸﻢ‬
‫ ﻫﻤﭽﻨﻴﻦ ﻳﻚ ﺑﺮﻧﺎﻣﻪﻱ‬.‫ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﺩ ﺭﺍ ﺩﺭﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬AP = {x = 0, x > 1} ‫ ﺍﺳﺖ ﻭ ﺑﻪ ﺷﻜﻞ‬۱۹ ‫ ﻛﻪ ﺷﺎﻣﻞ ﮔﺰﺍﺭﻩﻫﺎﻱ ﺍﺗﻤﻲ‬AP ‫ﻣﺠﻤﻮﻋﻪﻱ‬

‫ ﺑﻪﻃﻮﺭ ﻓﺮﻣﺎﻝ‬۲۰ ‫ ﮔﺰﺍﺭﻩﻫﺎﻱ ﺯﻳﺮ ﺭﺍ ﺑﻪﺻﻮﺭﺕ ﻭﻳﮋﮔﻲ ﺯﻣﺎﻥ ﺧﻄﻲ‬،‫ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺍﻳﻦ ﻣﻮﺍﺭﺩ‬.‫ ﺭﺍ ﺗﻐﻴﻴﺮ ﻣﻲﺩﻫﺪ‬x ‫ﺗﺮﺗﻴﺒﻲ ﻏﻴﺮﻗﻄﻌﻲ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﻛﻪ ﻣﺘﻐﻴﺮ‬

(‫ ﻧﻤﺮﻩ‬۱۶) .‫ ﻫﺴﺘﻨﺪ ﻳﺎ ﺧﻴﺮ‬۲۲ ‫ ﻭ ﻳﺎ ﺳﺮﺯﻧﺪﮔﻲ‬۲۱ ‫ ﻫﻤﭽﻨﻴﻦ ﺑﺮﺍﻱ ﻫﺮ ﻣﻮﺭﺩ ﺑﺎ ﺫﻛﺮ ﺩﻟﻴﻞ ﻣﺸﺨﺺ ﻛﻨﻴﺪ ﻛﻪ ﺁﻳﺎ ﺍﺯ ﻧﻮﻉ ﻭﻳﮋﮔﻲ ﺍﻳﻤﻨﻲ‬.‫ﺑﻨﻮﻳﺴﻴﺪ‬

• a) False

• b) Initially x is equal to zero

• c) Initially x differs from zero

• d) Initially x is equal to zero, but at some point x exceeds one

• e) x exceeds one only finitely many times

• f) x exceeds one infinitely often

• g) The value of x alternates between zero and two

• h) True
19 Atomic Proposition
20 Linear Time Property
21 Safety
22 Liveness

۶
‫ﻣﺴﺌﻠﻪﻱ ﻫﻔﺘﻢ‬

‫• ﺍﻟﻒ( ﻓﺮﺽ ﻛﻨﻴﺪ ‪ P‬ﻳﻚ ﻭﻳﮋﮔﻲ ﺧﻄﻲ ﺯﻣﺎﻧﻲ ﺍﺳﺖ‪ .‬ﺍﺛﺒﺎﺕ ﻛﻨﻴﺪ ﻛﻪ‪ ۴) pref(closure(P )) = pref(P ) :‬ﻧﻤﺮﻩ(‬

‫• ﺏ( ﻓﺮﺽ ﻛﻨﻴﺪ ‪ P‬ﻭ ‪ P ′‬ﻭﻳﮋﮔﻲﻫﺎﻱ ﺳﺮﺯﻧﺪﮔﻲ ﺑﺮ ﺭﻭﻱ ﻣﺠﻤﻮﻋﻪ ‪ AP‬ﺑﺎﺷﻨﺪ‪ .‬ﺍﺩﻋﺎﻫﺎﻱ ﺯﻳﺮ ﺭﺍ ﺍﺛﺒﺎﺕ ﻭ ﻳﺎ ﺭﺩ ﻛﻨﻴﺪ‪ ۴) :‬ﻧﻤﺮﻩ(‬

‫‪– a) P ∪ P ′ is a liveness property.‬‬

‫‪– b) P ∩ P ′ is a liveness property.‬‬

‫ﺣﺎﻝ ﺍﻳﻦ ﺳﻮﺍﻝ ﺭﺍ ﺑﺎ ﺍﻳﻦ ﻓﺮﺽ ﭘﺎﺳﺦﺩﻫﻴﺪ ﻛﻪ ‪ P‬ﻭ ‪ P ′‬ﺩﻭ ﻭﻳﮋﮔﻲ ﺍﻳﻤﻨﻲ ﺑﺎﺷﻨﺪ‪ ۴) .‬ﻧﻤﺮﻩ(‬

‫ﻣﺴﺌﻠﻪﻱ ﻫﺸﺘﻢ‬

‫ﺳﻴﺴﺘﻢ ﮔﺬﺍﺭ ﺯﻳﺮ ﺭﺍ ﺑﻪ ﻫﻤﺮﺍﻩ ﻣﺠﻤﻮﻋﻪﻱ ﺍﻋﻤﺎﻝ }‪ B2 = {α, β} ،B1 = {α‬ﻭ }‪ B3 = {β‬ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬

‫‪γ‬‬ ‫‪β‬‬

‫∅ ‪S1‬‬

‫}‪S2 {a‬‬
‫}‪S3 {b‬‬
‫‪α‬‬ ‫‪α‬‬ ‫‪γ‬‬

‫‪γ‬‬ ‫‪α‬‬
‫}‪s4 {a, b‬‬

‫ﺩﺭ ﺍﺩﺍﻣﻪ ﻭﻳﮋﮔﻲﻫﺎﻱ ﺧﻄﻲ ﺯﻣﺎﻧﻲ ‪ Eb ،Ea‬ﻭ ‪ E ′‬ﺭﺍ ﺑﺪﻳﻦ ﺻﻮﺭﺕ ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻴﻢ‪:‬‬

‫‪۷‬‬
• Eb = the set of all words A0A1... ∈ (2{a,b} )ω with Ai ∈ {{a, b}, {b}} for infinitely many i (i.e., infinitely often b).

• Ea = the set of all words A0A1... ∈ (2{a,b} )ω with Ai ∈ {{a, b}, {a}} for infinitely many i (i.e., infinitely often a).

• E ′ = the set of all words A0A1... ∈ (2{a,b} )ω for which there does not exist an i ∈ N s.t. Ai = {a}, Ai+1 = {a, b}

and Ai+2 = ∅.

.T S |=Fi E ‫ ﺧﻮﺍﻫﻴﻢ ﺩﺍﺷﺖ‬،E ∈ {Ea , Eb , E ′ } ‫ ﻭ ﻭﻳﮋﮔﻲﻫﺎﻱ ﺧﻄﻲ ﺯﻣﺎﻧﻲ‬Bi (i ∈ {1, 2, 3}) ‫• ﺍﻟﻒ( ﺑﺮﺍﻱ ﻛﺪﺍﻡ ﻳﻚ ﺍﺯ ﻣﺠﻤﻮﻋﻪ ﺍﻋﻤﺎﻝ‬

(‫ ﻧﻤﺮﻩ‬۵) (Fi = (∅, {Bi }, ∅)) ‫ ﻣﻲﺑﺎﺷﺪ‬۲۳ ‫ ﻳﻚ ﺷﺮﻁ ﺍﻧﺼﺎﻑ ﻗﻮﻱ‬Fi ،‫)ﺩﺭ ﺍﻳﻦ ﺳﻮﺍﻝ‬

(‫ ﻧﻤﺮﻩ‬۵) .‫( ﭘﺎﺳﺦ ﺩﻫﻴﺪ‬Fi = (∅, ∅, {Bi }))۲۴ ‫• ﺏ( ﺳﻮﺍﻝ ﻓﻮﻕ ﺭﺍ ﺑﺮﺍﻱ ﺣﺎﻟﺖ ﺍﻧﺼﺎﻑ ﺿﻌﻴﻒ‬

‫ﻣﺴﺌﻠﻪﻱ ﻧﻬﻢ‬

.‫ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬

S0

α
β α

α
δ S1 S2 S3
β

β
α

δ
S4

23 Strong Fairness
24 Weak Fairness

۸
‫ﺑﺎ ﺫﻛﺮ ﺩﻟﻴﻞ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ ﻛﻪ ﻛﺪﺍﻡ ﻳﻚ ﺍﺯ ﻓﺮﺿﻴﺎﺕ ﺍﻧﺼﺎﻑ ‪ Fi‬ﺑﺮﺍﻱ ﺳﻴﺴﺘﻢ ﮔﺬﺍﺭ ﻣﺰﺑﻮﺭ ﺗﺤﻘﻖﭘﺬﻳﺮ ‪ ۲۵‬ﻣﻲﺑﺎﺷﺪ‪ ۱۵) .‬ﻧﻤﺮﻩ(‬

‫)}}‪• a) F1 = ({{α}}, {{β}}, {{α, β‬‬

‫)}}‪• b) F2 = ({{δ, α}}, {{α, β}}, {{δ‬‬

‫)}}‪• c) F3 = ({{α, δ}, {β}}, {{α, β}}, {{δ‬‬

‫ﻣﺴﺌﻠﻪﻱ ﺩﻫﻢ‬
‫ﻓﺮﺽ ﻛﻨﻴﺪ ‪ P‬ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ‪ Trace‬ﻫﺎﻱ ﺑﻪ ﻓﺮﻡ ‪ σ = A0 A1 A2 ... ∈ (2AP )ω‬ﺑﺎﺷﺪ‪ ،‬ﺑﻪﻃﻮﺭﻳﻜﻪ ‪:‬‬

‫∞‬
‫}‪∃ k. Ak = {a, b‬‬ ‫∧‬ ‫) ‪∃n > 0. ∀k > n. (a ∈ Ak ⇒ b ∈ Ak+1‬‬

‫ﺳﻴﺴﺘﻢﮔﺬﺍﺭ ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬


‫‪α‬‬

‫‪α‬‬
‫}‪S0 {a‬‬ ‫}‪S1 {b‬‬

‫‪γ‬‬

‫‪β‬‬ ‫‪α‬‬
‫‪γ‬‬

‫}‪S2 {a, b‬‬ ‫∅ ‪S3‬‬ ‫}‪S4 {a, b‬‬


‫‪δ‬‬ ‫‪η‬‬

‫‪α‬‬
‫‪β‬‬ ‫‪β‬‬

‫ﺣﺎﻝ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﺮﺽﻫﺎﻱ ﺍﻧﺼﺎﻑ ﺩﺍﺩﻩ ﺷﺪﻩ‪ ،‬ﺑﺎ ﺫﻛﺮ ﺩﻟﻴﻞ ﻭ ﺗﻮﺿﻴﺤﺎﺕ ﻣﻨﺎﺳﺐ‪ ،‬ﺩﺭﺳﺘﻲ ﻳﺎ ﻧﺎﺩﺭﺳﺘﻲ ﻋﺒﺎﺭﺍﺕ ﺯﻳﺮ ﺭﺍ ﻧﺸﺎﻥ ﺩﻫﻴﺪ‪ ۲۰) .‬ﻧﻤﺮﻩ(‬

‫‪25 Realizable‬‬

‫‪۹‬‬
‫‪• a) F1 = ({{α}}, {{β}, {δ, γ}, {η}}, ∅) : T S |=F1 P‬‬

‫‪• b) F2 = ({{α}}, {{β}, {γ}}, {{η}}) : T S |=F2 P‬‬

‫‪• c) F3 = (∅, {{γ}, {α}, {η}}, {{δ}}) : T S |=F3 P‬‬

‫‪• d) F4 = ({{α}, {β}}, {{δ}, {η}}, ∅) : T S |=F4 P‬‬

‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ‬
‫ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﺯﻳﺮ ﺑﺮﺍﻱ ﺩﻭ ﭘﺮﺩﺍﺯﻩﻱ ‪ P1‬ﻭ ‪ P2‬ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ )ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺑﻪ ﻧﺎﻡ ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﻫﻲﻣﻦ ‪ ۲۶‬ﻣﻌﺮﻭﻑ ﺍﺳﺖ(‪ .‬ﺩﺭ ﺍﻳﻦ‬

‫ﺍﻟﮕﻮﺭﻳﺘﻢ‪ ،‬ﭘﺮﺩﺍﺯﻩﻫﺎ ﻳﻚ ﻣﺘﻐﻴﺮ ﺍﺯ ﻧﻮﻉ ﺍﻋﺪﺍﺩ ﺻﺤﻴﺢ }‪ k ∈ {1, 2‬ﻭ ﺩﻭ ﻣﺘﻐﻴﺮ ﺑﻮﻟﻲ )}‪ bx (x ∈ {1, 2‬ﺭﺍ ﺑﻪ ﺍﺷﺘﺮﺍﻙ ﻣﻲﮔﺬﺍﺭﻧﺪ‪ .‬ﻫﺮ ﭘﺮﺩﺍﺯﻩﻱ ‪ Pi‬ﺍﻟﮕﻮﺭﻳﺘﻢ‬

‫ﺯﻳﺮ ﺭﺍ ﺍﺟﺮﺍ ﻣﻲﻛﻨﺪ‪ ،‬ﺍﻧﺪﻳﺲ ﻫﺎﻱ ‪ i‬ﻭ ‪ j‬ﻣﻌﺮﻑ ﺷﻤﺎﺭﻩﻱ ﺩﻭ ﭘﺮﺩﺍﺯﻩﻱ ﻣﺪﻧﻈﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪Algorithm 5: Hyman’s Mutual Exclusion Algorithm‬‬

‫‪while true do‬‬

‫;‪... noncritical section...‬‬

‫;‪bi := true‬‬

‫‪while k! = i do‬‬

‫‪while bj do‬‬

‫;‪skip‬‬

‫‪end‬‬

‫;‪k := i‬‬

‫‪end‬‬

‫;‪... critical section...‬‬

‫;‪bi := f alse‬‬

‫‪end‬‬

‫‪26 Hyman’s Mutual‬‬ ‫‪Exclusion Algorithm‬‬

‫‪۱۰‬‬
‫ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑﺎﻥ ﺭﺑﻜﺎ ‪ ،۲۷‬ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺭﺍ ﻣﺪﻝ ﻛﻨﻴﺪ ﻭ ﺳﭙﺲ ﺑﺎ ﻛﻤﻚ ﻧﺮﻡﺍﻓﺰﺍﺭ ﺍﻓﺮﺍ ‪ ۲۸‬ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ ﻛﻪ ﺁﻳﺎ ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﻭﻳﮋﮔﻲ ﺍﻧﺤﺼﺎﺭ ﻣﺘﻘﺎﺑﻞ ﺭﺍ‬

‫ﺗﻀﻤﻴﻦ ﻣﻲﻛﻨﺪ ﻳﺎ ﺧﻴﺮ‪) .‬ﺭﺍﻫﻨﻤﺎﻳﻲ‪ :‬ﺑﺮﺍﻱ ﻣﺪﻝﺳﺎﺯﻱ ﻣﺘﻐﻴﺮﻫﺎﻱ ﺑﻪ ﺍﺷﺘﺮﺍﻙ ﮔﺬﺍﺷﺘﻪ ﺷﺪﻩ ﺩﺭ ﺭﺑﻜﺎ‪ ،‬ﺁﻥﻫﺎ ﺭﺍ ﺩﺭ ﻗﺎﻟﺐ ﻳﻚ ﺍﻛﺘﻮﺭ ‪ ۲۹‬ﺑﻪﺷﻜﻞ ﺟﺪﺍﮔﺎﻧﻪ ﻣﺪﻝ‬

‫ﻛﻨﻴﺪ(‪ ۳۰) .‬ﻧﻤﺮﻩ(‬

‫ﻧﺤﻮﻩﻱ ﺍﺭﺳﺎﻝ ﭘﺎﺳﺦ‬


‫ﺩﺍﻧﺸﺠﻮﻳﺎﻥ ﻣﻲﺑﺎﻳﺴﺖ ﺑﻪ ﻋﻨﻮﺍﻥ ﭘﺎﺳﺦ ﺍﻳﻦ ﺗﻤﺮﻳﻦ‪ ،‬ﻓﺎﻳﻞ ﻣﺮﺑﻮﻁ ﺑﻪ ﭘﺎﺳﺦ ﺳﻮﺍﻻﺕ ﻧﻈﺮﻱ ﺗﻤﺮﻳﻦ ﺭﺍ ﺩﺭ ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ‪ PDF‬ﻭ ﺑﺮﺍﻱ ﭘﺎﺳﺦ ﺑﻪ ﺗﻤﺮﻳﻦ‬

‫ﻋﻤﻠﻲ‪ ،‬ﻓﺎﻳﻞ ﻣﺮﺑﻮﻁ ﺑﻪ ﻛﺪﻫﺎﻱ ﻣﺪﻝﺳﺎﺯﻱ ﻭ ﺗﻮﺻﻴﻒ ﻭﻳﮋﮔﻲﻫﺎ ‪ ۳۰‬ﺑﻪ ﻫﻤﺮﺍﻩ ﺗﺼﻮﻳﺮ ﺧﺮﻭﺟﻲ ﻋﻤﻠﻴﺎﺕ ﺩﺭﺳﺘﻲﻳﺎﺑﻲ ﻭ ﻳﻚ ﻓﺎﻳﻞ ﮔﺰﺍﺭﺵ ﻛﻪ ﺩﺭ ﺁﻥ ﺩﺭﺑﺎﺭﻩﻱ‬

‫ﻣﺪﻝﺳﺎﺯﻱ ﺍﻧﺠﺎﻡ ﺷﺪﻩ ﺗﻮﺿﻴﺢ ﺩﺍﺩﻩﺍﻧﺪ ﺭﺍ ﺩﺭ ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ‪ zip‬ﺑﺮ ﺻﻔﺤﻪﻱ ﺩﺭﺱ ﺩﺭ ﺳﺎﻳﺖ ﺩﺭﺱﺍﻓﺰﺍﺭ ﺑﺎﺭﮔﺬﺍﺭﻱ ﻧﻤﺎﻳﻨﺪ‪.‬‬

‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‬

‫‪27 Rebeca‬‬
‫‪28 Afra‬‬
‫‪29 Actor‬‬
‫‪30 Properties‬‬

‫‪۱۱‬‬

You might also like