Project 3 Results: Seed 1 3 5 7 9 Mean 1a 3078 3076 2879 3134 3281 3089.6 1b 88446 86041 92615 89968 93527 90119.4 1c 9119077 9144883 9189559 9178330 9185286 9163427 1d 157298100 157095193 156531988 157370416 156767991 156941397 1e 1572065911 1572253843 1527271692 1572797954 1571151419 1560868727 1f 446747417 447492010 447108157 446806182 446459193 446922591.8 The number of next steps per operation performed is roughly equal to 2 times log base 2 of the size of the repository. If the probability of creating a new layer is 1/2, then the average number of layers will be equal to log base 2 of the size of the repository. This means that the number of next steps per operation is equal to 2 times the number of layers in the repository. This makes sense as on each level, we must traverse horizontally one node on average. On the top level, we must traverse once from the head node. There is 1/n probability of the first node being the node for which we are looking: that we complete the search in 1 traversal. Each time we descend, we expend one operation. If the node is not on that level, on average we expend one additional operation. If we are searching for a node, and it does not exist in the list, we must descend through all the layers in the list. This gives us log base 2 of the size of the repository operations. On each level of the repository which we pass through, there is typically one additional node which we have not examined on the list. We must traverse through all of these, giving us another log base 2 of the size of the repository operations. We then arrive at 2 log base 2 (n) next steps per operation in the case that the node does not exist. In the case that the node we are looking for does not exist in the repository, the expected number of layers which we must traverse is one less than the number of layers in the repository, because half the nodes exist on that repository. In this case, we still must expend two operations per layer we passed through. This gives us 2 log base 2 (n) - 2 per operation in the case that the node exists. Because there is a 50% chance of the node existing or not existing, we can take the average of these two values. The number of expected next steps per operation is then 2 log base 2 (n) - 1. However because the number of layers is typically much greater than 1, the first term is much more significant in determining the number of next steps. To obtain the total number of next steps, we can simply multiply this value by the number of operations requested. Because the number of nodes in the repository stabilizes at higher numbers of operations, this is a better projection for large numbers of operations.