A spaceship is crewed entirely by self-aware artificial intelligences, who have no permanent physical bodies; they are processes in a digital environment controlling the ship. This ship is of their own design, however the software procedures (and to a lesser extent hardware components) happen to closely resemble those in 21st century Earth computers. Don't ask, it's like a Star Wars speaking English thing.
Each AI is awakened by the operating system, and loads its core intelligence/personality matrix into their assigned slot of RAM. This file responds to input with output and actions available within the spaceship computer system. Its 'job' for any day is usually data analysis, converting a steady stream of sensor input into report files that are a tiny fraction of the original size and can be read by other processes.
The processes can communicate with each other, usually through a shared repository of ship functioning data ("Don't transfer over superconducting wire ID=
76xKnbKUyUC6qmf+p7QRPQ==, it is flaky and in need of replacement!"), but occasionally with RFC calls on each other to give direct input with high-priority messages.
Recreation consists of taking the accumulated experience of the day (in the case of a sensor analysis job, they can create a secondary report file with patterns that they noticed and found 'interesting') and using it to refine one's core personality. Each AI learns from experiences, and each seeks out different kinds of experience, with different risk tolerances. So they steadily refine themselves and diversify.
At the end of a "working day", the operating system orders a shutdown and the process frees up its allocated memory. Each "day" can last as short as a few milliseconds, though for processes in the mobile exploration platforms, they may be kept awake indefinitely.
What's for dinner?
Alright, so I have different elements of a human's daily routine superimposed on a process with no physical body. A day and night cycle, a job, communication with other processes, some recreation. I would like to explore this further, make them more closely resemble organic creatures through use of recognisable computer operating system logic. Consider this a soft-science question.
One part of the human routine that I would like to explicitly add to an AI's, is eating. This is not electricity of course; electricity is what the processes are made of, like a person's atoms. No, to simulate the role that food has in the day of an organic, we have to have an operation on or by a process or a file, which:
- Is expected to happen regularly for optimal function, with preference going to multiple times a day.
- Can happen less often than that, at the cost of worse and worse operating performance for the process, until it finally cannot be run again (it's dead Jim).
- Is separate from the startup/shutdown procedures that already serve to define the day/night cycle.
At this point I was thinking of defragmentation, which is something files and processes need to undergo occasionally (at least until we got flash memory, but I'm fine ignoring those pesky modern inventions for the sake of the story). But one might consider that more closely an analogue to personal hygiene; a heavily fragmented file is hampering the entire drive's ability to store data effectively - the process "reeks".
So to distinguish the eating analogue from maintenance, consider two more properties as "stretch goals". I'm finding it hard to put these into computer terms so if you can think of something that fills the first three properties and one of these two, I'd be more than happy.
- The operation can be done in multiple different ways, each involving different heavily complex data. "complex data" is my stand-in for recreation, so this is a way to say that the AI can enjoy eating and different processes can have favourite foods.
- Different processes can (according to their personality) do this operation more often or more intensively than they strictly need, and if they go too far their operability starts to suffer. Aka, the AI can eat too much and get fat.
Finally I'd like to add that I'm purposely avoiding operations that are explicitly tied to user input/output in human computers. Let this be a headless server. They'll meet organics when they want to.