Bots and Simulations > Bot Tavern
Ambitious MB project
Numsgil:
--- Quote from: Ta-183 ---If anyone would care to try, it would be nice to see a proof-of-concept bot that would create and maintain "dead-weight" memory cells that it ties to and stores and retrieves data, such as veggie positions and densities over time, its health over time, what enemies it sees, how easy/hard they are to kill, ect.
--- End quote ---
It would be extra cool if you used veggies for this. Mark certain veggies as "seeds", and never eat them (mark certain memory locations probably. Maybe some of the outs). These "seed" veggies would act as seeds for local veggy colonies as well as signposts that bots could use to post locations for other "seeds" that presumably would have veggies starting to grow.
Sort of like posting maps to other oases in each oasis.
Not sure how efficient a strategy it would be, but it would be pretty cool. Especially if you set it up on a huge world, so the veggies are really far apart. And you had roving bands of animals that travel from seed to seed, feed on all veggies but the seed, and then travel on to the next seed. The animals could efficiently aim themselves at the nearest seed and then go completely dormant for however long it takes to get their (hundreds of cycles probably).
Ta-183:
On the subject of file formats.
A 'file format', used in the context of bot based data storage, is the term that I would use to describe a system of creating different types of memories (files) and determining the beginning and end of a file, a date/time format, and how the data is stored. For example, all files have headers. Raw text files (.txt) have nearly no header, save for the beginning of the file. In a memory, a memory file would require a 'header'. A 'beginning of file' marker, a filetype marker, a date marker (or order of creation marker), and any other identifying details that it would require. Thinking about it a bit more, a bot would also have to make use of a file directory system to cut down on processor time and code required to locate files. Accessing things such as lists of 'seed' locations (to borrow your example of a potential application of such a system) will be difficult without loops, but I think it shouldn't be too terribly difficult to come up with something.
Also, tentacle cells. I don't think using them for memory is a great idea. Tentacle cells are often right out in the thick of it, exposed to attack and wayward virus/venom shots. Besides, the ties used to create the tentacle would be better used to transfer data between itself and its hub cell. Not to mention that the operation of a tentacle is already a data intensive operation.
Houshalter:
I think the cells toward the center of the bot should be for long term storage and long term decision making (eg, what do i do with my life?), as well as transferring information between the other body parts. For example, if a swarm of veggies is detected moving north, then it should send info about it to the tentacles in the front asap to curl around and catch as many of them as possible. The cells on the outside like the tentacles are the ones that ultimately collect information about and manipulate the enviroment. These cells should store the "need to know now" information and distribute anything important back to the inside cells for long term storage. They have to have some kind of system for recieving/spreading instructions from the brain.
Once you have an "operating system" for the bots then you might be able to make some kind of higher level interpretor to program for it, kind of like you do for db code now. What kind of file types would there be for this "operating system". For one you have information about the enviroment, including tons of raw statistics and random facts. Then you might have more "proccessed" data that has averages and some rudimentary patterns in it. Then you might have some of the highly proccessed data which is just like the proccessed data but its done better with more patterns and stats. You also have to have instruction files for different bots which would carry instructions. These would somehow be created from the statistics files and distributed throughout the bot or at least to the cells that needed it. Any other ideas?
Ta-183:
A lot of that requires extra memory. When you get down to it, you have to remember that each bot is restricted to less than 1000 spaces for individual pieces of data. Not to mention that you have to become much more specific if anything is to happen. I shall demonstrate;
A bot is developed with these traits, focusing on a central nervous system consisting of a brain with specialized thinking cells and many memory cells. For this example, we shall assume this organism is in its young/infantile stage, and has one processing cell and four memory cells, plus the three data bus cells required due to the three tie limit. The primary brain cell (henceforth referred to as the brain itself) is connected to the memory cells by the bus cells. It is connected by a single tie to the first data bus, which ties to the other two data buses. They tie to the remainder of the memory cells. The primary job of the data bus is to manage the cells connected to it and allocate data received, such as coordinates, info about a species encountered, etc. The bus cells themselves can allocate some memory to themselves, as well. Lets say the organism detects another bot (the method of how it accomplishes this can be ignored in this demonstration) and decides to store information about it. Gene length, body and energy levels, shell/poison/venom/slime levels, indications of other capabilities such as viruses, etc. It reads the data through its eyes or whatever it uses, and then sends the individual numbers to the data bus, along with the indication that this is a new data entry about a new species. The data bus then decides which cell is currently the least full (or alternatively it could allocate memory sequentially, filling one after another. In this manner, a full simulation of a computer could result, using a series of opcodes and reading programs from memory to form a ridiculously primitive and slow, though nonetheless incredible, CPU) and allocates the data to it. It saves the location and ID of this entry in its own directory. It may be a good idea for a bus to have its own storage for storing directory entries, at least for the first bus. But this would be better servd if it is possible to send data through multiple ties (more than three) reliably.
For example, if you were to use a safety margin of 500 usable memory locations per bot, and store data in integer form between 0-255, you are looking at two bots per kilobyte of data. This becomes very claustrophobic for a long term data storage system. Efficient management and allocation of information is an absolute necessity.
Houshalter:
Bots can have more than 3 ties by the way. Im not sure what the use of a "data bus" would be. Why not just have a group of "brain cells" that would each store memory and do some proccessing each cycle. You might be right about the limited memory but bots don't really need that much memory and if you compress you can get even more. For example, You encounter bots without any slime/poison/shell/venom, etc. Just store a single negative number to mark that all of those were equal to zero.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version