Skip to content

Instantly share code, notes, and snippets.

@SethVandebrooke
Last active January 19, 2021 07:52
Show Gist options
  • Save SethVandebrooke/27b3d9cc68750bde2d1780f3a889bc7e to your computer and use it in GitHub Desktop.
Save SethVandebrooke/27b3d9cc68750bde2d1780f3a889bc7e to your computer and use it in GitHub Desktop.
Mind Models

Mind Models

Mind Model Definition: A collection of attributes that directly denote or extrapolate into a description of the way an individual thinks and behaves on fundamental levels.

Mind models generally include what are considered to be the twin foundations, personality and intelligence.

The technical guideline for characteristics of a mind model:

  1. It contains a set of attributes that can be either true, false, or a value representing a position on the mind model variation scale.
  2. It utilizes a variation scale (a standard range from one number to another that represents how strong or weak an attribute is). The variation scale decides how broad or specific a mind model will generally be (the standard is base 16).
  3. The attributes of a mind model can be extrapolated out into more meaningful data about the individual given standards of knowledge and encoding, as well as the relationship between each of the attributes.

The above guideline ensures that the mind model can be compressed into a single mind model signature (mind model signature description is provided below). The guideline is not strictly required but ensures a system of mind model composition that allows for the most efficient and generally significant use.

Fixed vs Fluid Mind Models

There are two core Mind Model Categories: Fixed, and Fluid. A fixed mind model is a simpler singular representation of an individual's mind. A fluid mind model is a more robust and complex solution as it takes into account multiple states of mind, transitions between them, and their likelihood.

Fixed Mind Model Definition: A mind model that describes a single state of non-variable attributes.

Fluid Mind Model Definition: A mind model that describes variable and non-variable attributes as well as how the model may change over time or under influence.

In mathematical terms, a fluid mind model includes multiple states of mind along with a stochastic matrix.

Fluid mind models can describe temporary changes, like mood, and permanent changes to aspects like personality and even intelligence.

The Ocean Gardner Mind Model

The Ocean Gardner Mind Model uses The Big Five Personality Traits (OCEAN) and GARDNER's Theory of Multiple Intelligences to create a fixed Mind Model that represents the intelligence and personality of an individual. Using a base 16 variation scale, the Ocean Gardner method can produce up to 4,503,599,627,370,496 different Mind Models.

The Big 5 Personality Traits (OCEAN)

  • Openness to experience (inventive/curious vs. consistent/cautious)
  • Conscientiousness (efficient/organized vs. extravagant/careless)
  • Extraversion (outgoing/energetic vs. solitary/reserved)
  • Agreeableness (friendly/compassionate vs. challenging/callous)
  • Neuroticism (sensitive/nervous vs. resilient/confident)

Gardner's Multiple Intelligences

  • Naturalist
    • understanding living things
    • understanding nature
  • Spacial
    • visualizing concepts, or real things, in your mind
  • Musical
    • understanding music and its properties
  • Bodily-Kinesthetic
    • Coordinating your mind with your body
  • Linguistic
    • Finding the right words to express what you mean
  • Intra-personal
    • Understanding yourself
    • Introspection
    • Emotional intelligence
  • Inter-personal
    • Understanding other people
    • Sensing their feelings and motives
    • Emotional intelligence
  • Logical & Mathematical
    • Quantifying things
    • Solving problems
    • Forming hypotheses and proving them

The Vandebrooke Mind Model

The Vandebrooke Mind Model (or VM2) is a Fluid Mind Model, that uses a base 16 varation scale (hexadecimal), based on the Ocean Gardner Mind Model, Claude Shannon's Mathematical Theory of Communication and a principle coined by Seth Vandebrooke as "Reciprocal Stochasticism".

Reciprocal Stochasticism

Reciprocal Stochasticism Definition: The theory that the way an individual thinks, their environment, and their behavior stochastically influence each other whether directly or indirectly.

Answering the question "Why?" with Reciprocal Stochasticism.

Reciprocal stochasticism is based on the psychological principle of reciprocal determinism, however, it allows for a variable amount of unpredictability (noise) and focuses on the stochastic affect of mental properties.

  • Environment represents external influences including people, places and culture.
    • Behavior influences the environment because socially it place a part in evolving it and physically it can modify it.
  • Mental properties represents personality, intelligence and other thought life characteristics such as belief.
    • Environment influences mental properties because it in essense is the external input for the mind. It provides us with new ideas, challenges, and rewards that play a large role in developing an individual on many levels.
  • Behavior represents an individual's choices, actions, and mood fluctuations.
    • Behavior is influenced by mental properties at a fundamental level because in many ways it is a direct product of them.
    • Environment influences behavior by providing it parameters with which to govern itself.

This principle could be used along with the concept of mind models to generate a sequence of events via a markovian process that involves a multi-dimensional (most likely R3) stochastic matrix accounting for mind model attributes, environment, behavior and systemic noise.

Generating the present via the past

Using this method, algorithms could be composed to generate mind models by recursively simulating events thereby creating reasons for the attributes of the mind. Essentially this is allowing a very simple initial mind model develop and grow over a series of events in a more organic manner than random selection of mental attributes. It's worth noting that details about an influencial event are technically irrelevant. What matters is the effect that the event has on the individual. This means that generalized event classifications can be used to reduce complexity.

Generating the past via the present

Algorithms could also be constructed to analyze a current mind model and back track to produce multiple possible histories that could have led up to the mutation of that specific mental configuration.

Modeling the future

It is also possible to generate a model of different possible outcomes should an individual encounter a particular type of event (event classification). Based on the attributes of the mind model and or the history of the individual, the markovian process can be run multiple times, providing multiple possible results.

Using Reciprocal Stochasticism to extrapolate mind models

The principle of reciprocal determinism tells us that environment, behavior and personal factors influence each other directly. Reciprocal Stochasticism introduces interdependent probibility of influence. Following this road leads us to the use of inference to determin possible qualities of unknown attributes given those which are known.

For example, one of Sternburg's 5 components of creativity is a creative environment. Following this principle, if the individual has a high level of of overall intelligence and creativity it can be reasonable to assume some kind of creative environment is or was present. It is important to note that certainty is never 100% and there are always more than one option. Because of this, the goal of this kind of extrapolation is not to draw destinct conclusions but instead to propose multiple possibilities and their likelihoods.

Something to take into account is that the momentum of influence decreases over time. In other words, the older you become the less likely an event will change your personality and the more consistant behavior will have to be before influencing your personality or environment.

A possible use of event classification

Event classifications can be associated with each cell on a stochastic matrix. This method compacts more information into a single source.

A B C
A .1 .3 .6
B .4 .4 .2
C .5 .3 .2

The above example is a simple stochastic matrix. The simplified example below denotes a single word to describe each event classification associated with each cell.

A B C
A sad scary loving
B threatening affectionate repelling
C loss heartbreak victory

Mind Model Signature

Mind Model Signature Definition: A mind model sequence (or signature) is a sequence of numbers, commonly encoded as alphanumeric values, where each symbol in the sequence represents the level (position on the variation scale) of an attribute. It is the entire mind model encoded as a linear piece of text.

Base conversion is used to ensure that each attribute's level represented by a single character.

For example: If the variation scale of the mind model is 16, each value would be converted into base 16 as hexadecimal values.

Any stochastic matrixies are also encoded like so: each position on the variation scale representing 100 divided by the maximum value. The basic equation of x * (100 / y), where y is the maximum value on the variation scale and x is the position of the attribute on the variation scale, can be used to convert a single character in the mind model sequence into a percentage.

% I
0 0
6.66 1
13.32 2
19.98 3
26.64 4
33.3 5
39.96 6
46.62 7
53.28 8
59.94 9
66.6 A
73.26 B
79.92 C
86.58 D
93.24 E
99.9 F

This method allows a stochastic matrix to be encoded as a string of characters by simply converting percentages into their nearest representative value and placing them next to each other in a linear sequence. The sequence can be reconstructed into a matrix by breaking it into subsets as long as the number of attributes represented in the matrix.

A B C
A 0 .3 .7
B .7 .2 0
C .3 .5 .3

Becomes

A B C
A 0 5 B
B B 4 0
C 5 8 5
Combined 0B5 548 B05

Result: 0B5548B05

Sub Matricies

Emotional Stochastic Matrix

Mind Model Emotional Stochastic Matrix Definition: A matrix that describes how emotional states are likely to transition to each other.

NOTE: Emotional stochastic matrixies are encoded like any other stochastic matrix in a mind model signature.

Mutation Matrix

Mind Model Mutation Matrix (or M4) Definition: A matrix that describes how an individual's attributes increase or decrease over the course of 3 to 5 stages.

The purpose of a mutation matrix is to describe significant, permanent, changes in how an individual thinks.

Trigger Matrix experimental

Mind Model Trigger Matrix Definition: A matrix that defines possible triggers for change in mind model attributes and their likelihood.

// generate character mind model
function MindModel() {
this.id = personality.id + ':' + intelligence.id;
this.personality = generatePersonality();
this.intelligence = generateIntelligence();
}
// 32 fundimental personality types with a total of 1,048,576 (16^5) variations.
// that's 32,768 variations per personality type
function generatePersonality() {
// variable declarations
var personalityMap = {
conscientiousness: {
positive: ['organized', 'careful', 'disciplined'],
negative: ['disorganized', 'careless', 'impulsive']
},
agreeableness: {
positive: ['soft-hearted', 'trusting', 'helpful'],
negative: ['ruthless', 'suspicious', 'uncooperative']
},
neuroticism: {
positive: ['calm', 'secure', 'self-satisfied'],
negative: ['anxious', 'insecure', 'self-pitying']
},
openness: {
positive: ['imaginative', 'one to prefer variety', 'independent'],
negative: ['practical', 'one to prefer routine', 'conforming']
},
extraversion: {
positive: ['sociable', 'fun loving', 'affectionate'],
negative: ['retiring', 'sober', 'reserved']
}
};
var descriptions = [], variationScale = 15, variation, id = "";
var components = ['conscientiousness', 'agreeableness', 'neuroticism', 'openness', 'extraversion'];
var variations = ['borderline', 'somewhat', 'fairly', 'very', 'extremely'];
var levels = {};
// logic
for (var i = 0; i < 5; i++) {
var val = Math.round(Math.random() * variationScale);
levels[components[i]] = val;
id += val.toString(16);
var position = 'negative';
if (val > (variationScale / 2)) {
position = 'positive';
deviationFromExtreem = Math.round((val - (variationScale / 2)) * ((variations.length - 1) / (variationScale / 2)));
variation = variations[deviationFromExtreem];
} else {
deviationFromExtreem = Math.round(val * ((variations.length - 1) / (variationScale / 2)));
variation = variations.reverse()[deviationFromExtreem];
}
var words = personalityMap[components[i]][position];
words.splice(words.length - 1, 0, 'and');
descriptions.push(variation + ' ' + words.join(', ') + '.');
if (position == 'negative') {
// undo array reversal
variations.reverse();
}
}
// format output
return {
id: id,
scale: variationScale,
levels: levels,
descriptions: descriptions
};
}
// generate an 8 factor intelligence model (16^8 = 4,294,967,296 possible models)
function generateIntelligence() {
var intelligenceMap = {
naturalist: ['understands living things','knows how to read nature'],
spacial: ['can visualize spacial concepts in their mind'],
musical: ['understands music and its properties','can play musical instrument(s)'],
kinesthetic: ['has coordination between mind and body'],
linguistic: ['can find the words to express themselves','can learn other languages'],
intrapersonal: ['understands themselves','understands their own emotions'],
interpersonal: ['understands other people','senses other people\'s emotions and motives'],
mathematical: ['quantifies things','does math','solves problems']
};
var components = ['naturalist','spacial','musical','kinesthetic','linguistic','intrapersonal','interpersonal','mathematical'];
var positives = ['fairly well','fairly easily','very well','like its nothing','exceptionally well'];
var negatives = ['as much as the average person may','somewhat poorly','rather poorly','very poorly','so poorly its embarrassing'];
var descriptions = [], variationScale = 15, levels = {}, id = "";
// logic
for (var i = 0; i < 8; i++) {
var val = Math.round(Math.random()*variationScale), deviationFromExtreem;
id += val.toString(16);
levels[components[i]] = val;
if (val > (variationScale / 2)) {
deviationFromExtreem = Math.round((val - (variationScale / 2)) * ((positives.length - 1) / (variationScale / 2)));
intelligenceMap[components[i]].forEach(function(desc){
descriptions.push(desc + ' ' + positives[deviationFromExtreem]);
});
} else {
deviationFromExtreem = Math.round(val * ((negatives.length - 1) / (variationScale / 2)));
intelligenceMap[components[i]].forEach(function(desc){
descriptions.push(desc + ' ' + negatives[deviationFromExtreem]);
});
}
}
// format output
return {
id: id,
scale: variationScale,
levels: levels,
descriptions: descriptions
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment