Can someone explain this formula for calculating Manhattan distance?Minimizing the maximum Manhattan distance
Will 700 more planes a day fly because of the Heathrow expansion?
Prove that a definite integral is an infinite sum
How can I get people to remember my character's gender?
How do I calculate how many of an item I'll have in this inventory system?
How to pass hash as password to ssh server
Find magical solution to magical equation
Correct way of drawing empty, half-filled and fully filled circles?
Definition of conditional probability and a problem.
Snap victim memorial reference in Avengers: Endgame
3D Volume in TIKZ
Is there a word that describes the unjustified use of a more complex word?
How can internet speed be 10 times slower without a router than when using a router?
A factorization game
Manager is threatening to grade me poorly if I don't complete the project
Outlining A Novel - How do you make it less of a slog?
Why did the Apollo 13 crew extend the LM landing gear?
Extra space in cells when using token lists to build tabular content
Can my 2 children, aged 10 and 12, who are US citizens, travel to the USA on expired American passports?
Gladys unchained
Python 3 - simple temperature program
Are there terms in German for different skull shapes?
Should I mention being denied entry to UK due to a confusion in my Visa and Ticket bookings?
Should I simplify my writing in a foreign country?
How should I tell my manager I'm not paying for an optional after work event I'm not going to?
Can someone explain this formula for calculating Manhattan distance?
Minimizing the maximum Manhattan distance
$begingroup$
This is from a Kickstart problem:
Note: The Manhattan distance between two squares (r1,c1) and (r2,c2)
is defined as |r1 - r2| + |c1 - c2|, where |*| operator denotes the
absolute value.
Then in the analysis:
Note that the manhattan distance has an equivalent formula:
dist((x1, y1), (x2, y2)) = max(abs(x1 + y1 - (x2 + y2)), abs(x1 - y1 - (x2 - y2)))
This formula is based on the fact that for any point, the set of
points within a manhattan distance of K form a square rotated by 45
degrees. The benefit of this formula is that if we fix (x2, y2), the
distance will be maximized when x1 + y1 and x1 - y1 are either
maximized or minimized.
Could someone explain in more details how this formula can be derived?
square-grid
$endgroup$
add a comment |
$begingroup$
This is from a Kickstart problem:
Note: The Manhattan distance between two squares (r1,c1) and (r2,c2)
is defined as |r1 - r2| + |c1 - c2|, where |*| operator denotes the
absolute value.
Then in the analysis:
Note that the manhattan distance has an equivalent formula:
dist((x1, y1), (x2, y2)) = max(abs(x1 + y1 - (x2 + y2)), abs(x1 - y1 - (x2 - y2)))
This formula is based on the fact that for any point, the set of
points within a manhattan distance of K form a square rotated by 45
degrees. The benefit of this formula is that if we fix (x2, y2), the
distance will be maximized when x1 + y1 and x1 - y1 are either
maximized or minimized.
Could someone explain in more details how this formula can be derived?
square-grid
$endgroup$
1
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
1
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51
add a comment |
$begingroup$
This is from a Kickstart problem:
Note: The Manhattan distance between two squares (r1,c1) and (r2,c2)
is defined as |r1 - r2| + |c1 - c2|, where |*| operator denotes the
absolute value.
Then in the analysis:
Note that the manhattan distance has an equivalent formula:
dist((x1, y1), (x2, y2)) = max(abs(x1 + y1 - (x2 + y2)), abs(x1 - y1 - (x2 - y2)))
This formula is based on the fact that for any point, the set of
points within a manhattan distance of K form a square rotated by 45
degrees. The benefit of this formula is that if we fix (x2, y2), the
distance will be maximized when x1 + y1 and x1 - y1 are either
maximized or minimized.
Could someone explain in more details how this formula can be derived?
square-grid
$endgroup$
This is from a Kickstart problem:
Note: The Manhattan distance between two squares (r1,c1) and (r2,c2)
is defined as |r1 - r2| + |c1 - c2|, where |*| operator denotes the
absolute value.
Then in the analysis:
Note that the manhattan distance has an equivalent formula:
dist((x1, y1), (x2, y2)) = max(abs(x1 + y1 - (x2 + y2)), abs(x1 - y1 - (x2 - y2)))
This formula is based on the fact that for any point, the set of
points within a manhattan distance of K form a square rotated by 45
degrees. The benefit of this formula is that if we fix (x2, y2), the
distance will be maximized when x1 + y1 and x1 - y1 are either
maximized or minimized.
Could someone explain in more details how this formula can be derived?
square-grid
square-grid
asked Mar 31 at 13:07
Eugene YarmashEugene Yarmash
1334
1334
1
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
1
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51
add a comment |
1
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
1
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51
1
1
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
1
1
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Lemma. $|a|+|b|=max(|a+b|, |a-b|)$ for any real number $a$ and $b$.
Proof 1.
$|x|=max(x, -x)$ for all real number $x$. So
$$beginaligned
|a|+|b|
&=max(a, -a) + max(b, -b)\
&=max(a+b, a-b, -a+b, -a-b)\
&=max(max(a+b, -a-b), max(a-b, -(a-b))\
&=max(|a+b|, |a-b|)
endaligned$$
Proof 2.
There are $2 times 2 = 4$ cases.
$age 0$
$bgt 0$. LHS is $a+b$, RHS is $a+b$.
$ble 0$. LHS is $a-b$, RHS is $a-b$.
$alt 0$
$bgt 0$. LHS is $-a+b$, RHS is $-(a-b)$.
$ble 0$. LHS is $-a-b$, RHS is $-(a+b)$.
One dimensionality of Manhattan-distance.
The Manhattan-distance of two points $(x_1, y_1)$ and $(x_2, y_2)$ is either $|(x_1+y_1)-(x_2+y_2)|$ or $|(x_1-y_1)-(x_2-y_2)|$, whichever is larger. That is, $ d((x_1, y_1),(x_2, y_2))= max(|(x_1+y_1)-(x_2+y_2)|, |(x_1-y_1)-(x_2-y_2)|)$$
Proof: By definition,
$$d((x_1, y_1),(x_2, y_2))=|x_1-x_2| + |y_1-y_2|.$$
Now apply the lemma above. QED.
This answer also serves as a complement to another answer of mine.
$endgroup$
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formulabased on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?
$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
|
show 1 more comment
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "419"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f106289%2fcan-someone-explain-this-formula-for-calculating-manhattan-distance%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Lemma. $|a|+|b|=max(|a+b|, |a-b|)$ for any real number $a$ and $b$.
Proof 1.
$|x|=max(x, -x)$ for all real number $x$. So
$$beginaligned
|a|+|b|
&=max(a, -a) + max(b, -b)\
&=max(a+b, a-b, -a+b, -a-b)\
&=max(max(a+b, -a-b), max(a-b, -(a-b))\
&=max(|a+b|, |a-b|)
endaligned$$
Proof 2.
There are $2 times 2 = 4$ cases.
$age 0$
$bgt 0$. LHS is $a+b$, RHS is $a+b$.
$ble 0$. LHS is $a-b$, RHS is $a-b$.
$alt 0$
$bgt 0$. LHS is $-a+b$, RHS is $-(a-b)$.
$ble 0$. LHS is $-a-b$, RHS is $-(a+b)$.
One dimensionality of Manhattan-distance.
The Manhattan-distance of two points $(x_1, y_1)$ and $(x_2, y_2)$ is either $|(x_1+y_1)-(x_2+y_2)|$ or $|(x_1-y_1)-(x_2-y_2)|$, whichever is larger. That is, $ d((x_1, y_1),(x_2, y_2))= max(|(x_1+y_1)-(x_2+y_2)|, |(x_1-y_1)-(x_2-y_2)|)$$
Proof: By definition,
$$d((x_1, y_1),(x_2, y_2))=|x_1-x_2| + |y_1-y_2|.$$
Now apply the lemma above. QED.
This answer also serves as a complement to another answer of mine.
$endgroup$
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formulabased on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?
$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
|
show 1 more comment
$begingroup$
Lemma. $|a|+|b|=max(|a+b|, |a-b|)$ for any real number $a$ and $b$.
Proof 1.
$|x|=max(x, -x)$ for all real number $x$. So
$$beginaligned
|a|+|b|
&=max(a, -a) + max(b, -b)\
&=max(a+b, a-b, -a+b, -a-b)\
&=max(max(a+b, -a-b), max(a-b, -(a-b))\
&=max(|a+b|, |a-b|)
endaligned$$
Proof 2.
There are $2 times 2 = 4$ cases.
$age 0$
$bgt 0$. LHS is $a+b$, RHS is $a+b$.
$ble 0$. LHS is $a-b$, RHS is $a-b$.
$alt 0$
$bgt 0$. LHS is $-a+b$, RHS is $-(a-b)$.
$ble 0$. LHS is $-a-b$, RHS is $-(a+b)$.
One dimensionality of Manhattan-distance.
The Manhattan-distance of two points $(x_1, y_1)$ and $(x_2, y_2)$ is either $|(x_1+y_1)-(x_2+y_2)|$ or $|(x_1-y_1)-(x_2-y_2)|$, whichever is larger. That is, $ d((x_1, y_1),(x_2, y_2))= max(|(x_1+y_1)-(x_2+y_2)|, |(x_1-y_1)-(x_2-y_2)|)$$
Proof: By definition,
$$d((x_1, y_1),(x_2, y_2))=|x_1-x_2| + |y_1-y_2|.$$
Now apply the lemma above. QED.
This answer also serves as a complement to another answer of mine.
$endgroup$
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formulabased on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?
$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
|
show 1 more comment
$begingroup$
Lemma. $|a|+|b|=max(|a+b|, |a-b|)$ for any real number $a$ and $b$.
Proof 1.
$|x|=max(x, -x)$ for all real number $x$. So
$$beginaligned
|a|+|b|
&=max(a, -a) + max(b, -b)\
&=max(a+b, a-b, -a+b, -a-b)\
&=max(max(a+b, -a-b), max(a-b, -(a-b))\
&=max(|a+b|, |a-b|)
endaligned$$
Proof 2.
There are $2 times 2 = 4$ cases.
$age 0$
$bgt 0$. LHS is $a+b$, RHS is $a+b$.
$ble 0$. LHS is $a-b$, RHS is $a-b$.
$alt 0$
$bgt 0$. LHS is $-a+b$, RHS is $-(a-b)$.
$ble 0$. LHS is $-a-b$, RHS is $-(a+b)$.
One dimensionality of Manhattan-distance.
The Manhattan-distance of two points $(x_1, y_1)$ and $(x_2, y_2)$ is either $|(x_1+y_1)-(x_2+y_2)|$ or $|(x_1-y_1)-(x_2-y_2)|$, whichever is larger. That is, $ d((x_1, y_1),(x_2, y_2))= max(|(x_1+y_1)-(x_2+y_2)|, |(x_1-y_1)-(x_2-y_2)|)$$
Proof: By definition,
$$d((x_1, y_1),(x_2, y_2))=|x_1-x_2| + |y_1-y_2|.$$
Now apply the lemma above. QED.
This answer also serves as a complement to another answer of mine.
$endgroup$
Lemma. $|a|+|b|=max(|a+b|, |a-b|)$ for any real number $a$ and $b$.
Proof 1.
$|x|=max(x, -x)$ for all real number $x$. So
$$beginaligned
|a|+|b|
&=max(a, -a) + max(b, -b)\
&=max(a+b, a-b, -a+b, -a-b)\
&=max(max(a+b, -a-b), max(a-b, -(a-b))\
&=max(|a+b|, |a-b|)
endaligned$$
Proof 2.
There are $2 times 2 = 4$ cases.
$age 0$
$bgt 0$. LHS is $a+b$, RHS is $a+b$.
$ble 0$. LHS is $a-b$, RHS is $a-b$.
$alt 0$
$bgt 0$. LHS is $-a+b$, RHS is $-(a-b)$.
$ble 0$. LHS is $-a-b$, RHS is $-(a+b)$.
One dimensionality of Manhattan-distance.
The Manhattan-distance of two points $(x_1, y_1)$ and $(x_2, y_2)$ is either $|(x_1+y_1)-(x_2+y_2)|$ or $|(x_1-y_1)-(x_2-y_2)|$, whichever is larger. That is, $ d((x_1, y_1),(x_2, y_2))= max(|(x_1+y_1)-(x_2+y_2)|, |(x_1-y_1)-(x_2-y_2)|)$$
Proof: By definition,
$$d((x_1, y_1),(x_2, y_2))=|x_1-x_2| + |y_1-y_2|.$$
Now apply the lemma above. QED.
This answer also serves as a complement to another answer of mine.
answered Mar 31 at 14:42
Apass.JackApass.Jack
14.8k1941
14.8k1941
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formulabased on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?
$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
|
show 1 more comment
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formulabased on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?
$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
2
2
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
The one dimensionality of Manhattan-distance is the main trick that is applied in the algorithm, as this allows you to sort according to this distance.
$endgroup$
– Discrete lizard♦
Mar 31 at 15:41
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formula
based on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
This is a great explanation, thanks. One question remains though: how is this formula
based on the fact that for any point, the set of points within a manhattan distance of K form a square rotated by 45 degrees
?$endgroup$
– Eugene Yarmash
Mar 31 at 16:10
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash Let the given point be $(a,b)$. Then a point (x,y) is within $K$ M-distance of $(a,b)$ if and only if $|x+y-(a+b)|le K$ and $|x-y-(a-b)|le K$. The points defined by $|x+y-(a+b)|le K$ is between two parallel lines, $x+y=a+b+K$ and $x+y=a+b-K$, both of which are in 45 degree with the axises. The points defined by $|x-y-(a-b)|le K$ is between two parallel lines, $x-y=a-b+K$ and $x-y=a-b-K$, both of which are in 45 degree with the axises as well.
$endgroup$
– Apass.Jack
Mar 31 at 16:26
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
@EugeneYarmash (continued) The Euclidean distance between the first two parallel lines is $sqrt 2K$, which is also the the Euclidean distance between the second two parallel lines. So we got "a square rotated by 45 degree." By the way, I am explaining the logic the other way around, that is, that fact is based on the formula! I believe, it should be better to say "this formula can be understood intuitively from the fact that ..." instead of "this formula is bases on the fact that ...".
$endgroup$
– Apass.Jack
Mar 31 at 16:32
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
$begingroup$
Images can help understanding a lot (because the super-parallel computation done by human's eyes and brains) but could be deceiving or misleading. A mathematical proof might not be easy to come by or understand but it is much more rigorous.
$endgroup$
– Apass.Jack
Mar 31 at 16:36
|
show 1 more comment
Thanks for contributing an answer to Computer Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f106289%2fcan-someone-explain-this-formula-for-calculating-manhattan-distance%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
$begingroup$
Why don't you try drawing this square, and determine what these distances represent? Hint: try to determine the coordinates of the corners of this square.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:32
1
$begingroup$
@DavidRicherby The benefit appears to be that for the specific use-case of determining whether there exists a point with distance at most $k$ to some set $S$, it seems we can do this more efficiently, as we only have to find the maximum and minimum of the points in $S$ according to $x_1+y_1$ and $x_1-y_1$ once and then can query for each point in constant time. Do you think there is an easier way to get a constant query time here?
$endgroup$
– Discrete lizard♦
Mar 31 at 13:44
$begingroup$
I suppose that you could also directly look at the corners of the smallest enclosing 45 degree turned square of these points, and then you end up with basically the same values as the maxima and minima in your dataset. So, in a way, I see that changing the Manhattan distance itself could be a rather complicated way of achieving this.
$endgroup$
– Discrete lizard♦
Mar 31 at 13:51