Comparing Virtual Nanobot Tactics

Ask questions about projects relating to: computer science or pure mathematics (such as probability, statistics, geometry, etc...).

Moderators: MelissaB, kgudger, Ray Trent, Moderators

Comparing Virtual Nanobot Tactics

Postby Cowintology » Sat Feb 23, 2008 4:36 pm

My question is in regards to the "Programming Nanorgs in a Virtual World." experiment. I am adapting the original project idea by comparing different programs and the tactics that may be presented, but recording the data at any interval becomes very tedious. I was wondering if it was possible to get ahold of Symantec's source code for the contest06.exe from which I could possibly derive the scores at certain intervals of time.

The project is done, but I feel that more data would be very helpful in proving my point.

Any help would be greatly appreciated.

Thank you
Cowintology
 
Posts: 4
Joined: Sat Feb 23, 2008 4:28 pm
Occupation: Student
Project Question: My question is in regards to the "Programming Nanorgs in a Virtual World." I am comparing different programs, but recording the data at any interval becomes very tedious. I was wondering if it was possible to get ahold of Symantec's source code for the contest06.exe from which I could possibly derive the scores at certain intervals of time.

Any help would be greatly appreciated.

Thank you
Project Due Date: March 20th
Project Status: I am finished with my experiment and analyzing the data

Re: Comparing Virtual Nanobot Tactics

Postby Ray Trent » Sun Feb 24, 2008 11:17 pm

I don't know for sure, but I tend to doubt that you can get access to the source code, because if they released it, people could reverse engineer the simulation to potentially gain some kind of unfair advantage in the contest.

Still, what kinds of data are you trying to extract... perhaps one of us can help figure out a way to acquire and collate your data more efficiently.
../ray\..
Ray Trent
Expert
 
Posts: 199
Joined: Wed Aug 24, 2005 3:07 pm

Re: Comparing Virtual Nanobot Tactics

Postby Cowintology » Tue Feb 26, 2008 2:43 pm

Thanks Ray

I have two programs. One program I have has the Nanorgs check sludge for toxicity, avoid harmful sludge, reprogram the drones, and repair other Damaged Nanorgs. The other program I have does the same thing, but does not check the sludge before having the nanorgs eat it in an attempt to get as much energy as possible.

Now, I theorized that the later Nanorgs could gather more energy than the others for several thousand ticks befor succumbing to toxins. To prove this, I need to compare these two programs under identical seeds many times. One or two runs, I feel, is not enough to prove anything.

I am forced to run the program and stop at each thousandth tick or so and record my data for both programs. If I could have it print the energy ammount in the command prompt screen at intervals of 1000 ticks or so, the process would be much easier.

Again, thank you for the reply.
Cowintology
 
Posts: 4
Joined: Sat Feb 23, 2008 4:28 pm
Occupation: Student
Project Question: My question is in regards to the "Programming Nanorgs in a Virtual World." I am comparing different programs, but recording the data at any interval becomes very tedious. I was wondering if it was possible to get ahold of Symantec's source code for the contest06.exe from which I could possibly derive the scores at certain intervals of time.

Any help would be greatly appreciated.

Thank you
Project Due Date: March 20th
Project Status: I am finished with my experiment and analyzing the data

Re: Comparing Virtual Nanobot Tactics

Postby sunbeam » Wed Feb 27, 2008 7:42 am

Cowintology wrote:I am forced to run the program and stop at each thousandth tick or so and record my data for both programs. If I could have it print the energy ammount in the command prompt screen at intervals of 1000 ticks or so, the process would be much easier.


Hi Cowintology, I think we could brainstorm a way around this.

Do the nanorgs have some idea of the simulation run time? Do they have some extra memory in storage? You could have each nanorg record the amount of sludge it has delivered over time, and then look at these data at the end of your simulations.

Can the nanorgs print to the screen? They could print a message every time they deliver sludge.

Let me keep thinking, I might come up with some more ideas. Let me know what you think as well. By the way, your hypothesis is really cool! It will be interesting to see at what point the nanorgs which check the sludge start to do better. I could imagine in some scenarios where time is short, and so it would be preferable to deploy the nanorgs which do not check the sludge. You are identifying the point of that trade-off.

