Monday, November 19, 2018

Near as I can tell: Moana

As near as I can tell, Moana isn't a magical story about a Polynesian girl going on a journey of self discovery in order to save her people from an encroaching darkness that kills all life.  It's a story about transhumanism, humanity visiting the stars, and how super human AIs can be a huge problem.

The reason why I can't accept Moana as a magical story about Polynesian island hoping is because of the timeline that Maui performs all of his works.  Why does an eel buried in the sand form coconut trees?  Who cares it's magic, but the important thing is that he didn't provide coconuts to humanity until humanity had already threw him out into the ocean.  He provides fire, moves the sun, raises the islands (! where was everyone before this?  just floating in the ocean?), etc.  His works are basically required for humanity to exist on these islands, but the works didn't happen until after humanity was already around long enough to case him out.

The rest follows from there.  Super human AIs are possible, but relatively rare and apparently come with built in limiters of some sort.  Te Fiti is a super human AI and her heart is some sort of module that regulates her more extreme abilities.  She becomes Te Ka when she loses the heart which feels a lot like some sort of "safe mode" that prevents any additional tampering with the AI after it has lost it's heart.

The ocean is also some sort of super human AI, but also has some extreme limitations built in.  The ocean could have easily performed the entire quest that Moana goes on if it were some sort of magical spirit of the ocean thing.  It's massive, it has the heart, it has the ability to harden Te Ka.  Just splash up on Te Ka and place the heart in her and bam the story is complete.  However, if the ocean is some sort of AI that isn't allowed to attack other AIs, then suddenly things make a lot more sense.  Built in restrictions are why the ocean can't return the heart.  Built in restrictions are why the ocean doesn't help Moana except in incredibly minor ways.  It doesn't help in the realm of monsters and it doesn't help in the battle with the coconuts.  

So what are humans?  Well it's the far future and we have all these space ships and super advanced software tools that people can use, but space travel isn't really for the human psyche.  Waiting thousands of years to get from star to star isn't really for people.  Additionally, nobody wants the AIs just doing whatever they feel like (hence the restrictions put on the ocean and Te Fiti).  So humans are likely simulated humans that are unaware that what they are seeing is a massive metaphor for space travel.  The islands are random gravity wells (moons, planets, asteroids).  The boats are space ships.  The food is fuel and other raw materials.  This allows people to direct the future of humanity without yielding all the decisions to machines AND it allows humanity to survive floating around in empty space for thousands of years at a time.

Maui is the first to undergo this process.  Humanity on Earth cast him into space with some unusually powerful hardware and software, and off he went to "terraform" the space ways.  Setting up fuel depots, space elevators, solar cells, etc.  It is interesting that Maui is stuck on an island for "1000 years", but when he is confronted by Moana on the boat with the heart of Te Fiti he immediately jumps off the boat to swim away.  He didn't try swimming for it before because he was stuck on a planet.  He could try swimming for it once he was on the boat because the boat was able to get him into orbit where he would have been able to drift to another planet with sufficient infrastructure to built his own space ship.

The monsters encountered are either rogue AIs or humans who have modified their mental states.  People reincarnate/turn into ghost thingies is actually them becoming mentally exhausted with their journey and being retired into an "afterlife" where they no longer have to unconsciously direct a bunch of AIs.  Moana's visions are actually some sort of interface into the universal internet.  And the songs are actually some sort of more in depth interface between two individuals.  Maui dumps a lot of memories on Moana in song form and he states that he'll throw up when he thinks Moana is going to sing (indicating that he is going to reject a song sequence request if one shows up).

So far the whole movie makes a lot more sense to me when viewed in this light.

Wednesday, July 25, 2018

Antimemetics

Meme is a word coined by Dawkins[1] to describe how ideas can grow and evolve inside of a culture.  To see this idea explored, checkout this video[2] about how ideas can fight against each other.

SCP[3] (as far as I can tell) started out as a group collaborative writing experiment.  The basic idea is to write a creepy or scary story, but to do it in a clinical / scientific format as if the phenomena are being catalogued by a shadow government organization.  Slowly over time the writers kept on trying to one up the others and at some point the concept of anomalous memes shows up.   The basic idea is that some information is somehow magically dangerous and in fact can spread through people in much the same way a virus does.

