Click here to Skip to main content
15,896,487 members
Articles / Artificial Intelligence

A Proposed Model for Simulating Human Artificial Intelligence.

Rate me:
Please Sign up or sign in to vote.
4.29/5 (46 votes)
30 Aug 200321 min read 275.7K   2.6K   126  
Unique Jungian and MBTI approach to develop Human Artificial Intelligence
// Self_conscious.cpp: implementation of the CSelf_conscious class.
// The Self: controls inner and outer world consciousness and is fueled
//           by neurotransmitters
// according to Carl Jung...
// - birth to 6 years old, we use all 4 functions in an experimental way
// - 6 until about 12, the dominant function begins to assert itself as 
//   the one in charge of the Self conscious.
// - 12 to 20, the auxiliary function emerges as a powerful support to 
//   the dominant.note it is possible "identity crisis" in adolescence 
//   may not be clear as to what their type preferences are.
// - 20 to 35, we begin to utilize are third function, and may develop
//   hobbies that require the use of that function.
// - 35 to 50, inferior function demands attention. "mid-life crisis"?
// - 50 on, have available all four functions to use depending on the
//   situation, we continue to depend on our dominant, the auxiliary
//   remains loyal and teams with the dominant, the third function
//   when used, it is used with less difficulty than in the past.
//   The inferior function remains mainly out of conscious control
//   but it is not act in such a rambunctious way as in the past.
//   we listen to it more wisely and defuse it more quickly.
//
// HOW THE SELF IS ENERGIZED
// =========================
// Extraverts (E-J or E-P) are energized by the outside world
// Introverts (I-J or I-P) are energized by the inner world
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "carl.h"
#include "Self_conscious.h"
#include "NLP.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSelf_conscious::CSelf_conscious()
{

}

CSelf_conscious::~CSelf_conscious()
{

}

CString CSelf_conscious::Sensation(CString m_in)
/*
Sensation: Deals/Collects with whatever is specific and concrete(collected from
			the five senses). It focuses on Details and Facts

An idea of how this function could be programmed?...
Comparison between Karl Pribram's "Holographic Brain Theory" and 
more conventional models of neuronal computation
http://www.acsa2000.net/bcngroup/jponkp/

also On the Information Processing Capabilities of the Brain:
Shifting the Paradigm
http://www.seas.gwu.edu/~berkov/Theory.htm

also A sensory modality contains behaviors which correspond to environmental 
invariants, not knowledge about environmental regularities.
http://www.singinst.org/LOGI/levels/illustration.html

*/
{
	CString m_out;
	m_out = "";
	CNLP nlp;
	extern int itask;			//a person can only do one task at a time
								//one can multitask by arranging task by importance,
								//but still only do one at a time

	//what percentage is sensation working at?
		//many factors here but for starters neurotransmitter probably affect this
		//does the personality type like using sensation?
	extern int int_PerceivingPref;			//0= Sensation 1=iNtuition
	if(int_PerceivingPref == 0)//Sensation
	{
		m_out += " Sensation() is working at 90%\r\n";
		//this means most of the facts and details will get acknowledged
	}
	else//doesn't like to use sensation
	{
		m_out += " Sensation() is working at 50%\r\n";
		//this means most of the facts and details MIGHT NOT get acknowledged
	}


	//Has Carl heard the sentence from the hearing sense?
	//coding note: this is just a "dummy" code obviously not AI :P
	//I would hope the experts (Team Leaders/coders/scientists) can do better
	extern int currentQuestion;
	extern int int_outerworldmessage;       //0= no message 1= message

	if(currentQuestion > 0)
	{
		m_out += "Sensation() has heard the Question: \"Please, tell me about yourself.\"\r\n";
		nlp.setcurrentsentence("Please, tell me about yourself.");
		m_out += nlp.parcesentence();

		//reset question var
		currentQuestion = 0;

		//tell var there is a message to send to the outer world
		int_outerworldmessage = 1;
	}
	

	return m_out;
}

