Shop Mobile More Submit  Join Login
Nothing interesting here...

This riddle is designed to test the abilities and programming methodologies of software engineering candidates interested in employment at deviantART.

You can see the complete explanation of the problem here

I might even get some dA Buttons :bucktooth:

Making the UI took 3 times more than the problem itself lol
But I likez the lookz of itz... and it gave me an idea for a game :eyes:

Will scrap it soon...

Cheers

[EDIT July 30, 2007] Fixed some minor bugs, and added right click menu
Add a Comment:
 
:icondveditor:
DVeditor Featured By Owner Oct 2, 2007  Professional General Artist
This is incredible - while I'm not well versed in the ways of programming per se, I can certainly appreciate the complexity! Very nicely done. :nod:
Reply
:iconcatluvr2:
catluvr2 Featured By Owner Sep 28, 2007  Hobbyist General Artist
:O Weren't you an = when you submitted this?
Reply
:iconartbit:
ArtBIT Featured By Owner Sep 28, 2007  Hobbyist Digital Artist
...yeeeees... why?
Reply
:iconcatluvr2:
catluvr2 Featured By Owner Sep 28, 2007  Hobbyist General Artist
Just wondering when you got the $...

OH! :slow: Must have been when you won, huh?
Reply
:iconartbit:
ArtBIT Featured By Owner Sep 28, 2007  Hobbyist Digital Artist
...won? :?

The dA Riddle was not a competition, it was a real life problem that you would meet everyday if you were an IT developer for dA...
It was a way to "filter" the applicants that could be considered for the job from the ones that couldn't...
Reply
:iconcatluvr2:
catluvr2 Featured By Owner Sep 28, 2007  Hobbyist General Artist
Oh, right. :P It seemed like a competition to me. :slow:
Reply
:iconskyrail:
Skyrail Featured By Owner Sep 8, 2007
It's funny how with a bit of math and physics you can create a dynamic program as such with realistic properties. And to think that this could be taken on (in other languages) made 3D, react to other objects within it, try it underwater and everything. All with changing maths and physics. It's awesome. Both the game and physics.

Would it be possible to make it full screen and add objects...and a scrolling screen 'world' >_> maybe I'm thinking up of things that would take a long long time to code and you'd need a lot of free time heh, but the idea is cool. And this is fun :thumbsup:
Reply
:iconartbit:
ArtBIT Featured By Owner Sep 8, 2007  Hobbyist Digital Artist
Yeah, I guess it could, not so hard to code, but there would definitely be some hard work required.
But this is not exactly a game, that's an user interface for the code that solves dA Riddle.
It just allows you to visually describe the server/connections problem, instead of typing it in the code.

Cheers
Reply
:iconskyrail:
Skyrail Featured By Owner Sep 8, 2007
I posted this comment on the wrong deviation :P yeh, I remember looking at it when it was 'released' lol, looked too confusing for my likings :)
Reply
:iconartbit:
ArtBIT Featured By Owner Sep 8, 2007  Hobbyist Digital Artist
lol, what is the deviation that this comment was aimed at?
Reply
:iconskyrail:
Skyrail Featured By Owner Sep 9, 2007
Your rope sim one found here: [link] :giggle: my bad.
Reply
:iconartbit:
ArtBIT Featured By Owner Sep 9, 2007  Hobbyist Digital Artist
ah, lol, ok :D
Reply
:iconskyrail:
Skyrail Featured By Owner Sep 8, 2007
Right I posted this on the wrong deviation :laughing: oh how stupid am I. Right person though, I'm actually talking about your rope simulation here :slow: oh well. Might as well comment about this to, good GUI for solving the riddle :) erm...that's about it I guess, I'm having much more fun with the rope lol.
Reply
:iconmizra:
Mizra Featured By Owner Aug 13, 2007  Professional Digital Artist
TO be completely honest... I would SUCK at being a programmer for DA. I didn't even know what the heck I was doing. I just made a pretty little pattern.

:faint:

