Inventing a reverse procedurally generated "memory".

First, to clarify the title, this is a bit less like memory. It’s more of an idea to derive an answer that happens to be the thing you wanted to remember. I briefly mentioned this idea in my introduction. Also, I believe it is vitally important to state that this is not a walkthrough or anything like that. It’s a sketch of an idea I am trying to develop and see whether it’s a viable idea. Personally I’m actually hoping that such a system already exists, would make my life several orders of a magnitude easier. :slight_smile:

I would also like to warn readers that I have a tendency to verbosity, so this post is likely to be extremely long.

I also feel that it’s important to list some serious disadvantages with this idea. The biggest one being that it becomes impossible to connect other memories to… call it “leaves” for lack of terminology. The reason being that you never actually remember the “leaves”, merely a formula to derive said leaf. The second problem with this has more to do with my personal opinion on mnemonics which is that I believe mnemonics to more be a thinking device rather than simply a memory device.
As some people have mentioned, they seem to get a “big picture” effect after placing knowledge into a mnemonic structure and start seeing the connections between different thoughts and ideas. This is not universally true for all mnemonic techniques, but I believe it to be a very important and useful aspect of it. This idea will completely nullify that aspect I think, and thus will only have limited application.

What this technique may possibly (I don’t yet know whether it’ll even work in any way) be good at is storing very large quantities of relatively inert data that does not need to be accessed with any kind of speed whatsoever, and that do not truly have much use other than reference. I’m using a map of a country for the purpose of “simulating” such types of data. A road map is only ever useful for reference, almost never for anything else. How to encode map features I have also yet to figure out. :stuck_out_tongue: I sort of decided that doing so is pointless unless this system works for two reasons. I have no interest in memorising a map other than to test a system. Second being that I actually don’t need maps, I have near perfect natural recall of cities and landscapes, and have also managed the fine art of not getting lost even when I don’t know where I am. :slight_smile: Mainly the purpose of creating this technique is seeing whether it’s even possible, and if it’s possible I want to use what I learned here for some other experiments I’m running.

The idea for this system relies on one important premise, even though objects are made up of smaller objects the human mind does not consider the smaller objects that are unnecessary for the use and function of the object. For example, a cellphone contains three different radio chips, an antenna, a CPU, battery, casing, screen, etc. However, in day to day use, those things are never considered (unless you’re a technician or something), all you think is “cellphone”. What is interesting however is that one can systematically decompose a cellphone into component parts if one knows the basic nature of it.

To give an example of the system I’m envisioning. Say the components (CPU, battery, etc) are pegs for numbers, rather than linking all of them together, or placing them in a loci one “constructs” a cellphone from it and place the cellphone in the loci. When you then wish to retrieve the original number you find the cellphone in your loci, and then decompose it into it’s component parts to get the original pegs which in turn gives you the numbers. If one then add a second layer to this and say that the cellphone makes up one of many components of a car (perhaps the control system, who knows), then one again places the car in the loci rather than the component parts.

The natural world provides a beautiful model for this system as displayed with the cellphone analogy, however the sheer number of possibilities that the natural world provides makes it impossible to use. One would need a very regular (to you, whether it’s literally regular or literally possible is irrelevant) system to determine how the components combine, and this system will have to be small. If it’s neither regular, nor small it will simply be impossible to use as there will be too many possible combinations. For this reason I would also personally limit the number of “layers” used to something very very small.

What this has to do with procedural generation is that it’s basically the same idea. With procedural generation you have a seed, put the seed as the input of a magic function, and out pops a planet (or whatever the algorithm creates) on the other side. The only difference being that I’m trying to generate the seed from the data, store the seed, and when the data is needed reverse the process to get to it again.

This is as far as I have gotten however and I’m not certain how to proceed further. Two things need to happen, the images need to be created, and a system needs to be created that will make the construction/decomposition process regular without clashes. The number of layers also need to be decided upon as that will determine how you choose the images. I do not believe more than four layers would be viable and even that is a stretch.

I’m planning on starting my attempts at figuring this out with maybe four images in layer 0, and create three (0 1 2) layers which I believe will give ten possible combinations on layer 1… Maybe more than three layers won’t be possible even… I suspect though that the layer analogy is not quite as accurate as I originally thought since if one can make the system recursive (the same operation on every level) one could possibly keep the complexity low even with ten “layers”. Anyway, this is where I’m starting, any thoughts would be greatly appreciated. :slight_smile:

If I work anything out I’ll post back here either way. I’m actually very keen to see whether this idea pans out, it will have fascinating implications and form an amazing base for other ideas. :smiley:

Hi egency (and welcome),

