Minimum distance required to travel to “see” all points on a hypercube











up vote
18
down vote

favorite
10












You begin on a hypercube of dimension N at the origin i.e. $(0,0,0,0,...,0)$



When at the origin you are able to "see" one and only one step away from you. So from the origin you can see vertices $(1,0,0,0..,0), (0,1,0,...,0),... (0,0,0,...,1)$



What is the function $f(M)$ that gives the total number of vertices seen after $M$ steps? (When $f(M=m)=2^N$ in this function then $m$ will be the minimum number of steps to see all vertices)



Step $0$: $mathbf{(0,0,0)}, (0,0,1), (0,1,0), (1,0,0)$ 4 vertices



Step $1$: $mathbf{(0,0,1)}, (0,1,1), (1,0,1)$ +2 vertices



Step $2$: $mathbf{(1,0,1)}, (1,1,1)$ +1 vertex



Step $3$: $mathbf{(1,1,1)}, (1,1,0)$ +1 vertex










share|cite|improve this question




















  • 1




    We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
    – Larry B.
    Nov 12 at 19:58






  • 4




    We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
    – Misha Lavrov
    Nov 12 at 20:17






  • 3




    @MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
    – Ross Millikan
    Nov 12 at 21:22








  • 1




    @RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
    – vrugtehagel
    Nov 20 at 10:49








  • 3




    There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
    – David K
    Nov 20 at 20:00

















up vote
18
down vote

favorite
10












You begin on a hypercube of dimension N at the origin i.e. $(0,0,0,0,...,0)$



When at the origin you are able to "see" one and only one step away from you. So from the origin you can see vertices $(1,0,0,0..,0), (0,1,0,...,0),... (0,0,0,...,1)$



What is the function $f(M)$ that gives the total number of vertices seen after $M$ steps? (When $f(M=m)=2^N$ in this function then $m$ will be the minimum number of steps to see all vertices)



Step $0$: $mathbf{(0,0,0)}, (0,0,1), (0,1,0), (1,0,0)$ 4 vertices



Step $1$: $mathbf{(0,0,1)}, (0,1,1), (1,0,1)$ +2 vertices



Step $2$: $mathbf{(1,0,1)}, (1,1,1)$ +1 vertex



Step $3$: $mathbf{(1,1,1)}, (1,1,0)$ +1 vertex










share|cite|improve this question




















  • 1




    We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
    – Larry B.
    Nov 12 at 19:58






  • 4




    We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
    – Misha Lavrov
    Nov 12 at 20:17






  • 3




    @MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
    – Ross Millikan
    Nov 12 at 21:22








  • 1




    @RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
    – vrugtehagel
    Nov 20 at 10:49








  • 3




    There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
    – David K
    Nov 20 at 20:00















up vote
18
down vote

favorite
10









up vote
18
down vote

favorite
10






10





You begin on a hypercube of dimension N at the origin i.e. $(0,0,0,0,...,0)$



When at the origin you are able to "see" one and only one step away from you. So from the origin you can see vertices $(1,0,0,0..,0), (0,1,0,...,0),... (0,0,0,...,1)$



What is the function $f(M)$ that gives the total number of vertices seen after $M$ steps? (When $f(M=m)=2^N$ in this function then $m$ will be the minimum number of steps to see all vertices)



Step $0$: $mathbf{(0,0,0)}, (0,0,1), (0,1,0), (1,0,0)$ 4 vertices



Step $1$: $mathbf{(0,0,1)}, (0,1,1), (1,0,1)$ +2 vertices



Step $2$: $mathbf{(1,0,1)}, (1,1,1)$ +1 vertex



Step $3$: $mathbf{(1,1,1)}, (1,1,0)$ +1 vertex










share|cite|improve this question















You begin on a hypercube of dimension N at the origin i.e. $(0,0,0,0,...,0)$



When at the origin you are able to "see" one and only one step away from you. So from the origin you can see vertices $(1,0,0,0..,0), (0,1,0,...,0),... (0,0,0,...,1)$



What is the function $f(M)$ that gives the total number of vertices seen after $M$ steps? (When $f(M=m)=2^N$ in this function then $m$ will be the minimum number of steps to see all vertices)



