The following topic is a variation of one of Paul Hsieh's puzzles. Problem 4 of Set 4 in Paul's Mathematical section reads as follows:
A duck is swimming in the center of a perfectly circular pond, and a fox is on the land at the very edge of the pond. The fox is hungry and wants to eat the duck, but it cannot swim. The duck wants to get out of there but needs to reach land in order to be able to fly away. If the duck swims at 1 meter per second, and the fox can run around on land at 4 meters per second, can the duck somehow escape?
The question that I want to consider is only slightly different. How fast does the fox have to be to prevent the duck from escaping?
In order to start on this problem, you need to figure out what the fox can do, what the duck can do, and how they can change their strategies to respond to each other. Since the reaction times of the fox and the duck are not mentioned in the problem, we can only assume that their ability to respond quickly is not a factor.
Let's look at the fox first. There is no situation in which the fox gains an advantage by leaving the shore, so the fox has a one-dimensional motion and we can let her position be represented by θf. The duck can move in two dimensions, so his position needs to be represented by his angular position θd and his distance r from the center of the lake. What strategy should the fox follow? Since the distance between the fox and the duck is determined by r and |θf – θd|, the fox is always best served by tring to minimize |θf – θd|. This means that the fox should always run toward the duck the shortest way around the pond. Furthermore, the fox should always run at top speed unless she's already managed to get the angular separation down to zero.
Now, what should the duck do? Well, the duck needs to get to shore and stay away from the fox, but two objectives might not work together perfectly. Certainly if the duck has any angular velocity, he wants it to be away from the fox. In fact, the duck would like to stay on the opposite side of the pond (in an angular sense) if at all possible. Can the duck do this? Well, as long as the duck can keep his angular velocity greater than that of the fox, he can maneuver to the opposite side of the pond and stay there, without moving farther from shore.
The duck's maximum speed is vd = 1 m/s. We're trying to determine the speed the fox needs to catch the duck, so let the fox's maximum speed be vf, where vf = x vd. The fox's angular velocity is ωf = vf / R, where R is the radius of the pond. The duck's maximum angular velocity at a distance r from the center of the pond is given by ωd = vd / r. This is only greater than ωf if r < R vd / vf = R / x. Or, put more simply, the duck can stay on the opposite side of the pond from the fox until he gets 1/x of the way from the center of the pond to the shore.
Actually, it's not immediately clear that the duck can get that far out and still keep the fox on the opposite side of the pond. Establishing this involves some calculus, and you can just skip to the next section if you're not interested. The duck can clearly get as close to the limit as necessary.
If the duck is swimming at top speed, and the fox is running at top speed, and the duck is maintaining the same angular velocity as the fox, then the duck's radial velocity vr is given by the formula
|(1)||vr2 + r2ωf2 = vd2,|
since the velocity of the duck in the angular direction is rωf. As the duck gets closer and closer to the limit r = R / x, the duck's radial velocity goes to zero. You have to be able to integrate this differential equation to establish that the duck can actually reach the limit, rather than just getting closer and closer to it. Recognizing that we have θd = ωf t, we have
we can use the differential equation to find the duck's path.
|(3)||vr = ωf||dr
|= √(vd2 – r2ωf2)|
√(vd2 – r2ωf2)
This can be integrated with the substitution u = r ωf / vd, to give
√(1 – u2)
|= dθd ,|
|(6)||Sin–1 u = θ ,|
Clearly the duck does get out to r = R / x in finite time. As a matter of fact, the duck travels a distance of πR / x while the fox travels a distance of πR.
Once the duck has made it out to r = R / x, he must make a break for the edge. The fox will be eating up the angular separation (and salivating) the entire way. What path should the duck take? A straight line. The fox is going to run in the same direction at top speed unless and until she catches the duck, so the duck needs to take the shortest path to wherever he's going to exit the pond.
Not just any straight line will do, however. In addition to the obvious fact that there is an optimum point to exit the pond, the duck must not swim back inside the circle at r = R / x. Why not? Consider a line that crosses inside that circle and proceeds straight for the edge of the pond. As the duck cuts the chord of the circle at r = R / x, he takes less time than he would have taken if he proceeded along the arc of that circle. That means that the fox will switch direction and run the other way, and the duck will either realize his error or will proceed right into the maw of the clever fox.
There are a few different ways to find the optimum line, and it can be done without calculus by graphing equations of one variable and finding the maximum, but the most elegant solution I've found transforms the duck's dilemma into a variation of a classic first semester calculus problem.
Whatever route the duck takes must be the optimum choice at every instant along the route. So, if we can solve the problem for any point along the route, then we've solved it for every radial position. The metric that I chose to optimize is the distance that the duck is ahead of the fox when he reaches the shore. As the duck approaches the shore, the shore approximates a straight line, so if we can solve the problem of a duck trying to stay ahead of a fox as he swims into a straight shore, then we can learn the optimum angle to hit the shore and we can translate this back to the circular problem.
Let the duck be a distance d from the straight shoreline. The duck swims at 1 m/s and the fox runs at x m/s. The fox is some distance C away from the point directly opposite the duck. What angle should the duck swim to have the most room as he exits the water?
The duck will make a beeline for a point a distance y along the shore, so that he swims a total distance of √(d2 +y2). The fox, in order to catch the duck must run a distance of C + y. When the duck exits the water, he is ahead of the fox by a distance of C + y – x√(d2 + y2). This quantity is maximized when the derivative with respect to y is equal to zero.
√(d2 + y2)
|(9)||x2y2 = d2 + y2|
√(x2 – 1)
If we simply let d be equal to √(x2 – 1), then y = 1 and the hypotenuse (the distance the duck swims) is x. From this triangle we can easily calculate any of the trig functions for the associated angles.
From this limiting case, we know the angle that the duck's path will make with the shore. Let's map this path onto the circle. Consider the angle φ between the duck's path and the shoreline. The complement of φ is the angle between the radius of the pond and the duck's path (since the radius of the pond is perpendicular to the shoreline). The duck's path will be a portion of the corresponding chord cutting across the circular pond. One way to characterize the chord of a circle is by the chord's closest approach to the center. Consider the triangle formed by the center of the pond, the intersection of the duck's path with the shoreline, and the closest approach of the chord to the center of the pond. This is a right triangle, and the angle at the center of the pond is φ. The point of closest approach is a distance R / x from the center. Therefore, the duck's optimum path is the tangent to the circle r = R / x that we found in the first section.
This is one equation away from the final solution. The duck swims a distance R√(1 – 1/x2) while the fox runs a distance (π + φ)R, where cos φ = 1 / x. In the limiting case, the travel times are equal and we simply need to find the numerical solution.
|(11)||π + Cos–1(1/x) = √(x2 – 1)|
The numerical solution can be found using your favorite tool. I used a graphing calculator the first time, but I couldn't find it while I was writing up this solution, so I started with a guess of x = 4 and used this value to plug into Cos–1(1/x), then solved for x on the other side of the equation to get a new guess for the next iteration. That converges fairly quickly. Whatever method you use, the answer is that the fox must be able to run at a speed of approximately 4.60334 m/s.
Send all responses to .Thanks,