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











up vote
16
down vote

favorite
8












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

















This question has an open bounty worth +100
reputation from James ending in 3 days.


This question has not received enough attention.












  • 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








  • 2




    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
16
down vote

favorite
8












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

















This question has an open bounty worth +100
reputation from James ending in 3 days.


This question has not received enough attention.












  • 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








  • 2




    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
16
down vote

favorite
8









up vote
16
down vote

favorite
8






8





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

897




897






This question has an open bounty worth +100
reputation from James ending in 3 days.


This question has not received enough attention.








This question has an open bounty worth +100
reputation from James ending in 3 days.


This question has not received enough attention.










  • 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








  • 2




    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








  • 2




    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






2




2




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













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










New contributor




Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


















  • 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


















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













    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










    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.


















    • 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















    up vote
    3
    down vote













    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










    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.


















    • 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













    up vote
    3
    down vote










    up vote
    3
    down vote









    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










    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.









    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










    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.









    share|cite|improve this answer



    share|cite|improve this answer








    edited Nov 20 at 15:55





















    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.









    answered Nov 20 at 15:13









    Rch

    313




    313




    New contributor




    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





    New contributor





    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    Rch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.












    • 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


















    • 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
















    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










    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.2k340113




        51.2k340113






























             

            draft saved


            draft discarded



















































             


            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

            To store a contact into the json file from server.js file using a class in NodeJS

            Redirect URL with Chrome Remote Debugging Android Devices

            Dieringhausen