1 00:00:00,000 --> 00:00:01,630 And there are two correct answers here. 2 00:00:01,630 --> 00:00:05,950 The first one is the simulation takes longer by a polynomial time factor. 3 00:00:05,950 --> 00:00:08,920 Now, it's a bit difficult if you wanted to specify exactly 4 00:00:08,920 --> 00:00:11,790 how much longer a simulation like this takes. 5 00:00:11,790 --> 00:00:17,120 In my point of view, you would not even take polynomially longer but only a constant factor, 6 00:00:17,120 --> 00:00:19,990 but polynomial is safe enough because in this course we're mostly 7 00:00:19,990 --> 00:00:23,670 differentiating between polynomial and exponential running time. 8 00:00:23,670 --> 00:00:28,140 Now, the reason why it only takes polynomial time longer is that, as I said before, 9 00:00:28,140 --> 00:00:34,040 once we're in the certain line of code, this line of code specifies exactly what is going to happen next. 10 00:00:34,040 --> 00:00:40,060 So it's mostly an overhead of simulating what this line here of code does, but as we said 11 00:00:40,060 --> 00:00:44,960 when we specify the RAM model, each line here is a simple operations, so it takes constant 12 00:00:44,960 --> 00:00:46,670 amount of time on the RAM. 13 00:00:46,670 --> 00:00:52,410 I think it's fair to say that it will only take polynomially more time if you simulate what it does. 14 00:00:52,410 --> 00:00:56,240 It doesn't do anything really complex. So the second answer here is wrong. 15 00:00:56,240 --> 00:01:01,740 The simulation is also always correct because there's no involvement of randomness 16 00:01:01,740 --> 00:01:03,420 or guessing and such. 17 00:01:03,420 --> 00:01:06,470 So if the simulator is programmed correctly, we will always get 18 00:01:06,470 --> 00:01:08,830 the same result that we would have originally gotten. 19 00:01:08,830 --> 99:59:59,999 It only takes longer time.