Didn't you save the zip?Quote:
Originally posted by alkatran
Sunday?!?! I wanna see the othe rpeople's algos now. :(
I ruined my algo trying a different pathing and I have to wait for my submission to be visible. :rolleyes:
Printable View
Didn't you save the zip?Quote:
Originally posted by alkatran
Sunday?!?! I wanna see the othe rpeople's algos now. :(
I ruined my algo trying a different pathing and I have to wait for my submission to be visible. :rolleyes:
Aw darn, I've been a few days away... might be I'll be posting a non-optimized code. The deadline is too soon in this case, I think. With prime numbers I had my code polished up two weeks before the deadline, with this one I'm still in development stage and have lots to do... running out of time here.
I would prefer faster deadlines just because once your done your ready to move on :). It should also be based on the toughness of the contest of course. Like this one is a bit harder than the PrimeNumbers was. Of course you can't satisfy everyone, maybe should put up a pole on a standard time frame that people would like to see used, and then just use the majority decision?
I implemented pathfinding in mine but I mucked something up big time, my algos memory is getting corrupted somewhere and not being set correclty or either the pathfinding algo is just reading the memory incorrectly somehow lol. Frustrating to say the least, it works great on maps like Prairies, but on the H map, depending on randoms I can get stuck in a loop where the pathfinder just starts running back and forth from two points, what makes it so annoying is I know the points have been crossed before and its impossible for a variable not to be set that would cause the pathfinder to ignore that point in future pathfinding procedures ... grrr :(
Humm... could someone post all the maps done already? Being away for a few days and some of those maps are completely new to me and I don't want to go through all the attachments :rolleyes:
I didn't zip it. It's a single visual basic module, not 3 bitmaps.
It doesn't matter. I was done with my code anyways. The changes I made slowed it down too much when it had to backtrack.
Route1 = 236
Route2 = 1052
Route3 = 394
Route4 = 664
Route5 = 1076
Route6 = 3536
Thats mine currently anyway :)
Yeah I know. Since it was late (1 AM) I really didn't bother to think of "clever" start and end points. You should really test it with with other locations as well.Quote:
Originally posted by StevenHickerson
Err nm about the Gridsize problem.. I was using one of the forms alk had uploaded and it had that error in the file contents.. once I fixed that it was fine.
4196 Points for lorem.txt :)
(Hint for Electroman, or just anyone who is building a form: make the start and end points truly random, but take care there is some considerable space in between them.)
My form: Run the maze with "Don't stop at end" checked and see what your fitness is when you've covered ALL the ground. I average ~45% fitness (about 50% weighted).Quote:
Originally posted by riis
Yeah I know. Since it was late (1 AM) I really didn't bother to think of "clever" start and end points. You should really test it with with other locations as well.
(Hint for Electroman, or just anyone who is building a form: make the start and end points truly random, but take care there is some considerable space in between them.)
Oh, fitness measures how many points you use for each square you check. A 100% fitness is 3 points per square (moving blind and not hitting walls or backtracking)
Mine learns so it should eventually on move not search as it already 'Remembers' the route :)
Could whoever the judges are let us know how these are going to be judged, like soon.
I need to know if they are going to be run multiple times and the average taken, one time and you get what you get or what. I have 3 different setups that I'm trying to decide on using, they all average about the same with one leading slightly in points, but the one leading slightly can be drastically behind if its a one shot you get what you get deal.
My suggestion on how to score them would be
Set up something like what I have setup up to run each map x number of times and run through all maps, then have the results reported. Give points for the apps with the Best "Best Score" (Best score from all x runs) and Points for the Best Average Score. As for the average I would say drop the highest score and take the average of the remainder. Now what this does for people who dont use random should have a fair chance of getting better averages than someone using random, although a random may beat their best score depending on how the Algos work. Dropping the highest score will drop the fluke extremely bad maps from the Random Algos.
But I would like to know soon how yall plan to score them so I can decide which code to optimize and sexify :bigyello:
Oh btw, working pathfinding rocks! The only map I still score higher than I would like on is that darn diagnol lines map that merri made. Still get like dern 14k + on it... darn that map. But I have some ideas to correct that without effecting my results to much on other maps, just need to know the scoring system so I can decide which version to go ahead with.
Yeah, it's leaving "breadcrumbs", and since the little guy is apparently hungry, he traces them back, in order to eat them ;)Quote:
Originally posted by StevenHickerson
Oh btw, working pathfinding rocks! The only map I still score higher than I would like on is that darn diagnol lines map that merri made. Still get like dern 14k + on it... darn that map. But I have some ideas to correct that without effecting my results to much on other maps, just need to know the scoring system so I can decide which version to go ahead with.
I'm having the same problem, since I implemented pathfinding, but other maps are going better :)
The best best score is not fair because only random algos can hit it. Random algorythms should have the same average potential as the non-random so let's just stick with the average.Quote:
Originally posted by StevenHickerson
Could whoever the judges are let us know how these are going to be judged, like soon.
I need to know if they are going to be run multiple times and the average taken, one time and you get what you get or what. I have 3 different setups that I'm trying to decide on using, they all average about the same with one leading slightly in points, but the one leading slightly can be drastically behind if its a one shot you get what you get deal.
My suggestion on how to score them would be
Set up something like what I have setup up to run each map x number of times and run through all maps, then have the results reported. Give points for the apps with the Best "Best Score" (Best score from all x runs) and Points for the Best Average Score. As for the average I would say drop the highest score and take the average of the remainder. Now what this does for people who dont use random should have a fair chance of getting better averages than someone using random, although a random may beat their best score depending on how the Algos work. Dropping the highest score will drop the fluke extremely bad maps from the Random Algos.
Not completely true, depends on the map and what direction the non random heads first. But I do see your point, given enough tests they should average out to around the same. But with only 10 tests or less the majority of the time a Random algo is gonna have a higher average than a non random algo (I have tested it both ways). Besides the object is to get a map finished with the best score possible so why not award points for the the best best score as well.Quote:
Originally posted by alkatran
The best best score is not fair because only random algos can hit it. Random algorythms should have the same average potential as the non-random so let's just stick with the average.
Here are my results from 3 different methods in 10 runs:
(Note the average drops one highest result)
Syntax: Name,Best,Highest,Average
NonRandom: 'Note on my non random, it does choose randomly at the start of each map which direction its gonna head first but thats the only random it chooses. I feel fully non random is just an incoherrent sloppy way to do it. But this is why the scores arnt the same across the board for each map.
Route3.txt, 392, 482, 437
Route1.txt, 236, 366, 301
Route2.txt, 874, 1400, 1006
h-maze.txt, 1970, 1970, 1970
minastirith.txt, 1342, 2778, 2060
prairies.txt, 3671, 4031, 3761
route2i.txt, 2008, 2572, 2290
route4.txt, 488, 572, 551
route5.txt, 758, 1076, 996
route6.txt, 1546, 1684, 1580
AverageOverall: 1495
FullRandom:
Route3.txt, 430,678,516
Route1.txt, 244,340,276
Route2.txt, 1198,2004,1399
h-maze.txt, 1364,2468,1772
minastirith.txt, 662,2730,1784
prairies.txt, 2259,6527,4353
route2i.txt, 780,2766,1666
route4.txt, 474,1078,784
route5.txt, 744,1742,1294
route6.txt, 1382,2842,1774
AverageOverall: 1563
PSeudoRandom: 'My own little secret combination of random and non random :)
Route3.txt, 342,502,404
Route1.txt, 262,366,303
Route2.txt, 624,1732,1352
h-maze.txt, 938,2178,1434
minastirith.txt, 1284,2468,1721
prairies.txt, 2875,6617,3965
route2i.txt, 1386,2676,1860
route4.txt, 540,972,786
route5.txt, 1036,1532,1230
route6.txt, 1050,2742,1715
AverageOverall: 1477
Now as you can tell each one does better on some maps.. but my Pseudorandom pulls out ahead on average by a little bit. FullRandom is in last for average and non random in the middle. The bad thing is my PseudoRandom is ahead by such a small amount that a couple bad maps could make it actually be behind the NonRandom. The NonRandom will stay pretty consistent in its scores. I figure NonRandom should be + or - about 50 or 100 points on average, FullRandom + or - about 400 or 500 and PseudoRandom + or - around 100 or 150 points.
Thus my dilemma lol, I still have some more optimizations to do to get the scores down some more, but like I said I'm trying to decide which one to go with. And if the scoring method is going to be fair to Randoms I'll be going with my PSeudoRandom setup.
Anyway have a look at those 3 sets of numbers and tell me how you think the scoring could be set up to be fair to all kinds of setups, and if anyone out there has a truely complete non random (as I said my non random chooses one random at the very beginning to get the initial direction) set of scores feel free to post them so we have a good comparable set.
In case you missed my post which i explained the scoring system it is here: http://www.vbforums.com/showthread.p...postid=1804057Quote:
Posted by StevenHickerson
Could whoever the judges are let us know how these are going to be judged, like soon.
I need to know if they are going to be run multiple times and the average taken, one time and you get what you get or what. I have 3 different setups that I'm trying to decide on using, they all average about the same with one leading slightly in points, but the one leading slightly can be drastically behind if its a one shot you get what you get deal.
My suggestion on how to score them would be
Set up something like what I have setup up to run each map x number of times and run through all maps, then have the results reported. Give points for the apps with the Best "Best Score" (Best score from all x runs) and Points for the Best Average Score. As for the average I would say drop the highest score and take the average of the remainder. Now what this does for people who dont use random should have a fair chance of getting better averages than someone using random, although a random may beat their best score depending on how the Algos work. Dropping the highest score will drop the fluke extremely bad maps from the Random Algos.
But I would like to know soon how yall plan to score them so I can decide which code to optimize and sexify :bigyello:
Oh btw, working pathfinding rocks! The only map I still score higher than I would like on is that darn diagnol lines map that merri made. Still get like dern 14k + on it... darn that map. But I have some ideas to correct that without effecting my results to much on other maps, just need to know the scoring system so I can decide which version to go ahead with.
But I still haven't decided whether an average will be taken (http://www.vbforums.com/showthread.p...postid=1804800), I'll decide this and let you know tomorrow though.
No I didn't miss that post Electro, as you can and probably did assume from reading my post I'm concerned with if your going to be taking averages or just one shot deal.
So guess I wont be able to do any more optimizations till after you say which tomorrow. IMO though if you say its a one shot deal it basically a big middle finger to anyone who codes it random :mad:
Well, thanks to my nice and long weekend, I couldn't even fix my code more. I posted it already (wasn't today the last day?). Electroman will be having fun time with the "advanced pathfinding" on bigger maps. I give a tip: compile the program before you run! Even after that, if you run it on a 300 x 300 map... have a nice day.
You can only blame the quick deadline on that one ;)
*sigh*
Feels bad to send unfinished code, but no time...
Steven, I do not agree with your opinion. The way how you implement your algorithm is a choice. You'll be lucky, or you'll be unlucky with your guess. I see that as a part of the game. If I would be afraid that my algorithm will perform badly, I would create a non-random algorithm.Quote:
Originally posted by StevenHickerson
So guess I wont be able to do any more optimizations till after you say which tomorrow. IMO though if you say its a one shot deal it basically a big middle finger to anyone who codes it random :mad:
The maps that are available, don't tell anything. They are not the maps which will be used for the final testing. Yes, it could be that non-random algorithms would be at advantage, but it could also be completely the other way around. (I'd be interested to see the maps after testing.)
Sorry to say, but the way you whine about this doesn't sound allright to me. Although I have a completely random algorithm, I don't feel offended by Electroman's decision (about the scoring system) tomorrow at all. So, please speak for yourself the next time. (Why not ask for the test maps themselves, so you can optimize your algo for them...)
Just pick one of your algorithms, the one who will perform best in unknown situations, and try to optimize it any further. Make sure it doesn't do any stupid things, and you should be doing reasonably well.
The deadline has been extended to next sunday, so you still have a couple of days to work on it any further. Electroman also has posted it on the first page of this thread.Quote:
Originally posted by Merri
Well, thanks to my nice and long weekend, I couldn't even fix my code more. I posted it already (wasn't today the last day?).
The arguments about random algos seem to be very biased towards supporting them. If you choose a random algo then you have a chance of getting a high score or a low one. The point of it being random is to have a gamble.
If it was a race and somebody made random turns they couldnt just take the average out of ten because the winner of the other nine obviously did better.
As to removing the largest one and makeing the average because it could be bad luck, shouldnt we also then remove the lowest based on good luck to make it fair? You chose random for its 'randomness' so you will have to accept the random outcome. :D
P.s I havent done a random one and I am getting worried that if these suggestions are taken it will be biased against me and all others who used full logic to solve the problem :)
I know the gamble of random. My main target was to try to make it random, but only when it is good to be random. I know I weren't able to do it with as high level as I wanted, I should have made a full recode and optimize the code and so on...
Maybe there should've been two different series for the contest: one for random pathfinders and second for full logic ones. Then we wouldn't have this somewhat nasty problem here because of completely different starting point. Imo it is hard to compare the two.
Aren't we using logic then? ;) The only thing that is random in my program is that it's completely unbiased in which direction the player should go the next move. There's no fixed set of rules from which it is electing the next direction. This choice determines nearly everything.Quote:
Originally posted by BodwadUK
P.s I havent done a random one and I am getting worried that if these suggestions are taken it will be biased against me and all others who used full logic to solve the problem :)
(There is one situation when the choice is not strictly random, but there also is no reliable way to predict in which direction the player goes next.)
As Merri suggested, two series of scores would be nice, since the starting point is different. But also the overall score would be interesting, since the test maps are completely unknown to us, so that is a random factor as well...
Ok fixed pattern logic :lol:
it would be nice to have two scores but they have quite alot of work to do anyway :afrog:
Nah, I believe there won't be all that many codes submitted as there were in the prime numbers contest. Prime numbers are rather easy to go with, you need to think in this contest a little bit more :D
I'll go with every entry only gets the one shot on each map. Using Random Pathfinding doesn't just mean you could be unlucky and get a bad score, it also means you can get a good score. Also if your algo really did mess up and get a bad score then it doesn't effect the overall too much as long as it performs well on the others. If all the scores from different maps were added together then I would see your point more.
P.S. the Algo I am planning on doing will be random(ish) too, however I suppose my score isn't going to count :(.
\/\/h3n 1s teh d3adline?
Sunday I think :)
I have just refined mine. Is it ok if I resubmit? :)
That's it. I'm putting A* star in mine and curshing you all. :afrog:
Yea I'm considering having that but don't think i'll have time to get one done.Quote:
Posted by alkatran
That's it. I'm putting A* star in mine and curshing you all. :afrog:
BTW yea you can resubmit.
Thanks, guess I'll be using my less random version. After stress testing all three of my versions, 100 runs each on all test maps I discovered that random will run badly the majority of the time. Theres just to many possibilites (2 to 3 at every junction) for it to get lucky enough often enough to only have one chance at each map.Quote:
I'll go with every entry only gets the one shot on each map. Using Random Pathfinding doesn't just mean you could be unlucky and get a bad score, it also means you can get a good score. Also if your algo really did mess up and get a bad score then it doesn't effect the overall too much as long as it performs well on the others. If all the scores from different maps were added together then I would see your point more.
If anyone is interested in knowing though in 100 runs the results for full random average from all the maps I posted earlier went up from 1563 to 2344. The results from PSeudoRandom went up from 1477 to 1940. And the results from my LowRandom (Called it NonRandom earlier) went from 1495 to 1580. Low random wins easily as the more reliable system.
If you misconstrued anything I said to be a whine then I'm sorry, it was far from it. It was more of a debate, I like random better because it feels more like the computer is deciding where to go. If you want to see what an actual whine looks like: ahh screw this crap this is obviously biased toward non randomers this is so unfair. That would be a whine, but I can adapt to any situation thats why I needed to know the scoring procedure :) I would not whine about anything about this contest, I've loved it. During this contest I was able to think out the theory and develop my own pathfinding Algo and that felt pretty good to me. Even if I come in dead last I'm happy cause I gained something from the contest.Quote:
Sorry to say, but the way you whine about this doesn't sound allright to me. Although I have a completely random algorithm, I don't feel offended by Electroman's decision (about the scoring system) tomorrow at all. So, please speak for yourself the next time. (Why not ask for the test maps themselves, so you can optimize your algo for them...)
Oh and what is A*?
I made more changes to the form, including fixing that bug and letting it load the 300x300 maps (it was too big before?)
Added a list box on the bottom to keep track of scores and a "run all" option.
Best addition is the random map generator. Simplest thing ever but it can give you some maps you wouldn't have thought of. ... random ones. lol
Oh, and clicking on the picture box now changes the position of the start/end points (left for start right for end)
I also refined the weighted map calculation. It now takes the 4th root (square root of the square root) of the map area / open area. This is because some maps were getting crazy fitness boosts.
I changed my algorythm to use floodfill pathing, as A* is excessive for this type of thing, and most of my scores dropped by 1%-5% (100 points on cave)
Average unweighted fitness is 45%. 50% weighted. (weighted means multiplied by the difficulty factor)
I also included all the maps I have with it.
Oh. And I cut the memory my algorythm uses by 1/4. It's 0 to 300 instead of -300 to 300now. :bigyello:
My stats:
and a screen shotCode:Map Name Score Fitness Map Difficulty
Cave 4531 45.35% 1.044
Grid 2836 42.31% 1.083
h-maze 2260 43.54% 1.104
lorem 4236 42.92% 1.137
Maze 946 38.37% 1.232
minastirith 2776 38.04% 1.155
nwselines 6350 48.90% 1.130
PipeLine 828 48.55% 1.236
Prairies 6317 53.66% 1.017
Sections 474 46.84% 1.035
Small Maze 198 45.45% 1.250
Symmetry 364 41.21% 1.191
http://www.vbforums.com/attachment.p...postid=1806747
This is what we call "excessive"
It paused for a good half second at the end when it had to make the best path back from the bottom corner to the top corner.
Hee, looks like I'll be competing with my really unfinished code. I have two reasons for this: first take a look in the signature. That's the reason #1. Then the second reason is that I got Rome: Total War. Additional reasons being Azumanga Daioh DVDs, Fire Emblem (and some other games) for GBA... yeah... I'm quite stuck on all these.
Atleast you know I'm not winning the contest. Unless Electroman manages to mess up the results... :D
I just made a nice little change to my pathfinder that made it work seemlessly with movement. Havn't tested it on a really large pathfind like in Lorem.. I can do that tonight just to see, but on maps like nweslines it can cover half the map without a blink. Before you could notice a pause while it traced out the path :)
Think I'm about ready to submit mine, but I'll probably wait till Saturday just in case I come up with another idea by then hehe.
Oh and Alk I downloaded your latest form just to do some of the random map testing, and like 9 times out of 10 it gives an unreachable finish lol. Good thing you also made it so you could move the start and finish points ;)
Well it's a completely random map, I tried to pick a good free-to-block ratio. And you never know, they might give us a map with no end and see if we can figure it out. :afrog:Quote:
Originally posted by StevenHickerson
I just made a nice little change to my pathfinder that made it work seemlessly with movement. Havn't tested it on a really large pathfind like in Lorem.. I can do that tonight just to see, but on maps like nweslines it can cover half the map without a blink. Before you could notice a pause while it traced out the path :)
Think I'm about ready to submit mine, but I'll probably wait till Saturday just in case I come up with another idea by then hehe.
Oh and Alk I downloaded your latest form just to do some of the random map testing, and like 9 times out of 10 it gives an unreachable finish lol. Good thing you also made it so you could move the start and finish points ;)
Damn it! I wish i had seen this contest sooner. :mad:
Whee, the entries are there.
I'm testing them now, I have 10 maps I've made and so far Merri's is the first i've tried and its upto the 10th map now, waiting for it to backtrace quite a distance and its taking ages :(. On the 5th map I was able to go and make my lunch, eat it then still had to wait for it to finish :lol:.
Yeah, I know how you must feel :D I warned you its slow. But I just couldn't regain the last bits of interest and competetivy (love is so fun) to improve it, so you have to enjoy the pain of the rough test code ;)
Well, atleast it runs without slowdowns if you disable the "advanced pathfinding"... it just isn't too smart. Though, due to some bugs, it isn't too great with it either. There are some complications with the original logic and the new onbuilt logic. But that's just like Windows and we know Windows is great and popular! :D
Results are in: http://www.vbforums.com/showthread.p...hreadid=308231