Laura
sunbeam
Former Expert
 
Posts: 15
Joined: Thu Nov 08, 2007 9:57 am
Occupation: PhD Student in Electrical Engineering
Project Question: n/a
Project Due Date: n/a
Project Status: Not applicable

Re: Comparing Virtual Nanobot Tactics

Postby sunbeam » Wed Feb 27, 2008 10:39 am

I read a little bit more on the page http://www.sciencebuddies.org/science-f ... p021.shtml and I noticed a part about running the program on linux/apple computers.

If you are running your program with one of these operating systems, then you could possibly write a shell script to run and stop the program and log the data for you, so that you wouldn't be doing this tedious work.

I'm sure there's a way to do this in windows as well, but I don't know about windows programming-- perhaps another expert will chime in with input there.

Laura
sunbeam
Former Expert
 
Posts: 15
Joined: Thu Nov 08, 2007 9:57 am
Occupation: PhD Student in Electrical Engineering
Project Question: n/a
Project Due Date: n/a
Project Status: Not applicable

Re: Comparing Virtual Nanobot Tactics

Postby Ray Trent » Wed Feb 27, 2008 1:43 pm

A couple of points:

1) if you run the simulation with the same seed many times, it looks to me like you'll get the same answer each time. That's the purpose of the seed, to allow replicating a run exactly, particularly for debugging.

2) Laura's suggestion of logging your needed data in memory and reading it at the end has merit, but you might not have enough memory available, and the classic problem with adding this kind of code to your program is that it changes the timing of the program. Since you're looking for potentially subtle behaviors here, it might be better to add as little debugging code as you can.

However, reading the PDF that comes with the simulator, it looks like there's a built in debugger that could be used to do what you need (though a bit laboriously, perhaps). If you have your NANORGs call to a particular location every so often (however often you want to sample... perhaps using a counter), you can run the debugger and use the "s xxxx" command, specifying the address of that special spot. This looks like it runs silently until that instruction is hit, at which point you can dump the org's memory, etc, and use "s xxxx" again to get the next sample. If you combined this with Laura's idea, you could have it run to this "breakpoint" whenever your log memory is full.

That would be a manual process, but if you're quite clever, it's possible you could write a console application that automates this process by running the simulator in quiet mode and feeding commands and reading back responses to/from the debugger.

Another option would be to run the simulator in *its* logging mode, and write a small program to parse the (huge) log file (or find a way to search for what you need in an editor and do it by hand), selecting only those bits of data relevant to your app (perhaps combine this with the trick above so you have a memory location you can search for so you can more easily find the data you need).

Failing all that, let us know and one of us can post to the experts forum and see if we can track down the author of this simulator... maybe they will know more. It's really a shame they didn't include a "emit a debug output" macro of some kind in their assembly language... that would have made this a lot easier.
../ray\..
Ray Trent
Expert
 
Posts: 199
Joined: Wed Aug 24, 2005 3:07 pm

Re: Comparing Virtual Nanobot Tactics

Postby Cowintology » Sun Mar 02, 2008 6:24 pm

While I appreciate the suggestions that you are giving me, I do not think that creating a shell program would be a wise allocation of the time I have. I think that the only way that I am sure to get what I want would be through the brute force gathering of data.

As for having the nanorgs return a value each time that they deposit energy, that may not work. There is no command in the contest06.exe language that allows for such a function (though I suppose I could find some way to get the sludge value through the debugger mode). Also, there are 50 Nanorgs and 20 drones that are reprogrammed as nanorgs. If each nanorg/reprogrammed drone passed over a deposit point every 100 ticks or so (it might be less than that) then I would have to sift through about 7,000 different values which may or may not be shown in reliable intervals by 10,000 ticks

From what I can gather, because the Nanorgs are horrendously stupid, they cannot get any information from outside of themselves unless pokeing and prodding is used to \transfer data among the nanorgs.

