1. Programming Contest: Circle Packing

Hi all,

I stumbled across a programming contest, maybe someone is interested
in it.


Al Zimmermann's Programming Contests
------------------------------------
Current contest: Circle Packing

Total prizes: $500
Contest start: Sunday 30th of October 2005
Contest end: Saturday 14th of January 2006

Each contest offers a cash prize for the first three winning entries.
Participating is free.

http://www.recmath.org/contest/

Regards,
   Juergen

-- 
Have you read a good program lately?

new topic     » topic index » view message » categorize

2. Re: Programming Contest: Circle Packing

Juergen Luethje wrote:
> 
> I stumbled across a programming contest, maybe someone is interested
> in it.

That looks fun! I'm too busy, though. :(

I hope a Euphorian takes up the challenge and lets us know how it goes! :)

-=ck
"Programming in a state of EUPHORIA."
http://www.cklester.com/euphoria/

new topic     » goto parent     » topic index » view message » categorize

3. Re: Programming Contest: Circle Packing

cklester wrote:

> Juergen Luethje wrote:
>>
>> I stumbled across a programming contest, maybe someone is interested
>> in it.
>
> That looks fun! I'm too busy, though. :(
>
> I hope a Euphorian takes up the challenge and lets us know how it goes! :)

I would like to do it myself, but I'm afraid that's above me. sad
So I'm also curious about solutions of other Euphorians.

Regards,
   Juergen

new topic     » goto parent     » topic index » view message » categorize

4. Re: Programming Contest: Circle Packing

Juergen Luethje wrote:
> 
> cklester wrote:
> 
> > Juergen Luethje wrote:
> >>
> >> I stumbled across a programming contest, maybe someone is interested
> >> in it.
> >
> > That looks fun! I'm too busy, though. :(
> >
> > I hope a Euphorian takes up the challenge and lets us know how it goes! :)
> 
> I would like to do it myself, but I'm afraid that's above me. sad
> So I'm also curious about solutions of other Euphorians.
> 
> Regards,
>    Juergen
> 
> 

Hi there,


I did a circle packing program quite a while back, where all the 
circles are the same diameter, and had to fit inside a much larger
circle.  It was used to test winding toroid core inductors, to see
if the theoretical number of turns for a given design would really
fit on a particular magnetic core using a given required wire gauge.

I even went as far as to create a bitmap picture of all the circles
inside the larger one just to be able to get a view of the cross
section before it's actually wound, which turned out to be rather
cool once you get up into the thousands of circles inside the larger
one.  The smaller circles begin to take on spiral-like patterns.
Actually though even for a small number of circles it's interesting to
see the cross section so you can see how much space is left in the
toroid window.  It becomes very apparent why even one more wire turn wont
fit sometimes because the whole window is truely almost fully packed.

I've read that a good solution to this problem is obtained by allowing
the smaller circles to 'vibrate' inside the larger one until they reach
optimum packing.  I dont think this will work for the current Contest
however because the circles are all of different diameters, which requires
a different strategy than vibrating or the one i used or perhaps some clever
geometry.


Take care,
Al

And, good luck with your Euphoria programming!

My bumper sticker: "I brake for LED's"

new topic     » goto parent     » topic index » view message » categorize

5. Re: Programming Contest: Circle Packing

Al Getz wrote:

> Juergen Luethje wrote:
>>
>> cklester wrote:
>>
>>> Juergen Luethje wrote:
>>>>
>>>> I stumbled across a programming contest, maybe someone is interested
>>>> in it.
>>>
>>> That looks fun! I'm too busy, though. :(
>>>
>>> I hope a Euphorian takes up the challenge and lets us know how it goes! :)
>>
>> I would like to do it myself, but I'm afraid that's above me. sad
>> So I'm also curious about solutions of other Euphorians.
>>
>
> Hi there,
>
> I did a circle packing program quite a while back, where all the
> circles are the same diameter, and had to fit inside a much larger
> circle.  It was used to test winding toroid core inductors, to see
> if the theoretical number of turns for a given design would really
> fit on a particular magnetic core using a given required wire gauge.
>
> I even went as far as to create a bitmap picture of all the circles
> inside the larger one just to be able to get a view of the cross
> section before it's actually wound, which turned out to be rather
> cool once you get up into the thousands of circles inside the larger
> one.  The smaller circles begin to take on spiral-like patterns.
> Actually though even for a small number of circles it's interesting to
> see the cross section so you can see how much space is left in the
> toroid window.  It becomes very apparent why even one more wire turn wont
> fit sometimes because the whole window is truely almost fully packed.