Step $0$: $mathbf{(0,0,0)}, (0,0,1), (0,1,0), (1,0,0)$ 4 vertices



Step $1$: $mathbf{(0,0,1)}, (0,1,1), (1,0,1)$ +2 vertices



Step $2$: $mathbf{(1,0,1)}, (1,1,1)$ +1 vertex



Step $3$: $mathbf{(1,1,1)}, (1,1,0)$ +1 vertex







geometry graph-theory information-theory discrete-geometry






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Nov 20 at 22:12

























asked Nov 12 at 18:58









James

997




997








  • 1




    We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
    – Larry B.
    Nov 12 at 19:58






  • 4




    We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
    – Misha Lavrov
    Nov 12 at 20:17






  • 3




    @MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
    – Ross Millikan
    Nov 12 at 21:22








  • 1




    @RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
    – vrugtehagel
    Nov 20 at 10:49








  • 3




    There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
    – David K
    Nov 20 at 20:00
















  • 1




    We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
    – Larry B.
    Nov 12 at 19:58






  • 4




    We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
    – Misha Lavrov
    Nov 12 at 20:17






  • 3




    @MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
    – Ross Millikan
    Nov 12 at 21:22








  • 1




    @RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
    – vrugtehagel
    Nov 20 at 10:49








  • 3




    There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
    – David K
    Nov 20 at 20:00










1




1




We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
– Larry B.
Nov 12 at 19:58




We can give a lower bound of $N-1$, because if we start at $(0,0,ldots,0)$, we need $N-1$ steps to get within one of $(1,1,ldots,1)$.
– Larry B.
Nov 12 at 19:58




4




4




We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
– Misha Lavrov
Nov 12 at 20:17




We can give a lower bound of $frac{2^N}{N}-1$, because we need to see $2^N$ vertices and we only see $N$ from each location.
– Misha Lavrov
Nov 12 at 20:17




3




3




@MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
– Ross Millikan
Nov 12 at 21:22






@MishaLavrov: we can improve that to $frac {2^N-N-1}{N-1}$ because we see at most $N-1$ new ones each step. The $-N-1$ comes because we see $N+1$ at the start without moving. Presumably we see where we are, though the problem does not say so. It is still higher than this because we will see the same vertex more than once.
– Ross Millikan
Nov 12 at 21:22






1




1




@RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
– vrugtehagel
Nov 20 at 10:49






@RossMillikan it doesn't matter whether or not we see the vertex we are at. For all vertices that are not the starting vertex, we must see them before we reach them, and the starting vertex will be seen after the first step.
– vrugtehagel
Nov 20 at 10:49






3




3




There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
– David K
Nov 20 at 20:00






There are a couple of ambiguities that could use some edits to clarify them. First, in the title you ask for "minimum distance required" but in the question body you ask for "the function that gives the total number of vertices seen after $M$ steps." Also, in the example you gave, are there $3$ steps or $4$ steps? That is, is "Step $0$" (merely starting on a vertex, not having moved yet) counted as a step?
– David K
Nov 20 at 20:00












2 Answers
2






active

oldest

votes

















up vote
3
down vote



+50










This is just an upper bound but I'm posting it as an answer since it's too long for a comment.



I will build a sequence $p_n$ of paths that allow you to see all the vertexes of the dimension $n$ hypercube.



Let's consider the dimension $n+2$ hypercube, whose vertexes we can represent by a binary sequence $(b_1,...,b_{n+2})$.



We start our path by going through all the vertexes $(b_1,...,b_n,0,0)$. We know we can do that in exactly $2^n$ steps. At this point we have also "seen" all the vertexes $(b_1,...,b_n,1,0)$ and $(b_1,...,b_n,0,1)$, so all that's left are the vertexes $(b_1,...,b_n,1,1)$, which form a dimension $n$ hypercube. It takes us one extra step to reach that dimension $n$ hypercube, and $p_n$ steps to see all of its vertexes.



A path constructed in this way will see all the vertexes in :



$$
|p_{n+2}| = |p_n| + 2^n+1
$$