It's great technical work and a clear representation of both your taste and style and that of the intricate and puzzling delicacies of the internal rhythm that is deviantART.
Reply
:iconartbit:
ArtBIT Featured By Owner Aug 14, 2007  Hobbyist Digital Artist
:O
Reply
:iconmizra:
Mizra Featured By Owner Aug 14, 2007  Professional Digital Artist
:giggle:
Reply
:iconindy90:
Indy90 Featured By Owner Aug 11, 2007
Very cool. Good job.
Reply
:iconandrejact:
andrejACT Featured By Owner Aug 7, 2007
can you tell me how to apply for programming job at deviant art?
Reply
:iconartbit:
ArtBIT Featured By Owner Aug 7, 2007  Hobbyist Digital Artist
I noted you...
Reply
:iconarrioch:
arrioch Featured By Owner Aug 2, 2007  Professional Interface Designer
Shto vishe klikcem, kao da osecam da mi pada inteligencija.. :slow:
Kewl izgleda, otprilike sam ukapirao, kad sam prochitao tu zagonetku o chemu se radi.. Otprilike..
Reply
:iconartbit:
ArtBIT Featured By Owner Aug 2, 2007  Hobbyist Digital Artist
Ma nije zagonetka za mozganje, opusti se.
Ovo je samo interfejs za unos servera i mogućih veza izmedju njih, a kad klikneš solve, on nadje najoptimalnije rešenje tako da postoji put između bilo koja dva servera, a pod najoptimalnijim mislim sa najmanje kabla :bucktooth:
Reply
:icontex777:
Tex777 Featured By Owner Aug 1, 2007
And by that I mean make them long and 'solve'
Reply
:icontex777:
Tex777 Featured By Owner Aug 1, 2007
It seems if you try to get long with all the connections it makes the app slow down immensly.
Reply
:iconartbit:
ArtBIT Featured By Owner Aug 1, 2007  Hobbyist Digital Artist
You mean, if you add many nodes, and connect each with everyone, it gets slow?
Well that's natural, since if you have, say 10 nodes, and inter connect everyone of the nodes, you will have 9+8+7...+1 (or 45) links, and I need to choose 9 links out of 45, and I can do that in 45!/((45!-9!)*9!) ways, which is exactly 886 163 135. And since I need to find the BEST solution, I have to traverse through all 886 million combinations, which is quite a lot.
For 11 fully interconnected nodes, this number rises to 29 248 649 430.
For 12 it's 1 074 082 795 968 and so on.
So you can see, it rises pretty quick.

You see, Flash is not built to handle it, but has a nice GUI :P
...but I guess if you give it enough time it will solve it, (eventually :paranoid:) since I think I've been quite easy on memory consumption...
Reply
:icontex777:
Tex777 Featured By Owner Aug 3, 2007
Those darn exponential problems. :shakefist: Yeah, I see now. xD Congrats, I think you just made my brain explode. :D I like math but some of the concepts are hard to grasp at fist, but that much I understand.

Rofl, that sounds like windows. >>
Yep yep.
Reply
:iconartbit:
ArtBIT Featured By Owner Aug 5, 2007  Hobbyist Digital Artist
=D Sounds like Windows indeed...
Reply
:iconformor:
Formor Featured By Owner Jul 30, 2007
If you keep pressing the mouse over and over again, a large "ring" develops ... I am wondering if the best solution here would not be to do a circular pattern of wiring, that way to have more accessibility to all of the servers as well as cut down on the heat the machines produce by having them face one another an such ... the possible solution might actually lie in total amount of actual space in which the servers exist ... these are just my thoughts on this matter, I'm not sure about any of this really ... triangular patterns might work, too ... why focus on the length of the cable only?
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
Well, the optimal topology for conecting the servers would be a star or spread star network topology. The problem here is that not all servers are equal in the terms of importance and accessibility. Some servers are used only for storing certain data, some are proxy servers etc. and they should be connected only to certain type of servers. Also there are physical barriers between them, and other relevant factors that influence the problem thesis.
This interface is not used to design the most optimized solution, but to describe the problem. You enter the number of servers, and place ALL THE POSSIBLE connections with their lengths, and the SOLVE function returns the most optimized solution, with the shortest TOTAL LENGTH.
So this is only a visual way of entering data for the code I made.