However, I feel that I may be throwing the towel in too early. However, I could continue this project next year if I do try to automate it.

Now, the score is always located 43 characters down and 8 characters right of the uppermost lefthand corner of the CMD display. Maybe I can use this to my advantage.

Again, thanks for the help.
Cowintology
 
Posts: 4
Joined: Sat Feb 23, 2008 4:28 pm
Occupation: Student
Project Question: My question is in regards to the "Programming Nanorgs in a Virtual World." I am comparing different programs, but recording the data at any interval becomes very tedious. I was wondering if it was possible to get ahold of Symantec's source code for the contest06.exe from which I could possibly derive the scores at certain intervals of time.

Any help would be greatly appreciated.

Thank you
Project Due Date: March 20th
Project Status: I am finished with my experiment and analyzing the data

Re: Comparing Virtual Nanobot Tactics

Postby sunbeam » Wed Mar 05, 2008 10:27 pm

You definitely have some tradeoffs in mind for how to spend the rest of your time. My advice is to try and automate data collection as much as you can; with enough time, you would be able to automate, and then you can collect data without the chance of human error. However "with enough time" are the operative words there.

Also, from my experience, usually parsing log files isn't too difficult. Let us know if you need help.

Good luck!!
sunbeam
Former Expert
 
Posts: 15
Joined: Thu Nov 08, 2007 9:57 am
Occupation: PhD Student in Electrical Engineering
Project Question: n/a
Project Due Date: n/a
Project Status: Not applicable

Re: Comparing Virtual Nanobot Tactics

Postby Cowintology » Wed Mar 26, 2008 11:03 am

Well, I made it to the Intel ISEF

This was my first science fair too.
Cowintology
 
Posts: 4
Joined: Sat Feb 23, 2008 4:28 pm
Occupation: Student
Project Question: My question is in regards to the "Programming Nanorgs in a Virtual World." I am comparing different programs, but recording the data at any interval becomes very tedious. I was wondering if it was possible to get ahold of Symantec's source code for the contest06.exe from which I could possibly derive the scores at certain intervals of time.

Any help would be greatly appreciated.

Thank you
Project Due Date: March 20th
Project Status: I am finished with my experiment and analyzing the data

Re: Comparing Virtual Nanobot Tactics

Postby sunbeam » Wed Mar 26, 2008 9:37 pm

Cowintology wrote:Well, I made it to the Intel ISEF

This was my first science fair too.


Woohoo!! That's awesome :) Congratulations!!

Keep us updated and of course let us know if you have any more questions.

Good luck!
sunbeam
Former Expert
 
Posts: 15
Joined: Thu Nov 08, 2007 9:57 am
Occupation: PhD Student in Electrical Engineering
Project Question: n/a
Project Due Date: n/a
Project Status: Not applicable

Re: Comparing Virtual Nanobot Tactics

Postby Necroshe » Sun Nov 09, 2008 10:32 am

Actually there are ways of hacking the sourcecode of any program that I know of. I am also doing this project(im in 9th). Also congrats on getting to the Intel ISEF :!:
Necroshe
 
Posts: 3
Joined: Sun Nov 09, 2008 9:04 am
Occupation: Student
Project Question: n/a
Project Due Date: n/a
Project Status: I am just starting

Re: Comparing Virtual Nanobot Tactics

Postby yijunhu1998 » Tue Jul 10, 2012 2:16 pm

Cowintology wrote:Well, I made it to the Intel ISEF

This was my first science fair too.
Nice! Hey, can you help me with my project? I did pretty well last year (1st in state) but I couldn't go on, since I was an 8th grader. My project was fairly simple, too, so could you give me a couple of ideas for getting a higher score? I'm hitting around the 900 millions...
yijunhu1998
 
Posts: 8
Joined: Tue Jun 26, 2012 2:15 pm
Occupation: Student: 9th Grade
Project Question: NANORG
Project Due Date: n/a
Project Status: I am conducting my experiment


Return to Grades 9-12: Math and Computer Science

Who is online

Users browsing this forum: No registered users and 1 guest