We also have trivially $|p_1| = 1$ and $|p_2|$ = 2, so we get an upper bound of:



$$
|p_{2k}| = sum_{i=1}^{k-1}2^{2i}+k+1
$$



$$
|p_{2k+1}| = sum_{i=0}^{k-1}2^{2i+1}+k+1
$$



You can get even better results by considering $(b_1,...,b_n,0,0,0)$ etc (we get $|p_{n+3}| = 2^{n+1} + 2$). Someone might be able to generalize it.






share|cite|improve this answer























  • To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
    – David K
    Nov 20 at 19:18










  • You're right, that's what I meant but I wasn't sure how to phrase it.
    – Rch
    Nov 20 at 19:51










  • The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
    – Will Fisher
    Nov 28 at 2:32












  • This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
    – Will Fisher
    Nov 28 at 3:40


















up vote
2
down vote













This is not anything like a complete answer,
but here is a refinement of the upper bound of $f(M)$
(and therefore the lower bound of $m$) when $N geq 2.$



(Note: I am counting only steps from one vertex to another; I do not count starting at a vertex as a "step". If you want to count the number of vertices visited, including the starting vertex, add $1$ to my count.)



For simplicity, I'll assume we "see" the vertex we're currently on.
As pointed out in comments under the question, that doesn't really matter
for $M > 0,$ because the vertices "seen" up to that point will necessarily include the one we just came from, but I wanted my formulas to agree with the example in the question, which seems to imply $f(0) = 4$ when $N = 3.$



In general, then, $f(0) = N + 1.$



After one step, the vertices we have "seen" at either the start or end of this step
cover exactly $2n$ of the vertices of the hypercube.
Therefore $f(1) = 2N.$



At the end of any other step, we "see" $N$ vertices
(not including the one where the step ended),
but one of these is the vertex we just came from, which was already "seen"
at the start of the previous step (if not earlier).



Moreover, no matter where the previous step came from, the last two steps traverse two sides of one of the two-dimensional square faces of the hypercube,
and the fourth vertex of that square is "seen" by both the starting vertex of the next-to-last step and the ending vertex of the last step.



So there are at least two previously-"seen" vertices among the $N$ vertices "seen" at the end of the last step, and that step contributes at most $N - 2$ new vertices.
That is, when $M geq 2$ we have the recursion
$$f(M) leq f(M - 1) + N - 2.$$



From these facts, we can deduce that when $M geq 2,$ then
$$f(M) leq 2N + (N - 2)(M - 1).$$



It follows that
$$M geq 1 + frac{f(M) - 2N}{N - 2}.$$
If $m$ is the minimum value of $M$ such that $f(M) = 2^N,$ then
$$ m geq 1 + frac{2^N - 2N}{N - 2}.$$