The way you think clearly resonates with mine, even though I haven’t quite understood 100% of what you said. You use jargon (algorithm, magic function, procedural) that makes me think you are from a computational area, and, specially, the term “leaves” suggests the end-nodes of a graph, a common data structure in computer science. Therefore, you seem to be suggesting some kind of graph structure where the root node is a sort of summary (or synthesis) of what you want to remember. What you do then is store that “summary” as an image in a locus and then use a predefined procedure to decompose such image into its constituent parts, i.e., you unpack your single node (as needed) into the entire hierarchical graph (or network) down to its leaf-nodes, which are themselves the main information you want to remember.

If I am not too off-the-track here, I believe you might find a recent idea I’ve been working on of interest. It does not use loci (for now), but the addition of it is seamless; I am just focusing on pegs and links right now. I mention a summary of it in this thread, but if you want more detail, you could take a look at this post and, if you have the guts to, in the entire thread. I suffer from verbosity too, so I hope you won’t get too upset with my style of writing.

You also mention a love for books and, while I have not your ability to speed-read, I too want to develop mnemonic methods for remembering the gist of all books I read. I am just starting to actually use the techniques I mentioned, mostly applied to Law. But the example I give in the aforementioned post is from Iliad, so the method is quite general.

Your other thread on reducing information also resonates with my ideas. The first problem in memorising books, in my opinion, is how to extract the gist of them. There is a lot to talk about that, which we might do eventually, but unlike you, I don’t think there is a way without actually reading the book (and reading well), and, to be true, I don’t really want that. You seem to suffer a little from the information overload so common these days and the desire (sometimes rather compulsory) to engage with all this information at once and as fast as possible. I feel that too, but I try my best to restrain that impulse; it is really good to be able to read fast and amass a huge number of books a year, but it is even better (and more useful, I might argue) to be able to immerse oneself in a book, taking the necessary time to savour all its intricacies and the subtle thoughts it instills in one’s mind and soul.

On another vein, I am beginning to learn some Natural Language Processing techniques and, although, like you mentioned, current state-of-the-art can’t chew an entire book and spit out a perfect summary on its own, I believe they can be part of a computer-assisted framework for better reading, summarising and, thus, remembering books. Moreover, the principles they are based on, such as sentence parsing and Rhetoric Structure Theory, may assist us in finding better ways to tackle this “gist extracting” endeavour.

Let me know if any of this has anything to do with your idea and we might carry on with discussions.

Best,
M.

1 Like

I do tend to use computer terminology a lot, I find a lot of abstract and complex phenomena can be more easily talked about in computer terminology than plain English and computers make a decent enough metaphor for the mechanics of human minds which in my experience is largely absent from English. Having read a couple of psychology and neurology texts they still provide less useful terminology and concepts than compsci does. It does unfortunately have the side effect that, as you say, I use jargon a lot… The funny part being that going into computers was accidental and not something I really wanted to do, not very fond of the things. But we where poor and I had nothing better to do to keep busy. :stuck_out_tongue:

I am honestly not certain whether you are on track or not. I believe that my examples where poor at best however so I’ll try to clarify. Some of what you say seems to be quite on track though, and I believe you are definitely on the right track. If I have to guess though I think the part where we’re missing each other relates to the part I mention in problems with the technique. I’ll start with an examples, and hopefully it’ll be more clear than my first attempt. The important premise here is basically attempting to take advantage of the fact that the brain seems to prefer working with single unified wholes. If one take the concepts of pencil, cellphone, computer, farm, tree. The things they all have in common is that they are all very very complex things, and yet they are all considered one object and can be worked with as easily as if they where featureless cubes. Even the concept of a farm, which can be argued (if one ever lived on one) is far less “solid” a concept, and does not even describe a single concept at all. A farm is a collection of very complex systems, and yet the mind works with it as easily as any other “simple” concept, and more importantly, unless one delves into it, it is considered, and worked with as if it is a single unified concept. An “object” which can be placed somewhere with the same felicity as placing a pencil.

I should note that this does not function exactly like procedural generation, that is simply the closest metaphor I could come up with. I considered calling it a “Lego” system, but thought that was even further off. Although I suppose in some ways it’s closer.

So, the first thing that I think I miscommunicated is where the “meaning” is found. This is also the biggest problem with this idea. Using it as an index might work though, but anyway. Let’s say you have three “layers”, you are remembering layer 3, the information you are encoding is in layer 1. Layer 2 and 3 have no meaning whatsoever, in fact it does not truly matter what goes in them. And for that matter, even if between encoding and decoding layer 2 changes dramatically it also does not matter. All that matters is that when decoding layer 1 comes out the same. Now given what I know for this reason layer two and three must always come out the same way otherwise layer 1 never will. But that is simply a practical necessity rather than being having any true relevance.

