[seqfan] Re: The weight puzzle sequence
Tanya Khovanova
mathoflove-seqfan at yahoo.com
Wed Aug 25 18:25:59 CEST 2010
It is not in OEIS.
Can you submit the sequence?
--- On Tue, 8/24/10, Richard Mathar <mathar at strw.leidenuniv.nl> wrote:
> From: Richard Mathar <mathar at strw.leidenuniv.nl>
> Subject: [seqfan] Re: The weight puzzle sequence
> To: seqfan at seqfan.eu
> Date: Tuesday, August 24, 2010, 3:14 PM
>
> http://list.seqfan.eu/pipermail/seqfan/2010-August/005802.html
>
> coputed maximum set sizes of grams agree with the
> assumptions.
> List generated with "n" followed by a maximum subset
> as specified:
>
> 1, [1]
> 2, [1, 2]
> 3, [1, 2]
> 4, [1, 2, 4]
> 5, [1, 2, 4]
> 6, [1, 2, 4]
> 7, [3, 5, 6, 7]
> 8, [1, 2, 4, 8]
> 9, [1, 2, 4, 8]
> 10, [1, 2, 4, 8]
> 11, [1, 2, 4, 8]
> 12, [1, 2, 4, 8]
> 13, [3, 6, 11, 12, 13]
> 14, [1, 6, 10, 12, 14]
> 15, [1, 6, 10, 12, 14]
> 16, [1, 2, 4, 8, 16]
>
> So the size-sequence starts
> 1,2,2,3,3,3,4,4,4,4,4,4,5,5,5,5
>
> Independent confirmations certainly desired!
>
> # Maple implementation:
> # is any subset of L uniquely determined by the total
> weight?
> iswts := proc(L)
> local wtset,s,c,subL,thiswt ;
> # the weight sums are to be unique, so
> sufficient to remember the set
> wtset := {} ;
>
> # loop over all subsets of weights
> generated by L
> for s from 1 to nops(L) do
> c :=
> combinat[choose](L,s) ;
> for subL in c do
> #
> compute the weight sum in this subset
>
> thiswt := add(i,i=subL) ;
> #
> if this weight sum already appeared: not a candidate
> if
> thiswt in wtset then
>
> return false;
>
> else
>
> wtset := wtset union {thiswt} ;
>
> end if;
> end do:
> end do:
> # All different subset weights were
> different: success
> return true;
> end proc:
>
> # main sequence: given grams 1 to n, determine a subset L
> # such that each subset of this subset as a different sum.
> wts := proc(n)
> local s,c,L ;
> # select sizes from n (largest size
> first) down to 1,
> # so the largest is detected first.
> for s from n to 1 by -1 do
> # all combinations of
> subsets of s different grams
> c :=
> combinat[choose]([seq(i,i=1..n)],s) ;
> for L in c do
> #
> check if any of these meets the requir, print if yes
> #
> and return
> if
> iswts(L) then
>
> print(n,L) ;
>
> return nops(L) ;
>
> end if;
> end do:
> end do:
> print(n,"-") ;
> end proc:
>
> # loop for weights with maximum n
> for n from 1 do
> wts(n) ;
> end do:
>
>
> _______________________________________________
>
> Seqfan Mailing list - http://list.seqfan.eu/
>
More information about the SeqFan
mailing list