^^^^^ Above post EDITED ^^^^^ :)
All programs that get the tree wrong will no count, the ones that do get it right will be judged on speed. There will be a fairly good range of speeds too.
Printable View
^^^^^ Above post EDITED ^^^^^ :)
All programs that get the tree wrong will no count, the ones that do get it right will be judged on speed. There will be a fairly good range of speeds too.
Woss,Quote:
Originally posted by wossname
^^^^^ Above post EDITED ^^^^^ :)
All programs that get the tree wrong will no count, the ones that do get it right will be judged on speed. There will be a fairly good range of speeds too.
This sounds like a great idea for the contest, but I disagree. I think judgements and allowances should be made in 2 areas:
1) Speed
2) Accuracy.
And by accuracy, I mean not making it manditory that everyone get the exact right answer or be disqualified. You could weight the 2 in different ways, not necessarily 50-50.
Oftentimes in real life when we supply an answer to a problem that is not exactly accurate, it can be very helpful if it is received extremely quickly, and it is very close to being accurate.
If it were to be a weighted score, it should probably be weighted very, very heavily in favor of an accurate solution - perhaps in the range of 80..95%.
In any event, I think an MST is a good contest suggestion.
I think it could be cool with a MST contest, but I think wossname might have a bit of a head-start on the rest of us... He seems to know this stuff...
I'm sure wossy wouldn't mind helping out with the contest set-up rather than taking part himself. He's a smart guy you know. :)Quote:
Originally posted by McCain
I think it could be cool with a MST contest, but I think wossname might have a bit of a head-start on the rest of us... He seems to know this stuff...
When he said disqualify wrong solutions, he mean only discount them from that particular data set, not the enire contest. An MST program that doesn't produce the MST is useless. There is always a MST length for any 2d data set (there may be many solutions with the same value but they are all legal too).
I'll ask him to start setting it up right away, for VB.NET that is. It should be an excellent opportunity to demonstrate OOP.
If the mods like the base project (that you can all download and build upon to form your entries) they can have it to use as a future contest if they like. Sounds a bit more popular than this ants nonsense.
Yes I do see it as a good idea that we should plan to do but if you don't like any current contest you may aswell keep it to your self unless your gonna be constructive about it. I've recieved PMs off other members who are taking part in this contest but don't want to give good ideas away so even though your posting this stuff how this contest is no good others are doing it so not everyone shares your opinion.Quote:
Posted by WonkoTheSane/Wossname
If the mods like the base project (that you can all download and build upon to form your entries) they can have it to use as a future contest if they like. Sounds a bit more popular than this ants nonsense.
yes i feel you should you are are putting other members off the contest, if you dont like it ait untill he next one!
Can we keep this thread to contest ideas :) its getting a bit chit chatty :)
I know that this is a Visual Basic Forum but could some of the contests be open to C#?
Or any other language!Quote:
Originally posted by john tindell
I know that this is a Visual Basic Forum but could some of the contests be open to C#?
Dont base the judging on the code, base it on efficiency, or Design, whatever the type of the contest is!
Speaking of trees... What about making an ID3 (Identification Tree)? We could also ask for the TSP (Traveling SalesMan Problem) to be solved... The most creative approach could win, you know...
Just a couple of suggestions... I haven't had time to even check the contests, you know... :rolleyes:
How about creating a control that draws a gauge, e.g. like a gas gauge, volt meter etc on a form?
The size, placement, colors, border and maybe even shape (round vs rect.) could all be programmable,
along with range, e.g. 0-100, -15 to +15, Empty to Full etc.
Number of "ticks", label(s),
idiot light warning if a specified min or max level is reached, e.g. "Overheating!"
Orientation, e.g. horizontal vs vertical.
Needle direction from min to max, e.g. left to right, down to up, CW/CCW etc.
And, of course, drawing the needle/indicator itself at a specified value.
I wouldn't participate since I've already done much of this while playing with VB.NET, but I'd love to see what other can do.
A much simpler project might be a thermometer style indicator. Just thinking.
DaveBo
There's only a few guidelines for a good contest:
1: It has to be competitive! I know that's the nature of the contest, but I mean much more 'direct' competition, like the pathfinder (in other words, no judging, just a contest that is self explanatory in who won).
2: It has to require some constructive thinking. I don't mean creative thinking, like for the GUI project, I mean trying to come up with some crazy pathfinding (did I mention I liked contest #2?).
3: ... no that's pretty much it. More competition and the right amount of difficulty = gold!
Somewhat similar to the traveling salesman I think... Elevator program.
Given
2 elevators,
number of floors,
movement rate,
wait time per floor,
and traffic info (similar to maps provided for pathfinder) per person
timestamp
floor in
floor out (destination) for each load
Make an algorithm that makes efficient use of the elevators. Services all traffic in the least amount of time; in terms of processing speed (algorithm speed) and also the duration of the result set (movement rate * floors spanned + wait time).
Other considerations
- as in real life, once it goes down/up keeps going down/up until there is no inputted destination
- on max load, max number of person count, skip next destination unless someone has to go off the elevator.
- traffic info is queued per floor, to facilitate processing of max load consideration
- if the person is not going the same way as elevator he does not get on elevator.
Thats it for now. :)
I like this a lot. We should do this. It would be a good candidate for having an interface (or a base class) that everyone should implement (derive from). I could do a .net IElevator interface if needed.Quote:
Originally Posted by leinad31
Thanks.
Although the constraints still need some ironing out. I think the weight aware feature (in addition to max load which is required) should be an algo option instead (up to the programmer if he'll implement it) rather than required.
The metrics for evaluating algo performance also needs to be itemized.
Since its a real-world problem, why not just use time as a measure of quality.
A lift has a terminal vertical speed (can be expressed in Floors Per Second) and a time required to accelerae to that speed. Then you have the time taken to open/close the doors and allow passengers to embark/disembark.
Let each floor of the building be a Stack of people that have all pressed the "summon elevator" button. The simulation wouldn't need to run in real time, just as long as it adds up the times to an imaginary clock.
You could then test the algorithm with a test set of say a 20 storey building and 25 people placed on random floors.
The algorithm should use the least time possible to move each person to their desired destination (which is not known until the person enters the lift naturally). The lift knows how many people are waiting at each floor by the number of times that floors "summon elevator" button has been pressed.
Once a person has reached his destination he is removed from the simulation and (maybe) points are scored.
A person gets bored after X seconds of waiting for the elevator and takes the stairs instead. Points are lost for every time someone uses the stairs.
System variables: (will change to allow varying levels of dificulty that the algorithm must be able to cope with)
- Number of floors
- lift capacity (number of people on board maximum)
- initial number of people in simulation
- Boredom / Stairs threshold (in seconds)
This sounds really interesting to me, what do you others think?
All of this logic can be taken care of in the Interface or Base Class that everyone would be given. All the competitor would have to do is write the movement rules for the lift.
This could be brilliant.
I think it should be a console app too, keep things focused on the job in hand rather than fancy GUI. Console apps are dead easy. Makes it easy to do an ascii art representation of the building and the number of people per floor...
Quote:
Originally Posted by wossname
Very interesting idea,
I'll speak to electroman and manvo and see what they think, its not too much the lack of ideas at the moment this thread contains a lot Its more the fact there hasnt been enough interest, I'm(along with Manvo And Electroman) willing to put this together bu its the interest that is the issue :)
Good points made though, keep them comming :)
I'll throw together a .net base class called Elevator and put all the timing stuff and housekeeping in there so everyone's on a level playing field.
All that is required from the competitors is a single class that derives from Elevator.
I think the Elevator Simulation is a great idea.
Wouldn't it be more realistic if the elevator didn't know how many people are waiting until after it stopped? When I get to an elevator that has already been summoned I'm just as likely to not push as I am to push several more times! (depending on my patients ;) )Quote:
Originally Posted by wossname
Perhaps I missed it in the specs, but there should be two "summon elevator" buttons - Up and Down.
To throw a realistic twist to it, the "Down" button could be pushed, but the person really wants to go UP! There's no algorithmic puzzle here, it's just that the elevator has just wasted some time in stopping; and the person is now going in the wrong direction whilst taking-up valuable space.
Personally, I think that the driver program that would test the contest entries might, in itself, make a good contest. :)
I think we have a goal to aim for which is over and above what a normal elevator does. Elevators in the real world are dumb, they just go there they are told. This contest should be about the lift that is most efficient at gettings people from one place to another. I think letting it know how many people there are waiting on each floor is a useful thing for it to know because it lets the competitors code a lift that has come kind of forward planning and simple determination.Quote:
Originally Posted by bpd
I suggest we just keep 1 summon button for now, and let each person (in the sim) hold their desired floor number internally as a member. When they get in the lift, the lift knows where they want to go and adjusts its plans accordingly.
We can always fine-tune the details later on before the contest starts.
Have the program read in a text file to decide when and where passengers arrive :)
I didn't suggest real time so as to simplify calculation, one metric to express movement rate, and wait time. Such as 1 flr per tick, and when elevator stops for load/unload 2 ticks.
There also has to be a timeline. In the real world, everyone doesnt press the button on each floor at the same time. You have people arriving as the elevator is moving.
The queue per floor is necessary to facilitate determination of who gets on for cases wherein the max load is exceeded if all people on the floor are accomodated. And also to facilitate additional people coming in at a later tick while the elevator is moving.
I have to agree with bpd, the flag for up anddown should be for each floor not each person. Once its pressed, its more realistic if it doesnt know how many other persons are also going in the same direction.
Thanks for the additional input.
I hope the base class is finalized soon.
D'oh! I left it at work. Sorry, you'll have to wait til next week.Quote:
Originally Posted by leinad31
I had already built in the ability to let people arrive at any time during execution of the algorithm. :)
I have classes for the following:
Elevator
Floor
Person
The elevator will contain an array of floors, which in turn contains a Queue of person objects. Floor and Person will be NotInheritable. The elevator will only be allowed access to certain information, via public properties in Floor and Person classes. Most data will be hidden from it.
Well,
i suggest all members to submit their hard work on a project that they made in VB,VB.Net,C,C++ and let the other users vote for them!
Or
a contest for gui, internet related program (example: custom web browser control), a 3D Game!
Many options! :thumb:
...most of them unsuitable.Quote:
Originally Posted by DarkX_Greece
A web browser would leave security issues open and would be too much work to do from scratch.
I doubt many people would submit their old programs on copyright grounds.
Not enough people (as far as I can tell) are adequately proficient (me included) in 3d graphics (except a few notable exceptions).
K.I.S.S.
Is that class just for .Net?
I suggest a sticky thread with a link in the Classic VB and Announcements sections for the duration of the contest. I'm guessing most people are unaware of this thread especially if they are like me who saved a bookmark to the Classic section instead of the main page.
Putting an announcement in the classic vb forum is not possible, most people know the contests are here,Quote:
Originally Posted by leinad31
It will be VB6 And Vb.Net (Seperate Contests)
Thanks For The Comments
I only code for .net these days yes. I think Pino wants to write a VB6 version based on my .net one though.Quote:
Originally Posted by leinad31
Yea I will be writing the vb6 version for the contest :)Quote:
Originally Posted by wossname
How about a maze designer, you could try and create a maze on a picturebox save it as a bitmap, then get some sort of path finder bot to go around the bitmap and the maze that needs the longest time to complete would win, not sure how they are made or how a pathfinder would cope with different mazes, just a suggestion. I'm probably not really proficient enough in vb (or vb.net) to make anything tyhis complex, just thought it might be a fun challenge for those who are.
KB04 :afrog:
I know this is a Vb forum, but why not some contest in different languages like java?
We have allready run a contest like this, (Number 2 i think Pathfinder Contest)Quote:
Originally Posted by KB04
The main reason is because of interest we wouldnt have enough people participating plus I am not good enough at java to run such a contest :)Quote:
I know this is a Vb forum, but why not some contest in different languages like java?
Pino
Pythagorean number generator.
How about a contest to write a "Contest Idea Generator" application. :rofl:
how about a logical sentance generator?
Logical sentence? Do you mean simplifying a logical sentence to prove if the statement is true using existing theorems for logic?
I think that's also a good idea.
I also have a suggestion, infix/postfix generating function.
Not what I was thinking, but a good idea!Quote:
Originally Posted by leinad31
I was thinking have a program that generated grammatically-correct sentances based on how many words you want.