Post your solution to the May 5 In-Class Exercise Thread.
Best,
Chris
<br> Initial queue (site, money ever received, money since last crawled):<br>
--- crawl s1, discover s2 and s5<br>
--- crawl s2, discover s3 and s5<br>
--- crawl s5, discover s1<br>
--- crawl s3, discover s4 and s5<br>
--- crawl s1, discover s2 and s5<br>
--- crawl s5, discover s1<br>
--- crawl s4, discover s1 and s5<br>
<br> We have now successfully crawled all 5 pages, so we can stop.
(Edited: 2021-05-05)Let's say we start with S1 and S2 having value 10 dollars each initially.
The format used within the Queue is Site: (money in last crawl, money from all crawls)
We have now crawled each site at least once.
(Edited: 2021-05-10)Priority Queue
S1 - 10 - 10
S2 - 10 - 10
Crawl S1
Priority Queue
S2 - 15 - 15
S5 - 5 - 5
S1 - 10 - 0
Crawl S2
Priority Queue
S5 - 12.5 - 12.5
S3 - 7.5 - 7.5
S1 - 10 - 0
S2 - 15 - 0
Crawl S5
Priority Queue
S1 - 12.5
S3 - 7.5
S2 - 0
S5 - 0
Crawl S1
Priority Queue
S3 - 7.5
S2 - 6.25
S5 - 6.25
S1 - 0
Crawl S3
Priority Queue
S5 - 10
S2 - 6.25
S4 - 3.75
S1 - 0
S3 - 0
Crawl S5
Priority Queue
S1 - 10
S2 - 6.25
S4 - 3.75
S3 - 0
S5 - 0
Crawl S1
Priority Queue
S2 - 11.25
S4 - 3.75
S5 - 5
S3 - 0
S1 - 0
Crawl S2
Priority Queue
S5 - 10.625
S3 - 5.625
S4 - 3.75
S1 - 0
S2 - 0
Crawl S5
Priority Queue
S1 - 10.625
S3 - 5.625
S4 - 3.75
S2 - 0
S5 - 0
Crawl S1
Priority Queue
S5 - 8.125
S4 - 6.5625
S3 - 5.625
S2 - 5.3125
S1 - 0
Crawl S5
Priority Queue
S1 - 8.125
S4 - 6.5625
S3 - 5.625
S2 - 5.3125
S5 - 0
Crawl S1
Priority Queue
S2 - 9.375
S4 - 6.5625
S3 - 5.625
S5 - 4.0625
S1 - 0
Crawl S2
Priority Queue
S3 - 10.3125
S5 - 8.75
S4 - 6.5625
S1 - 0
S2 - 0
Crawl S3
Priority Queue
S5 - 13.90625
S4 - 11.71875
S1 - 0
S2 - 0
S3 - 0
Crawl S5
Priority Queue
S1 - 13.90625
S4 - 11.71875
S2 - 0
S3 - 0
S5 - 0
Crawl S1
Priority Queue
S4 - 11.71875
S2 - 6.953125
S5 - 6.953125
S3 - 0
S1 - 0
Crawl S4
Priority Queue
S5 - 12.8125
S2 - 6.953125
S1 - 5.859375
S3 - 0
S4 - 0
(Edited: 2021-05-05)<nowiki>
+-------------+---------------+------------+------------+----------------+---------------+ | visit site# | site 1 | site 2 | site 3 | site 4 | site 5 | +-------------+---------------+------------+------------+----------------+---------------+ | 0 | 10, 10 | 10, 10 | | | | | 1 | 0, 10 | 15, 15 | | | 5, 5 | | 2 | 0, 10 | 0, 15 | 7.5, 7.5 | | 12.5, 12.5 | | 5 | 12.5, 12.5 | 0, 15 | 7.5, 7.5 | | 0, 12.5 | | 1 | 0, 12.5 | 6.25, 15 | 7.5, 7.5 | | 6.25, 12.5 | | 3 | 0, 12.5 | 6.25, 15 | 0, 7.5 | 3.75, 3.75 | 10, 12.5 | | 5 | 10, 12.5 | 6.25, 15 | 0, 7.5 | 3.75, 3.75 | 0, 12.5 | | 1 | 0, 12.5 | 11.25, 15 | 0, 7.5 | 3.75, 3.75 | 5, 12.5 | | 2 | 0, 12.5 | 0, 15 | 5.625, 7.5 | 3.75, 3.75 | 10.625, 12.5 | | 5 | 10.625, 12.5 | 0, 15 | 5.625, 7.5 | 3.75, 3.75 | 0, 12.5 | | 1 | 0, 12.5 | 5.3125, 15 | 5.625, 7.5 | 3.75, 3.75 | 5.3125, 12.5 | | 3 | 0, 12.5 | 5.3125, 15 | 0, 7.5 | 6.5625, 6.5625 | 8.125, 12.5 | | 5 | 4.0625, 12.5 | 5.3125, 15 | 0, 7.5 | 6.5625, 6.5625 | 0, 12.5 | | 4 | 7.34375, 12.5 | 5.3125, 15 | 0, 7.5 | 0, 6.5625 | 3.28125, 12.5 | +-------------+---------------+------------+------------+----------------+---------------+
</nowiki>
(Edited: 2021-05-05)Format: (site, money last crawl, money all crawls)
Initial (20 dollars)
Queue = {(S1, 10, 10), (S2, 10, 10)}
Crawl S1 (10 dollars) -> S2, S5
Queue = {(S2, 15, 15), (S5, 5, 5), (S1, 0, 10)}
Crawl S2 (15 dollars) -> S3, S5
Queue = {(S5, 12.5, 12.5), (S3, 7.5, 7.5), (S2, 0, 15), (S1, 0, 10)}
Crawl S5 (12.5 dollars) -> S1
Queue = {(S1, 12.5, 22.5), (S3, 7.5, 7.5), (S2, 0, 15), (S5, 0, 12.5)}
Crawl S1 (12.5 dollars) -> S2, S5
Queue = {(S3, 7.5, 7.5), (S2, 6.25, 21.25), (S5, 6.25, 18.75), (S1, 0, 22.5)}
Crawl S3 (7.5 dollars) -> S4, S5
Queue = {(S5, 10, 22.5), (S2, 6.25, 21.25), (S4, 3.75, 3.75), (S1, 0, 22.5), (S3, 0, 7.5)}
Crawl S5 (10 dollars) -> S1
Queue = {(S1, 10, 32.5), (S2, 6.25, 21.25), (S4, 3.75, 3.75), (S5, 0, 22.5), (S3, 0, 7.5)}
Crawl S1 (10 dollars) -> S2, S5
Queue = {(S2, 11.25, 26.25), (S5, 5, 27.5), (S4, 3.75, 3.75), (S1, 0, 32.5), (S3, 0, 7.5)}
Crawl S2 (11.25 dollars) -> S3, S5
Queue = {(S5, 10.625, 33.125), (S3, 5.625, 13.125), (S4, 3.75, 3.75), (S1, 0, 32.5), (S2, 0, 26.25)}
Crawl S5 (10.625 dollars) -> S1
Queue = {(S1, 10.625, 43.125), (S3, 5.625, 13.125), (S4, 3.75, 3.75), (S5, 0, 33.125), (S2, 0, 26.25)}
Crawl S1 (10.625 dollars) -> S2, S5
Queue = {(S3, 5.625, 13.125), (S5, 5.3125, 38.4375), (S2, 5.3125, 31.5625), (S4, 3.75, 3.75), (S1, 0, 43.125)}
Crawl S3 (5.625 dollars) -> S4, S5
Queue = {(S5, 8.125, 41.25), (S4, 6.5625, 6.5625), (S2, 5.3125, 31.5625), (S1, 0, 43.125), (S3, 0, 13.125)}
Crawl S5 (8.125 dollars) -> S1
Queue = {(S1, 8.125, 51.25), (S4, 6.5625, 6.5625), (S2, 5.3125, 31.5625), (S5, 0, 41.25), (S3, 0, 13.125)}
Crawl S1 (8.125 dollars) -> S2, S5
Queue = {(S2, 9.375, 35.625), (S4, 6.5625, 6.5625), (S5, 4.0625, 45.3125), (S1, 0, 51.25), (S3, 0, 13.125)}
Crawl S2 (9.375 dollars) -> S3, S5
Queue = {(S5, 8.75, 50), (S4, 6.5625, 6.5625), (S3, 4.6875, 17.8125), (S1, 0, 51.25), (S2, 0, 35.625)}
Crawl S5 (8.75 dollars) -> S1
Queue = {(S1, 8.75, 60), (S4, 6.5625, 6.5625), (S3, 4.6875, 17.8125), (S5, 0, 50), (S2, 0, 35.625)}
Crawl S1 (8.75 dollars) -> S2, S5
Queue = {(S4, 6.5625, 6.5625), (S3, 4.6875, 17.8125), (S5, 4.375, 50), (S2, 4.375, 35.625), (S1, 0, 60)}
Crawl S4 (6.5625 dollars) -> S1, S5
Queue = {(S5, 7.65625, 53.28125), (S3, 4.6875, 17.8125), (S2, 4.375, 35.625), (S1, 3.28125, 63.28125), (S4, 0, 6.5625)}
And now we have crawled each site at least once.
(Edited: 2021-05-07)site = (money ever received, money since last crawl)
S1 = (32.5 + 10.625, 0 + 10.625) = (43.125, 10.625)
S2 = (26.25, 0)
S3 = (13.125, 5.625)
S4 = (3.75, 3.75)
S5 = (33.125, 10.625 - 10.625) = (33.125, 0)
S1 = (43.125, 10.625 - 10.625) = (43.125, 0)
S2 = (26.25 + 5.3125, 0 + 5.3125) = (31.56, 5.3125)
S3 = (13.125, 5.625)
S4 = (3.75, 3.75)
S5 = (33.125 + 5.3125, 0 + 5.3125) = (38.437, 5.3125)
S1 = (43.125, 0)
S2 = (31.56, 5.3125)
S3 = (13.125, 5.625 - 5.625) = (13.125, 0)
S4 = (3.75 + 2.8125, 3.75 + 2.8125) = (6.5625, 6.5625)
S5 = (38.437 + 2.8125, 5.3125 + 2.8125) = (41.249, 8.125)
S1 = (43.125 + 8.125, 0 + 8.125) = (51.25, 8.125)
S2 = (31.56, 5.3125)
S3 = (13.125, 0)
S4 = (6.5625, 6.5625)
S5 = (41.249, 8.125 - 8.125) = (41.249, 0)
S1 = (51.25, 8.125 - 8.125) = (51.25, 0)
S2 = (31.56 + 4.062, 5.3125 + 4.062) = (35.62, 9.3745)
S3 = (13.125, 0)
S4 = (6.5625, 6.5625)
S5 = (41.249 + 4.062, 0 + 4.062) = (45.311, 4.062)
S1 = (51.25, 0)
S2 = (35.62, 9.3745 - 9.3745) = (35.62, 0)
S3 = (13.125 + 4.687, 0 + 4.687) = (17.8125, 4.687)
S4 = (6.5625, 6.5625)
S5 = (45.311 + 4.687, 4.062 + 4.687) = (49.998, 8.749)
S1 = (51.25 + 8.749, 0 + 8.749) = (59.999, 8.749)
S2 = (35.62, 0)
S3 = (17.8125, 4.687)
S4 = (6.5625, 6.5625)
S5 = (49.998, 8.749 - 8.749) = (49.998, 0)
S1 = (59.999, 8.749 - 8.749) = (60 , 0)
S2 = (35.62 + 4.374, 0 + 4.374) = (40 , 4.374)
S3 = (17.8125, 4.687)
S4 = (6.5625, 6.5625)
S5 = (49.998+ 4.374, 0+ 4.374) = (54.374, 4.374)
S1 = (60 , 0 + 3.28125) = (60, 3.28125)
S2 = (40 , 4.374)
S3 = (17.8125, 4.687)
S4 = (6.5625, 6.5625 - 6.5625) = (6.5625, 0)
S5 = (54.374 + 3.28125, 4.374 + 3.28125) = (57.655, 7.655)
Now each site is crawled at least once