I think you ought to be able to come up with something analogous to incremental garbage collection to allow the AI to ignore the tidyup happening in the background, really.
The problem with incremental garbage collection is oen of scale. When the AI is fresh and shiny and new, there's no issue. But when it has a couple of billion years' worth of accumulated information, on-the-fly garbage collection would be horrific.
There has to be a method of doing this, but I tend to favour a sleep cycle which allows for thorough pruning. Not to say that an AI actually sleeps - it might just slow down whilst garbage collection occurs - but a rough cycle is probably in order. That doesn't mean that the garbage collection can't be done on the fly, though.
My main concern is that I'm not sure it's "just" garbage collection. If you want to build good solid links between data, then you may find yourself doing far more than just tidying up the leftovers from deletions - you may want to be testing for missed links, checking the weightings applied to links, and so forth. That's goind to be a lengthy process, and doing that in the background seems like a good way to use all your time linking rather than thinking.
And indeed, you may have too much data to consider all combinations and may need to seek pieces that can be productively combined by a non-exhaustive search, for instance putting aside some time to consider random pairs. We could call it "dreaming" :)
Though if you can design it, you'd think you could make sleep a parallel thread that happened except when some specific intensive processing was needed.
It all depends on how well you partition the maintenance threads from the other "active consciousness" threads. If they're completely seperate, you'll probably get no dreams. If they have a real knock-on effect on the other threads - memories and experiences appearing or disappearing, combining and seperating - then you could call that dreaming. It's certainly some kind of hallucination, at the very least. :-)
Hallucinating computers. Cool!
I'd like to see the maintenance stuff as a background task that runs whilst the AI is still "up" - in fact, that's one of the differences I envisage between AIs and us. AIs get to almost choose when they dream, and how they want to balance their dream/runtime balance. They can opt for complete temporary shutdown and get it over with, or run it so slowly as a background thread that by the time it's finished, they need to start it again - providing an almost permanent dream state.
I have an entire universe in my mind, in which AIs play a major part. One of the stories set in that universe is about the first ever sentient artificial intelligence. (Created, naturally, by the first ever biological sentient intelligence.) It focuses on how the society that creates it reacts to it, and how it reacts to them.
It's one story of many in that universe. But with the longevity of an AI, the danged things keep cropping up in other stories as supporting characters.
I wouldn't hold your breath to read the story, though. It's been in my mind for years now, and I'm writing down only notes and snippets... This feels like my magnus opus, and as such I'm determined to write the main story only after I've written surrounding stories which introduce the universe gently - and give me plenty of practice writing, so that I don't foul up the important stories! :-)
Cool! I like your plan, I've often felt similarly. Though it seems most people end up with their best work being one of the subsiduary ones :) Still, it's a good thing to achieve in life.
It's not a case of wanting these stories to be my absolute best, but wanting to at least do them justice.
As a very unartistic person, there's usually a world of difference between what's in my head, and what I create in the physical world. A good analogy would be like working clay - the first time you do it, you end up with something that looks like a lump of clay hammered into shape by an idiot with no talent.
I want to avoid that by practicing as much as possible before take some clay to these stories, so that they look at least half decent when I write them.
If they do turn out to be my best, then so be it. If I go on to write something better, that's OK too. But the important thing is that I'm happy with the results... That I can look back on it and be satisfied that at least it wasn't a complete shambles. ;-)
There has to be a method of doing this, but I tend to favour a sleep cycle which allows for thorough pruning. Not to say that an AI actually sleeps - it might just slow down whilst garbage collection occurs - but a rough cycle is probably in order. That doesn't mean that the garbage collection can't be done on the fly, though.
My main concern is that I'm not sure it's "just" garbage collection. If you want to build good solid links between data, then you may find yourself doing far more than just tidying up the leftovers from deletions - you may want to be testing for missed links, checking the weightings applied to links, and so forth. That's goind to be a lengthy process, and doing that in the background seems like a good way to use all your time linking rather than thinking.
Of course, maybe linking is thinking... ;-)
Though if you can design it, you'd think you could make sleep a parallel thread that happened except when some specific intensive processing was needed.
It all depends on how well you partition the maintenance threads from the other "active consciousness" threads. If they're completely seperate, you'll probably get no dreams. If they have a real knock-on effect on the other threads - memories and experiences appearing or disappearing, combining and seperating - then you could call that dreaming. It's certainly some kind of hallucination, at the very least. :-)
Hallucinating computers. Cool!
I'd like to see the maintenance stuff as a background task that runs whilst the AI is still "up" - in fact, that's one of the differences I envisage between AIs and us. AIs get to almost choose when they dream, and how they want to balance their dream/runtime balance. They can opt for complete temporary shutdown and get it over with, or run it so slowly as a background thread that by the time it's finished, they need to start it again - providing an almost permanent dream state.
Danged AIs. They have all the fun!
I have an entire universe in my mind, in which AIs play a major part. One of the stories set in that universe is about the first ever sentient artificial intelligence. (Created, naturally, by the first ever biological sentient intelligence.) It focuses on how the society that creates it reacts to it, and how it reacts to them.
It's one story of many in that universe. But with the longevity of an AI, the danged things keep cropping up in other stories as supporting characters.
I wouldn't hold your breath to read the story, though. It's been in my mind for years now, and I'm writing down only notes and snippets...
This feels like my magnus opus, and as such I'm determined to write the main story only after I've written surrounding stories which introduce the universe gently - and give me plenty of practice writing, so that I don't foul up the important stories! :-)
As a very unartistic person, there's usually a world of difference between what's in my head, and what I create in the physical world. A good analogy would be like working clay - the first time you do it, you end up with something that looks like a lump of clay hammered into shape by an idiot with no talent.
I want to avoid that by practicing as much as possible before take some clay to these stories, so that they look at least half decent when I write them.
If they do turn out to be my best, then so be it. If I go on to write something better, that's OK too. But the important thing is that I'm happy with the results... That I can look back on it and be satisfied that at least it wasn't a complete shambles. ;-)