Mike,
You are right. I forgot about rotational duplicates.
I had a similar problem awhile back, and Roger showed us several ways to
remove rotational duplicates.
Here is one of Roger's verbs:

rdr=.3 :'~.(y i."_1<./"1 y)|."_1 y' NB. Remove rotational duplicates.

$n=.>:perm 8

40320 8

$rdr n

5040 8

So there are only 5,040 unique vertex permutations.

Skip Cave
Cave Consulting LLC


On Sun, Mar 14, 2021 at 6:55 PM 'Mike Day' via Chat <[email protected]>
wrote:

> As these are supposed to be regular polygons,  shouldn’t you identify
> 123...8 with
> 234...81 etc,  in which case there are !7 rather than !8 different
> octagons.
>
> Also, we only need consider the minimum triplet sum in each figure,
> since,  by definition,  all other triplet sums in that octagon are greater
> or equal.
>
> So:
>    $s3=.+/"1[3,\"1|:n,2{.n=.|:1,.2+tap 7
> 5040 8
>
>    +/m=.*./"1[11<"1 s3. NB. 8 times smaller because of equivalence under
> rotation...
> 40
>
>    +/11<<./"1 s3.  NB.  same comparing minimum triplet-sums
> 40
>
> It is fairly straightforward to develop a constructive function to
> generate polygons with n
> sides for which all k-tuplets of consecutive corners sum to more than some
> value.  It’s a lot slower than using perm or tap for octagons,  but would
> be competitive for somewhat larger polygons.
>
> Since +/>: i. 8 = 36,  the average triplet sum is 13.5 = 108%3 ,  we know
> that there is no
> such octagon with all triplet sums exceeding 13.
>
> Mike
>
>
> Sent from my iPad
>
> > On 14 Mar 2021, at 22:00, Skip Cave <[email protected]> wrote:
> >
> > I found this problem on Quora. I had fun solving it in J. Are there more
> > efficient ways?
> >
> > The first 8 natural numbers (1 to 8) are positioned on the vertices of an
> > octagon. Is it possible to position the numbers such that the sum of any
> 3
> > adjacent vertices is greater than 11? Greater than 13?
> >
> > Using the J programming language, brute force approach:
> >
> > Wikipedia: "J (programming language)"
> >
> > J primitives: NuVoc - J Wiki <https://code.jsoftware.com/wiki/NuVoc>
> >
> > Generate all permutations of the integers 1–8, & store them in n. Count
> the
> > permutations & display the count:
> >
> > $n=.|:>:perm 8
> >
> > 8 40320
> >
> > So n contains the 40,320 possible permutations of the integers 1–8,
> > representing all the possible permutations of the numbered vertices of an
> > octagon.
> >
> > Now sum consecutive sets of three integers from each set of 8 integers
> with
> > wraparound, which will create sets of 8 sums, and store the sums in s3.
> > Count the sums & display the count:
> >
> > $s3=.+/"1[3,\"1|:n,2{.n
> >
> > 40320 8
> >
> > So s3 has 40,320 sets of 8 sums, where each set of 8 sums represents the
> 8
> > sums of 3 adjacent vertices on each unique octagon.
> >
> > Now mark all the octagons have all their 3 consecutive vertex sums
> greater
> > than 11, sum the marks, and list the sum:
> >
> > +/m=.*./"1[11<"1 s3
> >
> > 320
> >
> > So 320s of the 40,320 possible octagons have all their 3 consecutive
> vertex
> > sums greater than 11:
> >
> > Use the mark vector to extract & display the first & last few sets of
> > octagon vertices whose 3 consecutive vertex sums are greater than 11:
> >
> > {m#|:n
> >
> > │1 4 7 2 5 6 3 8│1 4 7 2 6 5 3 8│1 5 6 2 4 7 3 8│1 5 6 2 7 3 4 8│1 5 6 2
> 7
> > 4 3 8│1 5 6 2 8 3 4 7│1 5 6 3 7 2 4 8│1 5 6 3 8 2 4 7│1 5 6 4 2 7 3 8│1
> 5 6
> > 4 7 2 3 8│….
> >
> > …..│8 3 5 6 2 7 4 1│8 3 6 4 2 7 5 1│8 3 6 5 1 7 4 2│8 3 6 5 2 7 4 1│8 3
> 7 2
> > 4 6 5 1│8 3 7 4 2 6 5 1│8 4 2 7 3 5 6 1│8 4 2 7 3 6 5 1│8 4 3 7 2 5 6
> 1│8 4
> > 3 7 2 6 5 1│
> >
> > How many octagons have all their 3 consecutive vertex sums greater than
> 13?
> >
> > +/*./"1[13<"1 s3
> >
> > 0
> >
> > There are no octagons whose 3 consecutive vertex sums are all greater
> than
> > 13.
> >
> > How many octagons have all their 3 consecutive vertex sums greater than
> 10?
> >
> > +/*./"1[10<"1 s3
> >
> > 3456
> >
> > So 3,456 octagons of the 40,320 possible octagons have all their 3
> > consecutive vertex sums greater than 10.
> >
> > Skip Cave
> > Cave Consulting LLC
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to