At some point someone realized that you could have the opposite of a meme.  That is an anomalous idea that resists being remembered.  An antimeme.  The write-ups for this concept range anywhere from relatively simple and comical[4] to verifiable works of art[5].

The author of qntm.org wrote a short story[6] on the SCP site that captures the spirit of anomalous antimemes.


[1] - https://en.wikipedia.org/wiki/Meme
[2] - https://www.youtube.com/watch?v=rE3j_RHkqJc
[3] - http://www.scp-wiki.net/
[4] - http://www.scp-wiki.net/scp-055
[5] - http://www.scp-wiki.net/scp-2521
[6] - http://www.scp-wiki.net/we-need-to-talk-about-fifty-five

The question I have, though, is can we create actual antimemetic effects.  To clarify, I'm not asking if we can create anomalous or magical antimemes.  But I'm wondering if there aren't things that we can do to make it harder for people to remember.

The existence proofs are the invisible gorilla experiment[7] and research on chess experts being able to remember chess boards configurations, but only if they represent an actual game and not random piece placement[8].

The invisible gorilla experiment involved asking people to count the number of passes players of a basketball game made and then having a man in a gorilla suit run through the room during the game.  People were too focused on the action of counting passes that they did not notice the gorilla.

Similarly, chess experts have an easier time memorizing chess board configurations.  The research wanted to rule out the possibility that chess experts just happen to have better visual memories.  So they also gave chess experts randomly configured boards.  In this scenario the chess experts were no better at memorizing the board than a non expert.  

[7] - https://en.wikipedia.org/wiki/The_Invisible_Gorilla
[8] - https://psy.fsu.edu/faculty/ericssonk/ericsson.mem.exp.html

Okay, let's throw it all together and add in my problem calculus[9].  The theory is that if you're an expert it means that you brain has adapted to some sort of hidden or non obvious structure.  If you understand the structure, then you're more likely to remember any given instance you encounter.  To promote forgetfulness then would be to create instances that either have an unknown structure or a subverted structured (ie almost matching the true structure but instead having a few aspects that would otherwise be invalid).  

Similarly, the gorilla experiment shows us that forcing people to focus on a difficult task can cause them to otherwise ignore something that they should notice.

So I'm suggesting a two pronged attack against memory.  The first attack is to create structure that you are sure is unknown to your target.  The chess experiment shows us that lacking appreciation of structure can hinder memory.  Additionally, creating structure that is nearly identical to something familiar but varies in key places where you want your target to forget is expected to hinder memory.

The second attack is to find a way to draw attention to a problem which is difficult to comprehend and takes a significant amount of mental attention.  This will help obfuscate the item or event you want to go unremembered which should be already obfuscated by the structure attack from the previous paragraph. 

Finally, problem calculus should be used for both of these attacks.  Problem calculus allows you to express aspects of a problem that is difficult to comprehend.  You can also use the elements of problem calculus to create problems with difficult to comprehend aspects.  This allows you to create something which you know your target will not be familiar with.  Alternatively you can map the structure of something your target is familiar with and then modify it in ways that the target will not be expecting.

Additionally, if you want to use a distraction, then you need to make sure that your distraction is sufficiently cognitively distracting.  Problem calculus will provide guidelines for knowing that your distraction is sufficient.

[9] - http://stackallocated.blogspot.com/2018/07/problem-calculus.html



Tuesday, July 24, 2018

Problem Calculus


Spaces are represented by just a circle. 



Inside of this space you want to place all of the possible items that can inhabit that space.  Think of the space being like a type and the items of the space being values of that type.  The spaces themselves need to relate to other spaces with arrows.


You might think of the arrows as functions between types.  However, it depends on what type of problem you are modeling.  If you are modeling a factory, then the spaces might be components of the widget that the factory produces and the arrows represent moving the partially assembled widget from work station to work station.  Also keep in mind that there might be more than one way to interpret a given problem with these diagrams.


Ideally, one diagram configuration will be easier to comprehend than another.  One of the open questions about how easy it is to comprehend a problem is how much familiarity plays in ease of comprehension.  Different diagram configurations for a problem represent different understandings that people have of the problem.  A highly effective understanding should minimize the metrics generated by the problem calculus diagram.


Given a space, some spaces will be easier to comprehend than others.  The first aspect you should look for are spaces that are path connected.  A path connected space means that there exists some function that continuously deforms items in the space from item to item.  So instead of having to understand a space in terms of *all* possible items, you can understand the space in terms of the function that describes your path.  It’s an open question as to whether or not different functions that describe your path connected space will affect comprehension.  One thought is that a hilbert curve ought to be more comprehensible than a path that zig-zags through the space, but there’s currently no reason to think one or the other should be easier to comprehend.  

If your space isn’t path connected then there’s going to be two different metrics to pay attention to.  How many path connected regions exist in your space and how hard is to differentiate between the two paths.  Lots of different path connected spaces suggests difficulty to comprehend because it means that there is some aspect of your items that need special attention to jump from path connected region to path connected region.  The more of this that occurs the harder it is going to be to keep it all straight.  

Paths that are difficult to separate because they meander through similar “areas” are going to be difficult to comprehend because it’s going to be harder to develop an intuition of what each region actually is.  Additionally, if it is hard to separate two different paths, then it’s going to be harder to understand which path connected region you are entering into when an arrow brings you from one space to another.  Of course the very idea of “area” suggests some additional geometric structure to your space that may or may not exist.  


Holes in your space will also impact how easy it is to comprehend the space.  A hole represents some invalid, forbidden, or defective item within the space.  A simple hole in the space is relatively easy to avoid, but harder than if there was no holes in the space.


Lots of simple holes will be harder to deal with than just a single simple hole.  As the number of holes increases it’s going to be harder to form an intuition of where valid items of the space are.  It is also going to be harder to understand when an arrow coming into this space lands in a valid space.

The structure of a hole might actually be complex or simple.  If the hole is a path connected region of invalid items in the space, then it’s going to be more easy to understand than if the hole is made up of different path connected regions or even has some valid items within it.


The arrows that connect the spaces can also cause problems for comprehensibility.  


A continuous arrow will be easier to form an intuition for because any small change in the arrow’s input will represent a small change in the arrow’s output.  Familiar inputs will generate familiar outputs and this provides a way to carefully explore the nature of the arrow.

Discontinuous arrows are by their nature erratic.  Because a small change in the input might represent a large change in the output, you will have a hard time knowing when you’ll end up in unfamiliar territory in the output space.  Additionally, if your destination space has many different path connected regions or if the destination space has many different holes, then it’s going to be difficult to know when the discontinuous arrow is going to dump you into a region that needs to be carefully managed or is outright invalid.


In this diagram we see the Source and Destination spaces in black.  These are the spaces that we have been talking about all along.  However the red space represents the Input space of the blue arrow.  Similarly the green space represents the Output space of the arrow.  Ideally, the input space will be equivalent to the source space.  However, some arrows may only work on a subset of the source space.  Similarly the output space is ideal when it is equivalent to the destination space, but there are many arrows that cannot create all possible items of the space they are moving to.


The system of your problem can also affect comprehensibility of it.  A system that is comprised of many spaces and arrows between them is harder to understand when you only have a few spaces and the arrows between them are straight forward.

Because the input and output spaces aren’t always equivalent to the source and destination spaces, there is another issue that arrises once you consider the entire system you are concerned with.  Different arrows entering or coming from the same source or destination spaces may not be compatible depending on their input and output spaces.  Ideally the spaces all line up perfectly, but there may be some overlap that makes it difficult to understand how items move through your system.


There is overlap of input spaces in a source space.  Given a space, it might appear than an arbitrary item within it could be sent to one arrow or another, but because of differing input spaces this is not true.


Similarly there is overlap of output spaces in a destination space.


And there is overlap between the output space of one arrow and the input space of another arrow.  This type of overlap is problematic because sometimes the output of an arrow will be usable for the next one and other times this will not be the case.  Understanding the edge cases increases the difficulty of comprehending the problem.


Finally, there is complexity projection.  In the diagram we have an initial space and a terminal space that are both very simple to understand.  However, the internal spaces between these two spaces are very hard to understand.  Anytime this scenario arrises, the complex nature of the internal system “projects” onto the simple spaces on it’s interfaces.  Consider the space of all strings.  This is relatively straight forward because it is simply all possible sets of characters.  Now imagine feeding any given string into a compiler.  The highly complex nature of the compiler makes the string input more complicated than if you only had to consider the strings by themselves.