share|cite|improve this answer























    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    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',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2995699%2fminimum-distance-required-to-travel-to-see-all-points-on-a-hypercube%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    3
    down vote



    +50










    This is just an upper bound but I'm posting it as an answer since it's too long for a comment.



    I will build a sequence $p_n$ of paths that allow you to see all the vertexes of the dimension $n$ hypercube.



    Let's consider the dimension $n+2$ hypercube, whose vertexes we can represent by a binary sequence $(b_1,...,b_{n+2})$.



    We start our path by going through all the vertexes $(b_1,...,b_n,0,0)$. We know we can do that in exactly $2^n$ steps. At this point we have also "seen" all the vertexes $(b_1,...,b_n,1,0)$ and $(b_1,...,b_n,0,1)$, so all that's left are the vertexes $(b_1,...,b_n,1,1)$, which form a dimension $n$ hypercube. It takes us one extra step to reach that dimension $n$ hypercube, and $p_n$ steps to see all of its vertexes.



    A path constructed in this way will see all the vertexes in :



    $$
    |p_{n+2}| = |p_n| + 2^n+1
    $$



    We also have trivially $|p_1| = 1$ and $|p_2|$ = 2, so we get an upper bound of:



    $$
    |p_{2k}| = sum_{i=1}^{k-1}2^{2i}+k+1
    $$



    $$
    |p_{2k+1}| = sum_{i=0}^{k-1}2^{2i+1}+k+1
    $$



    You can get even better results by considering $(b_1,...,b_n,0,0,0)$ etc (we get $|p_{n+3}| = 2^{n+1} + 2$). Someone might be able to generalize it.






    share|cite|improve this answer























    • To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
      – David K
      Nov 20 at 19:18










    • You're right, that's what I meant but I wasn't sure how to phrase it.
      – Rch
      Nov 20 at 19:51










    • The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
      – Will Fisher
      Nov 28 at 2:32












    • This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
      – Will Fisher
      Nov 28 at 3:40















    up vote
    3
    down vote



    +50










    This is just an upper bound but I'm posting it as an answer since it's too long for a comment.



    I will build a sequence $p_n$ of paths that allow you to see all the vertexes of the dimension $n$ hypercube.



    Let's consider the dimension $n+2$ hypercube, whose vertexes we can represent by a binary sequence $(b_1,...,b_{n+2})$.



    We start our path by going through all the vertexes $(b_1,...,b_n,0,0)$. We know we can do that in exactly $2^n$ steps. At this point we have also "seen" all the vertexes $(b_1,...,b_n,1,0)$ and $(b_1,...,b_n,0,1)$, so all that's left are the vertexes $(b_1,...,b_n,1,1)$, which form a dimension $n$ hypercube. It takes us one extra step to reach that dimension $n$ hypercube, and $p_n$ steps to see all of its vertexes.



    A path constructed in this way will see all the vertexes in :



    $$
    |p_{n+2}| = |p_n| + 2^n+1
    $$



    We also have trivially $|p_1| = 1$ and $|p_2|$ = 2, so we get an upper bound of:



    $$
    |p_{2k}| = sum_{i=1}^{k-1}2^{2i}+k+1
    $$



    $$
    |p_{2k+1}| = sum_{i=0}^{k-1}2^{2i+1}+k+1
    $$



    You can get even better results by considering $(b_1,...,b_n,0,0,0)$ etc (we get $|p_{n+3}| = 2^{n+1} + 2$). Someone might be able to generalize it.






    share|cite|improve this answer























    • To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
      – David K
      Nov 20 at 19:18










    • You're right, that's what I meant but I wasn't sure how to phrase it.
      – Rch
      Nov 20 at 19:51










    • The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
      – Will Fisher
      Nov 28 at 2:32












    • This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
      – Will Fisher
      Nov 28 at 3:40













    up vote
    3
    down vote



    +50







    up vote
    3
    down vote



    +50




    +50




    This is just an upper bound but I'm posting it as an answer since it's too long for a comment.



    I will build a sequence $p_n$ of paths that allow you to see all the vertexes of the dimension $n$ hypercube.



    Let's consider the dimension $n+2$ hypercube, whose vertexes we can represent by a binary sequence $(b_1,...,b_{n+2})$.



    We start our path by going through all the vertexes $(b_1,...,b_n,0,0)$. We know we can do that in exactly $2^n$ steps. At this point we have also "seen" all the vertexes $(b_1,...,b_n,1,0)$ and $(b_1,...,b_n,0,1)$, so all that's left are the vertexes $(b_1,...,b_n,1,1)$, which form a dimension $n$ hypercube. It takes us one extra step to reach that dimension $n$ hypercube, and $p_n$ steps to see all of its vertexes.



    A path constructed in this way will see all the vertexes in :



    $$
    |p_{n+2}| = |p_n| + 2^n+1
    $$



    We also have trivially $|p_1| = 1$ and $|p_2|$ = 2, so we get an upper bound of:



    $$
    |p_{2k}| = sum_{i=1}^{k-1}2^{2i}+k+1
    $$



    $$
    |p_{2k+1}| = sum_{i=0}^{k-1}2^{2i+1}+k+1
    $$



    You can get even better results by considering $(b_1,...,b_n,0,0,0)$ etc (we get $|p_{n+3}| = 2^{n+1} + 2$). Someone might be able to generalize it.






    share|cite|improve this answer














    This is just an upper bound but I'm posting it as an answer since it's too long for a comment.



    I will build a sequence $p_n$ of paths that allow you to see all the vertexes of the dimension $n$ hypercube.



    Let's consider the dimension $n+2$ hypercube, whose vertexes we can represent by a binary sequence $(b_1,...,b_{n+2})$.



    We start our path by going through all the vertexes $(b_1,...,b_n,0,0)$. We know we can do that in exactly $2^n$ steps. At this point we have also "seen" all the vertexes $(b_1,...,b_n,1,0)$ and $(b_1,...,b_n,0,1)$, so all that's left are the vertexes $(b_1,...,b_n,1,1)$, which form a dimension $n$ hypercube. It takes us one extra step to reach that dimension $n$ hypercube, and $p_n$ steps to see all of its vertexes.



    A path constructed in this way will see all the vertexes in :



    $$
    |p_{n+2}| = |p_n| + 2^n+1
    $$



    We also have trivially $|p_1| = 1$ and $|p_2|$ = 2, so we get an upper bound of:



    $$
    |p_{2k}| = sum_{i=1}^{k-1}2^{2i}+k+1
    $$



    $$
    |p_{2k+1}| = sum_{i=0}^{k-1}2^{2i+1}+k+1
    $$



    You can get even better results by considering $(b_1,...,b_n,0,0,0)$ etc (we get $|p_{n+3}| = 2^{n+1} + 2$). Someone might be able to generalize it.







    share|cite|improve this answer














    share|cite|improve this answer



    share|cite|improve this answer








    edited Nov 20 at 15:55

























    answered Nov 20 at 15:13









    Rch

    813




    813












    • To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
      – David K
      Nov 20 at 19:18










    • You're right, that's what I meant but I wasn't sure how to phrase it.
      – Rch
      Nov 20 at 19:51










    • The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
      – Will Fisher
      Nov 28 at 2:32












    • This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
      – Will Fisher
      Nov 28 at 3:40


















    • To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
      – David K
      Nov 20 at 19:18










    • You're right, that's what I meant but I wasn't sure how to phrase it.
      – Rch
      Nov 20 at 19:51










    • The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
      – Will Fisher
      Nov 28 at 2:32












    • This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
      – Will Fisher
      Nov 28 at 3:40
















    To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
    – David K
    Nov 20 at 19:18




    To actually reach one of the vertices of the hypercube $(b_1,...,b_n,1,1)$ from the last-visited vertex of $(b_1,...,b_n,0,0)$ requires two steps. On the other hand, you count the question's "Step 0" as a step, so all you need to do is take one step to reach a vertex adjacent to the remaining hypercube, and then $p_n$ steps to "see" all of that hypercube, so the recursion seems correct although I found the reasoning a bit confusing.
    – David K
    Nov 20 at 19:18












    You're right, that's what I meant but I wasn't sure how to phrase it.
    – Rch
    Nov 20 at 19:51




    You're right, that's what I meant but I wasn't sure how to phrase it.
    – Rch
    Nov 20 at 19:51












    The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
    – Will Fisher
    Nov 28 at 2:32






    The generalization is this: Choose any $1le jle n-1$ and let $p$ be a path along the $j$-dimensional hypercube such that all points are seen. Let $N(p,i)$ be how many new points are seen on the $i$-th step of $p$. If $M_n$ is the minimal steps to see all points on an $n$-dimensional hypercube then $$M_nle sum_{i=1}^{|p|}min(2^{n-j},; N(p,i)M_{n-j}).$$ (Here $M_n$ counts the starting point as a step.)
    – Will Fisher
    Nov 28 at 2:32














    This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
    – Will Fisher
    Nov 28 at 3:40




    This for example gives $M_nle sqrt{2^n M_{n-j}M_j}$.
    – Will Fisher
    Nov 28 at 3:40










    up vote
    2
    down vote













    This is not anything like a complete answer,
    but here is a refinement of the upper bound of $f(M)$
    (and therefore the lower bound of $m$) when $N geq 2.$



    (Note: I am counting only steps from one vertex to another; I do not count starting at a vertex as a "step". If you want to count the number of vertices visited, including the starting vertex, add $1$ to my count.)



    For simplicity, I'll assume we "see" the vertex we're currently on.
    As pointed out in comments under the question, that doesn't really matter
    for $M > 0,$ because the vertices "seen" up to that point will necessarily include the one we just came from, but I wanted my formulas to agree with the example in the question, which seems to imply $f(0) = 4$ when $N = 3.$



    In general, then, $f(0) = N + 1.$



    After one step, the vertices we have "seen" at either the start or end of this step
    cover exactly $2n$ of the vertices of the hypercube.
    Therefore $f(1) = 2N.$



    At the end of any other step, we "see" $N$ vertices
    (not including the one where the step ended),
    but one of these is the vertex we just came from, which was already "seen"
    at the start of the previous step (if not earlier).



    Moreover, no matter where the previous step came from, the last two steps traverse two sides of one of the two-dimensional square faces of the hypercube,
    and the fourth vertex of that square is "seen" by both the starting vertex of the next-to-last step and the ending vertex of the last step.



    So there are at least two previously-"seen" vertices among the $N$ vertices "seen" at the end of the last step, and that step contributes at most $N - 2$ new vertices.
    That is, when $M geq 2$ we have the recursion
    $$f(M) leq f(M - 1) + N - 2.$$



    From these facts, we can deduce that when $M geq 2,$ then
    $$f(M) leq 2N + (N - 2)(M - 1).$$



    It follows that
    $$M geq 1 + frac{f(M) - 2N}{N - 2}.$$
    If $m$ is the minimum value of $M$ such that $f(M) = 2^N,$ then
    $$ m geq 1 + frac{2^N - 2N}{N - 2}.$$






    share|cite|improve this answer



























      up vote
      2
      down vote













      This is not anything like a complete answer,
      but here is a refinement of the upper bound of $f(M)$
      (and therefore the lower bound of $m$) when $N geq 2.$



      (Note: I am counting only steps from one vertex to another; I do not count starting at a vertex as a "step". If you want to count the number of vertices visited, including the starting vertex, add $1$ to my count.)



      For simplicity, I'll assume we "see" the vertex we're currently on.
      As pointed out in comments under the question, that doesn't really matter
      for $M > 0,$ because the vertices "seen" up to that point will necessarily include the one we just came from, but I wanted my formulas to agree with the example in the question, which seems to imply $f(0) = 4$ when $N = 3.$



      In general, then, $f(0) = N + 1.$



      After one step, the vertices we have "seen" at either the start or end of this step
      cover exactly $2n$ of the vertices of the hypercube.
      Therefore $f(1) = 2N.$



      At the end of any other step, we "see" $N$ vertices
      (not including the one where the step ended),
      but one of these is the vertex we just came from, which was already "seen"
      at the start of the previous step (if not earlier).



      Moreover, no matter where the previous step came from, the last two steps traverse two sides of one of the two-dimensional square faces of the hypercube,
      and the fourth vertex of that square is "seen" by both the starting vertex of the next-to-last step and the ending vertex of the last step.



      So there are at least two previously-"seen" vertices among the $N$ vertices "seen" at the end of the last step, and that step contributes at most $N - 2$ new vertices.
      That is, when $M geq 2$ we have the recursion
      $$f(M) leq f(M - 1) + N - 2.$$



      From these facts, we can deduce that when $M geq 2,$ then
      $$f(M) leq 2N + (N - 2)(M - 1).$$



      It follows that
      $$M geq 1 + frac{f(M) - 2N}{N - 2}.$$
      If $m$ is the minimum value of $M$ such that $f(M) = 2^N,$ then
      $$ m geq 1 + frac{2^N - 2N}{N - 2}.$$






      share|cite|improve this answer

























        up vote
        2
        down vote










        up vote
        2
        down vote









        This is not anything like a complete answer,
        but here is a refinement of the upper bound of $f(M)$
        (and therefore the lower bound of $m$) when $N geq 2.$



        (Note: I am counting only steps from one vertex to another; I do not count starting at a vertex as a "step". If you want to count the number of vertices visited, including the starting vertex, add $1$ to my count.)



        For simplicity, I'll assume we "see" the vertex we're currently on.
        As pointed out in comments under the question, that doesn't really matter
        for $M > 0,$ because the vertices "seen" up to that point will necessarily include the one we just came from, but I wanted my formulas to agree with the example in the question, which seems to imply $f(0) = 4$ when $N = 3.$



        In general, then, $f(0) = N + 1.$



        After one step, the vertices we have "seen" at either the start or end of this step
        cover exactly $2n$ of the vertices of the hypercube.
        Therefore $f(1) = 2N.$



        At the end of any other step, we "see" $N$ vertices
        (not including the one where the step ended),
        but one of these is the vertex we just came from, which was already "seen"
        at the start of the previous step (if not earlier).



        Moreover, no matter where the previous step came from, the last two steps traverse two sides of one of the two-dimensional square faces of the hypercube,
        and the fourth vertex of that square is "seen" by both the starting vertex of the next-to-last step and the ending vertex of the last step.



        So there are at least two previously-"seen" vertices among the $N$ vertices "seen" at the end of the last step, and that step contributes at most $N - 2$ new vertices.
        That is, when $M geq 2$ we have the recursion
        $$f(M) leq f(M - 1) + N - 2.$$



        From these facts, we can deduce that when $M geq 2,$ then
        $$f(M) leq 2N + (N - 2)(M - 1).$$



        It follows that
        $$M geq 1 + frac{f(M) - 2N}{N - 2}.$$
        If $m$ is the minimum value of $M$ such that $f(M) = 2^N,$ then
        $$ m geq 1 + frac{2^N - 2N}{N - 2}.$$






        share|cite|improve this answer














        This is not anything like a complete answer,
        but here is a refinement of the upper bound of $f(M)$
        (and therefore the lower bound of $m$) when $N geq 2.$



        (Note: I am counting only steps from one vertex to another; I do not count starting at a vertex as a "step". If you want to count the number of vertices visited, including the starting vertex, add $1$ to my count.)



        For simplicity, I'll assume we "see" the vertex we're currently on.
        As pointed out in comments under the question, that doesn't really matter
        for $M > 0,$ because the vertices "seen" up to that point will necessarily include the one we just came from, but I wanted my formulas to agree with the example in the question, which seems to imply $f(0) = 4$ when $N = 3.$



        In general, then, $f(0) = N + 1.$



        After one step, the vertices we have "seen" at either the start or end of this step
        cover exactly $2n$ of the vertices of the hypercube.
        Therefore $f(1) = 2N.$



        At the end of any other step, we "see" $N$ vertices
        (not including the one where the step ended),
        but one of these is the vertex we just came from, which was already "seen"
        at the start of the previous step (if not earlier).



        Moreover, no matter where the previous step came from, the last two steps traverse two sides of one of the two-dimensional square faces of the hypercube,
        and the fourth vertex of that square is "seen" by both the starting vertex of the next-to-last step and the ending vertex of the last step.



        So there are at least two previously-"seen" vertices among the $N$ vertices "seen" at the end of the last step, and that step contributes at most $N - 2$ new vertices.
        That is, when $M geq 2$ we have the recursion
        $$f(M) leq f(M - 1) + N - 2.$$



        From these facts, we can deduce that when $M geq 2,$ then
        $$f(M) leq 2N + (N - 2)(M - 1).$$



        It follows that
        $$M geq 1 + frac{f(M) - 2N}{N - 2}.$$
        If $m$ is the minimum value of $M$ such that $f(M) = 2^N,$ then
        $$ m geq 1 + frac{2^N - 2N}{N - 2}.$$







        share|cite|improve this answer














        share|cite|improve this answer



        share|cite|improve this answer








        edited Nov 20 at 22:29

























        answered Nov 20 at 18:55









        David K

        51.7k340114




        51.7k340114






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics 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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2995699%2fminimum-distance-required-to-travel-to-see-all-points-on-a-hypercube%23new-answer', 'question_page');
            }
            );

            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







            Popular posts from this blog

            Le Mesnil-Réaume

            Ida-Boy-Ed-Garten

            web3.py web3.isConnected() returns false always