So examples say in your dictionary (of image number correspondences) you encode 2 as “blade” and 3 as “stick”. When you combine the two one can either get “spear” or “axe”. It does not really matter which you get since when you take a spear apart you will end up with a blade and a stick, and axe will behave in exactly the same way. What is important here is that this spear or axe have no meaning apart from the neat property of breaking up into a blade and stick. The only part of this that has meaning is blade and stick.

Second example, say we have stick, gear, rope, hook, wheel, and blade in our dictionary and we encode a ballista (we place a ballista in our memory palace, in this particular example you can consider it a “layer 3” object). So when we want to get to the information we start taking apart the ballista in pretty much exactly the way we would in real life (give or take some reality :P). And we get for example the following:
winch
chassis
bow
spear
At this point there are two important things to note, first, these objects still have no meaning or purpose other than to get us to the information, second, we never remember them, rather we generate them (hence the importance of a regular system). So if we further decompose them we get the following:
winch: stick, gear, rope, hook
chassis: stick, wheel
bow: stick, rope
spear: blade stick
At this point another thing should be noted, there is no way of ordering any of this… It’s another weakness of this system. If you say want the number two in sequence within a number 231, you would actually have to use a higher representation, so that you somehow encode “two in position three”, while this is doable, I’m not yet looking at it.
So finally we have gotten to actual information. This final bag of stuff is the only thing being encoded, the rest is simply a way of “regenerating” it after you have dropped it out of your mind. This also brings up another important point. With this system you never remember the actual information. Only the object that you are going to use to derive the information from.

I suppose it’s possible to have the intermediate steps represent something themselves (the spear and axe example shows this, both break down to the same things, but each could have a different meaning themselves), but it’ll be difficult to make it truly useful.

Does this explain the idea better? I’ve only found one use case for it, and that is memorising country maps, and the only reason it could possibly be useful for this is the sheer volume of data, most of which is pointless most of the time. For example, South Africa (where I live) is about 1,221,037 km^2, I don’t know about anybody else, but having a palace that big, or a link that long sounds like far too much effort. If one could generate such a map by this method it becomes feasable however (it’ll take an eternity though). And if you want to actually use the map, you “unpack” the area you are interested in, place it in a useable format, and when you’re done, you simply forget it again. I don’t personally know why one would want to memorise a map, but working out a way to do it either way seemed kinda cool at the time.

I have actually read the conversation between you and tarnation while I was typing my intro, I was very impressed. In my opinion it’s the first truly innovative system I’ve read about in a while. I mean, the true innovation in mnemonics is not finding a “better” system. The principles have not, and will never change. I believe the true innovation lies in finding novel ways of encoding useful information, and figuring out how to “think” with it.

Yeah, I’m still working out exactly how your system functions, though at present I’m attempting to take a “one thing at a time” approach. The way you reduced sentences to seven basic patterns is pretty impressive. You should take a look at oral traditions as well. Oral traditions had some pretty impressive systems and very good notions of how to memorise things. I mean, the only storage available was the mind, and if you missed something it may well be lost forever.

To be completely honest I don’t believe there is a way either, I’m really just hoping. A very large proportion of my books are practical however, like I believe I have four different books on mnemonics, and apart from Bruno’s book which I’m hoping has something new in it, they all (by necessity) say the same things. For this reason I believe that with practical books it may be possible, novels and “other” books however I don’t believe it is. And to some extent I agree with you, I would not necessarily want to skip reading the entirety of books, but when trying to learn a skill it would be extremely useful to be able to drop the unnecessary bits.
A little off topic from my thread, and I hope you don’t mind me asking. What you said about information overload is utterly true, and it’s something I’ve spent years trying to work out. In my opinion there’s only a small percentage of useful information, and an equally small percentage of important information. But what I never could figure out is how to judge whether something is useful or important. You seem to be better at managing this, do you have any ideas in this regard? To be completely honest I would actually rather drop all books and rather watch a cat, or perhaps some birds…

On the point I would the machine learning point have a look at HTM systems. You can search for numenta, nupic, and cortical.io for more information. I personally believe they have some major issues with their theory and implementation, especially in the insistence on “semantic meaning”, while at the same time not being able to define it and thus defining it arbitrarily. There’s also a small issue of a lookup table and histogram in their classifier, but that’s much less troublesome in my opinion. At least the lookup table part, the histogram less so. Also makes for very interesting reading on the functioning of human minds. :slight_smile:

Thank you for your careful reply, it’s been very interesting and informative. :slight_smile:

1 Like

I want to show you part of my algorithm for creating knowledge hooks. I’m waiting for smart people to supplement and improve this slice of my interface for creating mnemonic images from knowledge blocks.