Interesting!

> I've read that a good solution to this problem is obtained by allowing
> the smaller circles to 'vibrate' inside the larger one until they reach
> optimum packing.  I dont think this will work for the current Contest
> however

Letting the smaller circles 'vibrate' was actually my first idea for the
contest! smile I just don't know how to write a program that does do so.

> because the circles are all of different diameters, which requires
> a different strategy than vibrating or the one i used or perhaps some clever
> geometry.

Are you sure that 'vibrating' will not lead to good results, just
because the circles are all of different diameters? Maybe the small
circles would roll into the space between the bigger ones?

Regards,
   Juergen

-- 
Have you read a good program lately?

new topic     » goto parent     » topic index » view message » categorize

6. Re: Programming Contest: Circle Packing

Juergen Luethje wrote:
> 
> cklester wrote:
> 
> > Juergen Luethje wrote:
> >>
> >> I stumbled across a programming contest, maybe someone is interested
> >> in it.
> >
> > That looks fun! I'm too busy, though. :(
> >
> > I hope a Euphorian takes up the challenge and lets us know how it goes! :)
> 
> I would like to do it myself, but I'm afraid that's above me. sad
> So I'm also curious about solutions of other Euphorians.
> 

I went ahead and gave it a try, and I'm currently #9 after my first attempt.
I'm sure I can eek out a bit more using the same approach, but I suspect that
I'll need to figure out a different angle of attack to challenge the leaders.

Here's a link to the standings:
http://www.recmath.org/contest/standings.php

Matt Lewis

new topic     » goto parent     » topic index » view message » categorize

7. Re: Programming Contest: Circle Packing

Juergen Luethje wrote:
> 
> Al Getz wrote:
> 
> > Juergen Luethje wrote:
> >>
> >> cklester wrote:
> >>
> >>> Juergen Luethje wrote:
> >>>>
> >>>> I stumbled across a programming contest, maybe someone is interested
> >>>> in it.
> >>>
> >>> That looks fun! I'm too busy, though. :(
> >>>
> >>> I hope a Euphorian takes up the challenge and lets us know how it goes! :)
> >>
> >> I would like to do it myself, but I'm afraid that's above me. sad
> >> So I'm also curious about solutions of other Euphorians.
> >>
> >
> > Hi there,
> >
> > I did a circle packing program quite a while back, where all the
> > circles are the same diameter, and had to fit inside a much larger
> > circle.  It was used to test winding toroid core inductors, to see
> > if the theoretical number of turns for a given design would really
> > fit on a particular magnetic core using a given required wire gauge.
> >
> > I even went as far as to create a bitmap picture of all the circles
> > inside the larger one just to be able to get a view of the cross
> > section before it's actually wound, which turned out to be rather
> > cool once you get up into the thousands of circles inside the larger
> > one.  The smaller circles begin to take on spiral-like patterns.
> > Actually though even for a small number of circles it's interesting to
> > see the cross section so you can see how much space is left in the
> > toroid window.  It becomes very apparent why even one more wire turn wont
> > fit sometimes because the whole window is truely almost fully packed.
> 
> Interesting!
> 
> > I've read that a good solution to this problem is obtained by allowing
> > the smaller circles to 'vibrate' inside the larger one until they reach
> > optimum packing.  I dont think this will work for the current Contest
> > however
> 
> Letting the smaller circles 'vibrate' was actually my first idea for the
> contest! smile I just don't know how to write a program that does do so.
> 
> > because the circles are all of different diameters, which requires
> > a different strategy than vibrating or the one i used or perhaps some clever
> > geometry.
> 
> Are you sure that 'vibrating' will not lead to good results, just
> because the circles are all of different diameters? Maybe the small
> circles would roll into the space between the bigger ones?
> 
> Regards,
>    Juergen
> 
> -- 
> Have you read a good program lately?
> 
> 

Hi there Juergen,