But it can be used for fun, I guess :D
Reply
:iconformor:
Formor Featured By Owner Jul 30, 2007
Oh, no, okay, now I see ... the answer is the question ... best possible connection ... with the varuous servers there. I am beginning to understand it better somewhat ...
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
The visual part is for entering data only, a way to describe the problem so to speak, not designing the network. The solve button, gives you a subset of the links you made, the one that would assure that all the servers(nodes) are connected and that the total ammount of links is the shortest.
Reply
:iconformor:
Formor Featured By Owner Jul 30, 2007
Actually, this is somewhat interesting to play around with ... I like drawing out triangles :D
Reply
:iconsimeeec:
SimeeeC Featured By Owner Jul 30, 2007
This really confused me...
Cool though.
Reply
:icondeep-static:
Deep-static Featured By Owner Jul 30, 2007
Gah, just realised what it does. Not traversing graphs! Abstract Math bad!! Bad!!
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
:P
Reply
:icondeep-static:
Deep-static Featured By Owner Jul 30, 2007
UI took 3 time as long as the back end... where have I heard that before lol. I've spent so long doing the UI for a tile puzzle game (you know, 15 tiles, one space, move them into order) and all I'm being marked on is the algorithm to solve it I have to do for my A.I. paper >.<
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
Yeah, I know. Polishing your product for the end user is teh sex! XD
Reply
:iconhappyeugene:
HappyEugene Featured By Owner Jul 29, 2007
that problem is the "task of shortest way finding" solving by Graph theory. :) when I wuz a student I did write some code on turbo pascal 7.0 solving that task by a recursive algorythm using dynamic variables. Can't say it was easy one to wrote ;)
In this riddle you've forgot to add a length of each rib(a line between two vertex) and as the result you have length of 1m...
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
Yeah I know, I learned about Graph theory while I was on faculty of Mathematics (around 8 yrs ago), but only the math part of it, no programming implementation.
As for the length of the links, you can click on it and change the length by typing the new length in the window on the right, the default value is 1, that's why you get n-1 meters as the solution for n nodes.

Cheers :)
Reply
:iconpsykopath:
psykopath Featured By Owner Jul 29, 2007
Uh oh...
I made a circle and clicked solve, and it went fine. Then added one line across the circle clicked solve and got an unresponsive script error...
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 29, 2007  Hobbyist Digital Artist
Hmmm.... I tried to replicate the error but with no luck...
How many nodes did you add?
Reply
:iconpsykopath:
psykopath Featured By Owner Jul 29, 2007
Uh so its late and I forgot, and that minute became an hour or so, but I got around to it.

[link]

What I did was make the circle with criss-crossing lines, clicked solve, then added the line across the middle, clicked solve again and it died the error thing.

Thats what happened at the time, not when I made this. I haven't been able to recreate it again.
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 29, 2007  Hobbyist Digital Artist
Thanks, but I've found what might be the problem ;)
It seems that a floating point number slipped somewhere where integer was needed...

Cheers mate, and thanks
Reply
:iconpsykopath:
psykopath Featured By Owner Jul 30, 2007
No probs, I seem to have a knack for breaking things.
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 30, 2007  Hobbyist Digital Artist
=D
Reply
:iconpsykopath:
psykopath Featured By Owner Jul 29, 2007
I can't remember. Maybe 30. It may have been the pattern I made, I'll make something like it and screen cap. One minute.
Reply
:iconthe-titan:
The-Titan Featured By Owner Jul 29, 2007  Professional Digital Artist
yay i made a big circle.... nice
Reply
:iconsophiehoulden:
SophieHoulden Featured By Owner Jul 28, 2007  Professional General Artist
I'm too lazy to figure out what is happening, but I made a pentagram :aww:
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 28, 2007  Hobbyist Digital Artist
...have you lit any candles? :paranoid:
Reply
:iconsolitude12:
Solitude12 Featured By Owner Jul 28, 2007  Professional General Artist
This is exactly the way I had it pictured, of course not in flash. I think it's excellent to think outside of the box. Plus you are right, actionscript can easily be converted to javascript
Reply
:iconartbit:
ArtBIT Featured By Owner Jul 29, 2007  Hobbyist Digital Artist
Yeah, I converted it to jS, and I'm doing it for PHP as well, but no interface...
Reply
Add a Comment:
 
×




Details

Submitted on
July 28, 2007
Image Size
59.8 KB
Resolution
550×400
Thumb

Stats

Views
2,385
Favourites
15 (who?)
Comments
66
Downloads
40

License

Creative Commons License
Some rights reserved. This work is licensed under a
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
×