CString CSelf_conscious::Intuition(CString m_in)
/*
Intuition: Generates Context and Abstrational information.

An idea of how this function could be programmed?...
A Computational Model of Context Processing
http://www.singinst.org/LOGI/levels/illustration.html

also Creating Abstractions Using Relevance Reasoning
http://www.cs.washington.edu/homes/alon/site/PaperAbstractPresentation_bib18.html
*/
{
	CString m_out;
	m_out = "";
	CNLP nlp;
	extern int itask;			//a person can only do one task at a time
								//one can multitask by arranging task by importance,
								//but still only do one at a time

	//what percentage is intuition working at?
		//many factors here but for starters neurotransmitter probably affect this
		//does the personality type like using intuition?
	extern int int_PerceivingPref;			//0= Sensation 1=iNtuition
	if(int_PerceivingPref == 0)//doesn't like to use Intuition
	{
		m_out += " Intuition() is working at 50%\r\n";
		//this means most of the facts and details will get acknowledged
	}
	else//Intuition
	{
		m_out += " Intuition() is working at 90%\r\n";
		//this means most of the facts and details MIGHT NOT get acknowledged
	}
	

	return m_out;
}

CString CSelf_conscious::Feeling(CString m_in)
/*
Feeling: Based on a process of valuing (looks at things subjectively and personally).

The "feeling" type. The traditional definition differs from mine; I consider feelings to 
be one mode by which intuition relays information to us, whereas "feeling" in typology 
refers to emotions and impulsiveness -- and there is a separate typology category for 
"intuition." (The traditional definition of the "feeling" type corresponds to the 
"energy toning" of archetypal field-work.) 
The feeling mode is effective in circumstances which require emotional expression and warmth. 
The feeling mode is ineffective if we employ it at times when we could be using the 
other modes of typology. For example: 
We react irrationally in decisions which require the intellectual scrutiny of "thinking." 
We "follow our feelings" even when they contradict obvious material reality 
(as presented by the physicality of "sensations"). 
We permit our emotional drives to override contradicting signals from our intuition. 

*/
{
	CString m_out;
	m_out = "";
	CNLP nlp;
	extern int itask;			//a person can only do one task at a time
								//one can multitask by arranging task by importance,
								//but still only do one at a time

	//what percentage is Feeling working at?
		//many factors here but for starters neurotransmitter probably affect this
		//does the personality type like using Feeling?
	extern int int_JudgingPref;			//0= Thinking 1=Feeling
	if(int_JudgingPref == 0)//Feeling
	{
		m_out += " Feeling() is working at 50%\r\n";
	}
	else////doesn't like to use Feeling
	{
		m_out += " Feeling() is working at 90%\r\n";

	}

	return m_out;
}

CString CSelf_conscious::Thinking(CString m_in)
/*
Thinking: analyzes using of logic and mathematics.


*/
{
	CString m_out;
	m_out = "";
	CNLP nlp;
	extern int itask;			//a person can only do one task at a time
								//one can multitask by arranging task by importance,
								//but still only do one at a time

	//what percentage is Thinking working at?
		//many factors here but for starters neurotransmitter probably affect this
		//does the personality type like using Feeling?
	extern int int_JudgingPref;			//0= Feeling 1=Thinking
	if(int_JudgingPref == 0)//Feeling
	{
		m_out += " Thinking() is working at 90%\r\n";
	}
	else////doesn't like to use Feeling
	{
		m_out += " Thinking() is working at 50%\r\n";

	}	

	return m_out;
}

CString CSelf_conscious::Perception(CString m_in)
/*
PERCEPTION - a process by which we take in, OR gather, OR become aware of data.
At any given moment Sensation() OR Intuition() executes PERCEPTION() BUT NEVER at 
the same time.
Sensation() and Intuition() are opposites and they try to do our Perceiving 
for us. S and N make a team.
*/
{
	CString m_out;
	m_out = "";

	//is person an introvert or extrovert?
	extern int int_energizedby;			//0= introvert 1=extravert
	if(int_energizedby == 0)
	{
	}
	else
	{
	}

	//Sensation() and Intuition() is used but the personality has it's preferences
	//which is determined thru the functions

	//The Role of the Auxilliary/not dominant function:
	//examines if enough information is gathered by the dominant and determines
	//what to do with it. Without balance you get a personality that gets
	//excited in whatever is happening at that moment but seems not to be able to
	//make any judgments or decisions. They may seem to be "flakes".

		m_out += Sensation(m_in);
		m_out += Intuition(m_in);

	

	return m_out;
}

CString CSelf_conscious::Judgement(CString m_in)
/*
JUDGMENT - a process by which we order, OR hierarchize, OR come to closure OR 
conclusion on the data perceived.
At any given moment Thinking() OR Feeling() executes JUDGMENT() BUT NEVER at the same time.
Thinking() and Feeling() are opposites and they try to do our Judging for us. 
T and F make a team.
*/
{
	CString m_out;

	//Feeling() and Thinking() is used but the personality has it's preferences
	//which is determined thru the functions

	//The Role of the Auxilliary/not dominant function:
	//examines if enough information is gathered by the dominant and determines
	//what to do with it. Without balance you get a personality that gets
	//excited in whatever is happening at that moment but seems not to be able to
	//make any judgments or decisions. They may seem to be "flakes".

		m_out += Feeling(m_in);
		m_out += Thinking(m_in);

	return m_out;
}

CString CSelf_conscious::Extrovert(CString m_in)
/*
	//The Dominant is either Sensation, iNtuition, Feeling, or Thinking
	var m_Dominant = (S OR T OR F N);
	//The Auxiliary is the opposite of the Dominant AND can not be the same
	var m_Auxiliary = (S OR T OR F N && m_Dominant !=  m_Auxiliary);

	//Extroverts use the Dominant as interface with outside world
	var m_InterfaceOutside = m_Dominant;
	//Extroverts use the Auxiliary to interface with themselves
	var m_InterfaceInside = m_Auxiliary;

According to Myers' "type balance", Extroverts want a well developed introverted side 
so to make use of Perception and Judgment. Perception without Judgment produces
fickle and undependable personalities. Judgment without Perception leads to rigidity. 
*/
{
	CString m_out;
	

	return m_out;
}

CString CSelf_conscious::Introvert(CString m_in)
/*
	//The Dominant is either Sensation, iNtuition, Feeling, or Thinking
	var m_Dominant = (S OR T OR F N);
	//The Auxiliary is the opposite of the Dominant AND can not be the same
	var m_Auxiliary = (S OR T OR F N && m_Dominant !=  m_Auxiliary);

	//Introverts use the Auxiliary as interface with outside world
	var m_InterfaceOutside = m_Auxiliary;
	//Introverts use the Dominant to interface with themselves
	var m_InterfaceInside = m_Dominant;

According to Myers' "type balance", Introverts want a well developed extroverted side 
so to make use of Perception and Judgment. Perception without Judgment produces
fickle and undependable personalities. Judgment without Perception leads to rigidity.
*/
{
	CString m_out;
	

	return m_out;
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Chief Technology Officer Earthbotics.com
United States United States
Born in Pennsylvania (USA), just north of Philadelphia. Joe has been programming since he was ten[now much older]. He is entirely self-taught programmer, & he is currently working as an IT Manager in Seattle WA. He was previously U.S. Navy Active Reservist for (SPAWAR)
In '98 was honorably discharged from the USN. He served onboard the USS Carl Vinson (94-98) He was lucky enough to drink President Clinton's leftover wine, promoted by his Captain, and flew in a plane off the flightdeck but not all at the same time. His interests, when time allows, are developing
misc apps and Artificial Intelligence proof-of-concept demos that specifically exhibits human behavior. He is a true sports-a-holic, needs plenty of caffeine, & a coding junkie. He also enjoys alternative music and a big Pearl Jam, Nirvana, new alternative music fan, and the Alison Wonderland.
He is currently working on earthboticsai.net<> which he says is fun and cool. Cool | :cool: :cheers:

Joe is an INTP[
^] personality type. Joe "sees everything in terms of how it could be improved, or what it could be turned into. INTP's live primarily inside their own minds." INTPs also can have the "greatest precision in thought and language. Can readily discern contradictions and inconsistencies. The world exists primarily to be understood. 1% of the total population" [

Comments and Discussions