Actually when i said that i was thinking the vibration would move
all the circles the same way, and since some are larger, the larger
ones would move less than the smaller ones relative to their diameter.
Maybe this would work anyway...i havent given a great deal of thought
to it :(


Take care,
Al

And, good luck with your Euphoria programming!

My bumper sticker: "I brake for LED's"

new topic     » goto parent     » topic index » view message » categorize

8. Re: Programming Contest: Circle Packing

Matt Lewis wrote:
> 
> I went ahead and gave it a try, and I'm currently #9 after my first attempt.

Awwww yeah! Looks like Matt's gonna take it!

I have a few questions, though:

+ Why the distinction (on FAQ page) between "disc" and "circle?"
+ I don't understand how to get the circles. It says submit a solution for
  5 to 50 circles, so that means the first set of circles has a group
  of circles with radii 1, 2, 3, 4, and 5?
+ In the standings table, what does the column "# Sub" mean?

-=ck
"Programming in a state of EUPHORIA."
http://www.cklester.com/euphoria/

new topic     » goto parent     » topic index » view message » categorize

9. Re: Programming Contest: Circle Packing

Matt Lewis wrote:
> 
> Juergen Luethje wrote:
> > 
> > cklester wrote:
> > 
> > > Juergen Luethje wrote:
> > >>
> > >> I stumbled across a programming contest, maybe someone is interested
> > >> in it.
> > >
> > > That looks fun! I'm too busy, though. :(
> > >
> > > I hope a Euphorian takes up the challenge and lets us know how it goes! :)
> > 
> > I would like to do it myself, but I'm afraid that's above me. sad
> > So I'm also curious about solutions of other Euphorians.
> > 
> 
> I went ahead and gave it a try, and I'm currently #9 after my first attempt.
> I'm sure I can eek out a bit more using the same approach, but I suspect that
> I'll need to figure out a different angle of attack to challenge the leaders.
> 
> Here's a link to the standings:
> <a
> href="http://www.recmath.org/contest/standings.php">http://www.recmath.org/contest/standings.php</a>
> 
> Matt Lewis


Hey not bad Matt!  Im wondering if you submit a second set of solutions
do they throw out the first set or average them in with the second?

If i get a chance to modify my 'all circles the same size' program
ill give it a try, although i can see i'll have to use a different
strategy for the incremental size diameters.  I was also thinking
of going with the max of 20 digit solutions (i think it's 20).


Take care,
Al

And, good luck with your Euphoria programming!

My bumper sticker: "I brake for LED's"

new topic     » goto parent     » topic index » view message » categorize

10. Re: Programming Contest: Circle Packing

Matt Lewis wrote:

<snip>

> I went ahead and gave it a try, and I'm currently #9 after my first attempt.

... out of 2037 total submissions!! Congratulations.

> I'm sure I can eek out a bit more using the same approach, but I suspect that
> I'll need to figure out a different angle of attack to challenge the leaders.

Well, there is some time left until the end of the contest, so I think
we can be curious about the future development. smile

> Here's a link to the standings:
> http://www.recmath.org/contest/standings.php

Regards,
   Juergen

new topic     » goto parent     » topic index » view message » categorize

11. Re: Programming Contest: Circle Packing

cklester wrote:

> Matt Lewis wrote:
>>
>> I went ahead and gave it a try, and I'm currently #9 after my first attempt.
>
> Awwww yeah! Looks like Matt's gonna take it!
>
> I have a few questions, though:
>
> + Why the distinction (on FAQ page) between "disc" and "circle?"

If you as native English speaker do not know, how can I know? blink

> + I don't understand how to get the circles. It says submit a solution for
>   5 to 50 circles, so that means the first set of circles has a group
>   of circles with radii 1, 2, 3, 4, and 5?

I think so, but this point is unclear for me, too.
It also says: "Pack n non-overlapping circles with radii from 1 to N ..."
I believe they mean that radii must be integers (but I didn't find such
a statement in the description). With that prerequisite, I think we can
draw the conclusion like you did.

> + In the standings table, what does the column "# Sub" mean?

I don't know.

Regards,
   Juergen

-- 
Have you read a good program lately?

new topic     » goto parent     » topic index » view message » categorize

12. Re: Programming Contest: Circle Packing

> + In the standings table, what does the column "# Sub" mean?

The last column says "Last Improvement" so I'm going to say "# Sub"
means "Number of Submissions"

new topic     » goto parent     » topic index » view message » categorize

13. Re: Programming Contest: Circle Packing

cklester wrote:
> 
> Matt Lewis wrote:
> > 
> > I went ahead and gave it a try, and I'm currently #9 after my first attempt.
> 
> Awwww yeah! Looks like Matt's gonna take it!
> 
> I have a few questions, though:
> 
> + Why the distinction (on FAQ page) between "disc" and "circle?"

I don't know.

> + I don't understand how to get the circles. It says submit a solution for
>   5 to 50 circles, so that means the first set of circles has a group
>   of circles with radii 1, 2, 3, 4, and 5?

Yes.

> + In the standings table, what does the column "# Sub" mean?

You submit your solutions one set at a time.  So to submit a 'full' solution,
you'll have 46 submissions (N=5,6,7..,50).

Matt Lewis

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu