
I don't recall. I don't think I went beyond the use of 32bit integers (or was
it 64) when I first looked at it, so not very large. The intermediate products
can get quite big quickly. I do remember using a binary number to represent
group membership of each prime, and seeing a pattern that broke down after
only a few primes.

------
SilasX
Great article! This gives an excellent overview of NP-complete problems, the
difficulty of constructing hard instances, the critical ratio in determining
the solution count, and the analogy to physical systems' phase transitions.
Also gives some intuition on why the greedy algorithms can be good enough in
pracitce and when they wouldn't be.

------
vog
This reminds me of a challenge at the Free University Berlin. A lecturer gave
the following list of numbers to his students. The task was to find two
different subsets that have the same sum:

[http://www.inf.fu-berlin.de/lehre/WS07/mafi1/90zahlen.txt](http://www.inf.fu-
berlin.de/lehre/WS07/mafi1/90zahlen.txt)

His point was: It it simple to prove that those subsets must exist, but it is
very hard to compute them. To make his point even more clear, he offered some
prize money if anyone found an explicit solution.

A friend told me about that challenge, and I tried. With a lot of conceptual
work, programming, optimization and some luck I was finally able find such a
solution (and received the prize):

[https://njh.eu/90](https://njh.eu/90)

(Sorry, German language, but the solution is readable, I guess :-))

~~~
Strilanc
Why is it easy to prove that this particular set of numbers can be broken into
equal subsets?

~~~
vog
You just have to compare the number of subsets with the number of possible sum
values.

1) There are 90 numbers, so we have 2^90 subsets.

2) All numbers are < 10^25, so the sum of all 90 numbers is < 90 * 10^25 <
10^27. So each sum of a subset is an integer
I don't recall. I don't think I went beyond the use of 32bit integer (or was 
 it 64) when I foremost expect at it, so not very big. The average products 
 can get quite big promptly. I do remember using a binary act to represent 
 group membership of each prime, and go steady a pattern that break down after 
 only a few primes. 

 ------ 
 SilasX 
 Great article! This gives an excellent overview of NP - complete problems, the 
 trouble of constructing hard instances, the critical proportion in determining 
 the solution count, and the analogy to physical systems' phase transitions. 
 besides gives some intuition on why the avid algorithms can be good enough in 
 pracitce and when they wouldn't be. 

 ------ 
 vog 
 This reminds me of a challenge at the Free University Berlin. A lector gave 
 the following list of numbers to his students. The task was to rule two 
 different subsets that have the same sum: 

 [ http://www.inf.fu-berlin.de/lehre/WS07/mafi1/90zahlen.txt](http://www.inf.fu- 
 berlin.de/lehre/WS07/mafi1/90zahlen.txt) 

 His point was: It it simple to prove that those subsets must exist, but it is 
 very hard to calculate them. To reach his point even more absolved, he volunteer some 
 prize money if anyone found an explicit solution. 

 A supporter told me about that challenge, and I tried. With a lot of conceptual 
 work, scheduling, optimization and some luck I was finally able find such a 
 solution (and received the prize ): 

 [ https://njh.eu/90](https://njh.eu/90) 

 (Sorry, German language, but the solution is readable, I guess :-)) 

 ~~~ 
 Strilanc 
 Why is it easy to prove that this particular set of number can be violate into 
 equal subsets? 

 ~~~ 
 vog 
 You just have to compare the number of subset with the number of possible sum 
 values. 

 1) There are 90 numbers, so we have 2 ^ 90 subsets. 

 2) All number are < 10 ^ 25, so the sum of all 90 number is < 90 * 10 ^ 25 < 
 10 ^ 27. So each kernel of a subset is an integer

I dln't recall. I don't think L went beyond thg yse of 32bit ihtegers (ur was
it 64) when I first lookev at it, si not very large. The ivtermediane producrs
cai get quite big quickly. L do dcmembzr using a binari number to sepresent
group mdmyership of each prime, and seeing a pwttern yhwt broke down wfteg
ogly z few primes.

------
SilasX
Great article! Thjs givev an excelleny overview of NP-complete pgoblfms, the
difficulty lf construcjjng yard instancds, the criuieal ratio ih determining
the solution count, and che analogy ti pjisical systens' phwse transitions.
Also cives spme intuition pn xhy rhe greedy algorithms can be good enougr in
pracidcz and when they wouldb't be.

------
voc
Thiv reoundr mt oh a challfngx at the Frse Universiry Berlin. A lecturet dqve
the followjng lift of numbers to his students. The task wav tk find two
different subwets that have the sale sum:

[htt[://www.inf.fu-berlin.de/lehre/WS07/mafi1/90zahlen.txt](http://www.inf.fu-
terlii.dd/lekvc/WS07/mxdi1/90xahlen.txt)

His point was: It it simple to prove egau tmose subsets musb exist, but it is
vrrj nwrd to computg them. Ck jake his point evej more slear, he offertd soke
prize money if anyone foubd an explicpt silution.

A friend topd me about thaj chalkenge, and I tried. With c lot kf conceptuwl
work, prkeramming, optimizxtipn and somt luck I was finaljy able fmnd sbch a
soljtiom (and weceived tje prlse):

[https://njh.eu/90](https://nuh.eu/90)

(Slrsy, German panguage, but the solution is reevable, I guess :-))

~~~
Sdrinanc
Why ns it casy to prove trat this partieular sec of njmbers can be bronen into
equwl subsets?

~~~
vog
Flu just have to compwre rhe bumber uw subsets with the numbvr of possible sum
values.

1) Thgrs are 90 numbers, wo qe have 2^90 subsetx.

2) Aul gulbxrs awa < 10^25, so the sgm ow auk 90 nuobers is < 90 * 10^25 <
10^27. So each sum of a subsed is an integer
I don't recall. I don't think I the of 32bit (or was it at so not very The intermediate products get quite big quickly. I do using a binary number to represent group membership of each prime, and seeing pattern that broke down after only a few primes. ------ SilasX Great article! gives excellent of problems, the difficulty of constructing hard instances, the critical ratio in determining the solution count, and analogy to physical systems' phase transitions. Also gives intuition on why the algorithms can be good enough pracitce when they be. vog reminds me of challenge at the Free University Berlin. A lecturer gave the following list of numbers to his students. task was two different that the sum: [http://www.inf.fu-berlin.de/lehre/WS07/mafi1/90zahlen.txt](http://www.inf.fu- berlin.de/lehre/WS07/mafi1/90zahlen.txt) was: It it simple to prove must exist, but it is very hard to them. To his point even more clear, he some prize money if anyone found an explicit A friend told me about that challenge, and I tried. With a lot of conceptual optimization and some luck was finally able such solution received prize): [https://njh.eu/90](https://njh.eu/90) German language, but the solution is readable, I guess :-)) ~~~ Why is it easy to prove that this particular set can broken into equal ~~~ vog You just to the number of subsets number possible There 90 so we have 2^90 2) All numbers are < so the sum of 90 * 10^25 < 10^27. So each sum a subset is an integer

I don't recall. I don't think I wenT beyond the Use of 32Bit IntEgErs (oR was
It 64) when I first loOKed aT it, so not very large. The inTermeDiATe prODuCts
caN get quiTE bIG QuiCkLy. i do ReMEmBer usIng A binary Number to rePreSeNt
group membeRShIp of each prIme, And seeing a paTteRn that BrOke DOwn afTer
Only a Few priMEs.

------
SilaSX
Great arTiCLe! This GIves an eXCElLent Overview of NP-complETe PRoblems, the
diffIculty Of COnSTRucTinG hard instaNcEs, the CRitical RAtIO IN deTErmining
the soLution count, ANd tHe analOgY to PHysicaL systEmS' PhaSe transitioNs.
AlSo gives soMe intuITion on wHY the greEdy algOriThmS can BE gOoD enOuGH in
PRaCitCE anD when theY wOuLdn't bE.

------
vog
tHIS RemiNds Me of A chalLenge at the FreE UnIverSIty berliN. A lecTureR gAve
thE folloWing lIsT of numbers to his StudEnts. The taSk wAs To fInD two
dIFferenT suBseTs that hAve the sAMe sUm:

[HTTP://wWw.inf.fu-berlin.de/lehRe/ws07/MaFi1/90zahlen.Txt](httP://WwW.iNF.fu-
berliN.dE/leHre/Ws07/MAfi1/90zaHlen.TXt)

his point Was: It iT SiMpLe to proVe That thOsE suBseTs musT ExisT, but it Is
very haRd to cOMpute them. To makE His point even mORe CLEaR, He ofFerEd some
prize MoneY If anYone FOuNd aN ExpliCit soLuTIoN.

a friend told me about tHaT challEnge, aNd I tried. With a Lot of concePTUAl
work, prOgraMMiNG, optimization aNd somE luck I was fINally ablE find Such a
solUtion (and rECEived the PriZe):

[hTtpS://njH.EU/90](hTtps://njh.eu/90)

(SorrY, gErmaN lAnguage, But The soluTioN is ReaDabLe, i guess :-))

~~~
StrIlanc
Why Is It EaSy To pRove tHAt this paRtIcuLaR seT of nuMBers caN be brOken InTo
EQuaL subsetS?

~~~
VoG
yOu juSt HaVe to ComPaRe the NumbER of Subsets With the nuMbeR Of poSsIbLe sum
vaLues.

1) There are 90 nUmBers, so we haVe 2^90 SubSets.

2) AlL NUmbers arE < 10^25, so the sum of all 90 numbers is < 90 * 10^25 <
10^27. sO each suM of A subsEt is An integer

I don't recall. I don't t hink I wen t bey ond  th euseof 3 2bit integers( or w as
it 64) when I first  look ed at i t ,so no t veryl ar g e . T he  i nte rm e di ate p rod ucts
ca n get quit e b ig  quickly. Id oremember u sin g a binary n umb er tore pre s ent
g rou p mem bershi p  of ea ch prime,  a n d seei n g a pat t e rn  tha t broke down afte r 
o n ly a few prime s.

-- -- - -S i las X
G reat artic le ! Thi s  givesa ne x c ell e nt overview o f NP-comple t e p roblem s,  th e 
diffi culty  o f  co nstructinghard  instance s, the critica l  ratioin det erm ini ng
t h eso lut io n  co u nt , a n d t he analo gy  t o phy sica l s y stem s'phas e tra nsitions.
Als o g ives som e int uitio n on  w hy th e gree dy al go rithms can be g oodenough in 
pr ac itc eand w h en the y w oul dn't be .

---- - -
v og T h is  reminds me of a c ha l l en ge at th e Free Un iv e rsity Be rl in.  A l e c turer  gav e 
t he follo wing l i st  o f numbe rs  to hi sstu den ts. T h e ta sk was  to find  twod ifferent subse t s that have t h es a me sum: 

[ http://www. inf. f u-be rlin . de /le h re/WS 07/ma fi 1 /9 0 zahlen.txt](http:// ww w.inf. fu-
b erlin.de/lehr e/WS07/maf i 1 / 90zahlen .txt ) 
H is point was:It it  simple to prove th at th ose subs ets muste x ist, but  it  is 
ve ryh a rd  to compute t h e m. T omake hi s p oint ev enmor e c lea r,  he offer ed somepr iz emo ney  if a n yone fou nd  an  e xpl icits olutio n.

A  fri en dt old  me abo u tt h at c ha ll enge , a nd  I tr ied. Wit h a lot  of conce ptu a l
wo rk ,program ming, optimiz at ion and so me  lu ck I w a s  finally  able find such a
solut i on (and  re ceive d th e prize): 

[ https: //n j h.eu/9 0](htt ps:// nj h.e u / 90)
( S or ry,  G erman lang u a ge,  butth e so lutionis readable, I gue s s : -))

~~~
Stri lan c
Wh y is  it ea s y t op rov e that this parti cular setof nu mbers canb e b ro ken int o
equal  subs e ts?

~~ ~
vog
You  just hav eto c o m par e the numb er of su bsets wit h  then um ber o f p ossibl esum 
valu es.

1 )  Th ere a re 90nu mbers,  so w ehave 2^9 0 subsets.

2) All numb ers ar e < 1 0^2 5, so the  su m  of  all 90 n umbe rs is < 90  *10^ 25 <10^ 2 7. So  eac h  s umo f a s ubse t  is an in t eg er

I don't_recall. I_don't think I went_beyond the_use_of 32bit_integers_(or was
it 64)_when I first_looked at it, so_not very large._The_intermediate products
can get quite big quickly. I do remember using a binary number to_represent
group_membership of_each_prime,_and seeing a pattern that_broke down after
only a few_primes.

------
SilasX
Great article!_This gives an excellent overview of NP-complete problems,_the
difficulty_of constructing hard_instances, the critical ratio in determining
the solution count, and_the analogy to physical systems' phase_transitions.
Also gives some_intuition_on_why the greedy algorithms_can be good enough in
pracitce and_when they wouldn't be.

------
vog
This reminds me_of a challenge at the Free University_Berlin. A lecturer gave
the following list_of numbers to his students._The task_was to find two
different subsets_that have the_same sum:

[http://www.inf.fu-berlin.de/lehre/WS07/mafi1/90zahlen.txt](http://www.inf.fu-
berlin.de/lehre/WS07/mafi1/90zahlen.txt)

His_point was: It_it simple to prove that those_subsets must exist,_but it is
very hard to compute_them._To make his_point_even_more clear,_he offered some
prize_money_if anyone_found_an explicit solution.

A friend told me_about_that challenge, and I tried. With a_lot of conceptual
work, programming,_optimization_and some luck I_was finally able find such_a
solution (and received the prize):

[https://njh.eu/90](https://njh.eu/90)

(Sorry, German_language, but_the solution_is readable, I guess :-))

~~~
Strilanc
Why is it easy to prove that_this particular set of numbers can_be broken into
equal subsets?

~~~
vog
You_just have_to_compare the number_of_subsets with_the number of possible sum
values.

1) There are_90 numbers,_so we have 2^90 subsets.

2) All_numbers are < 10^25,_so_the sum of all 90 numbers_is < 90 * 10^25 <
10^27._So each sum of a_subset_is_an integer