Saturday, November 28, 2020

11. Soul Algorithm Description:

 

Algorithm Prerequisite setup:


11.1       Creation of a Soul


New soul created, assigned id is 20170314151015bdctg.


11.2       Initiating senses


20170314151015bdctg soul has five senses as following

20170314151015bdctg.Sight  

=> Can take input for Shape (Value: round, rectangular, triangular etc.)

=> Can take input for Color (Value: red, green, blue etc.) 

20170314151015bdctg.Taste

=> Can take input for Taste (Value: sweet, sour etc.)

20170314151015bdctg.Touch

=> Can take input for Touch (Value: hard, soft etc.)

20170314151015bdctg.Sound

=> Can take input for Sound (Value: loud, quiet etc.)

20170314151015bdctg.Smell

=> Can take input for Smell (Value: sweet, bad, chemical etc.)

Now we have to setup scale for each value for each senses, for example let us consider about color; the hexadecimal color value are different for red -> more deep red – more dark red. Same way our value of unit scale will be different for like sweet-> more sweet, loud -> more loudly


11.3     Predefined KB development

As discussed earlier here we set up predefined or natural knowledge or instinct, here we will define instinct type and value like as following

Define Identity

Identify self (20170314151015bdctg) or any impression or event by unique vale

……… etc 


11.3.1 Define Relations

20170314151015bdctg.PKB.Relation.Direction

=> Can take input for Direction (Value: right, north, up etc.)

20170314151015bdctg.PKB.Relation.Connection

=> Can take input for Relation (Value: have, is, of etc.)

20170314151015bdctg.PKB.Relation.Owner

=> Can take input for Time (Value: parent, child etc.)

……… etc


11.3.2 Define Unit

20170314151015bdctg.PKB.Unit.time
=> Use to process time (Value: min, sec etc.)

20170314151015bdctg.PKB.Unit.length
=> Use to process length(Value: M, CM etc.)

……… etc


11.3.3 Define Rules

20170314151015bdctg.PKB.Rules.Time
=> Can process time (Format: initial_state, applied_factor, affected_factor, result, exception)

20170314151015bdctg.PKB.Rules.count
=> Can process count(Format: initial_state, applied_factor, affected_factor result, exception)

……… etc


11.3.4 Define Felling


20170314151015bdctg.PKB.Felling.Hungry
=> Can process Hungry felling (Format: flag, reason, scale)

20170314151015bdctg.PKB.Felling.Happy
=> Can process Happy felling(Format: flag, reason, scale)

……… etc


11.3.5 Initiate Soul value

self _id= 20170314151015bdctg
good_value = 50
good_value_target = ++
happy_value = 50
happy_value_target = ++
bad_value = 50
good_value_target = --
hungry_value = 50
hungry_value_target = --

……… etc


In this section we initiate the nature of soul, if we consider usual thinking, a human always find his own good and try to increase his good or positive things and also with this try to avoid or decrease negative events. For implementing these cases we have to initiate the soul values. 


11.4. Soul Algorithm: Illustrating


A simple soul has been created and it will start learning.


To avoid complexity we will ignore some issues mostly related with predefined KB like gravity, space etc.

As discussed earlier as we do not have any smart sensor so when this algorithm learns something, it will use our eyes or ears or nose. That means when the algorithm ask input, we will input data according to its format.

Let’s see a case; in this case we are going to input data about “apple” considering that the apple is unknown. So according to algorithm


Step 1: For any new impression, the algorithm will ask the values for each basic senses like for sight sense it is round and color is green (considering initial stage of apple), it has good smell, it tastes sweet, it is kinds of soft to touch, it is not generating sound…...etc. If basic senses matched with any existing impression like suppose the impression "water" is already exists in the network, then we may have to create any new branch of the network like "source" or "parent" of the impression. For example we can get water from river and also from rain too.


Step 2: Here we link the impression “apple” with other impressions like

apple->grows-> from->trees. Considering that the impression “tree” is already stored on the database and the definition of  “grows” and “from” are already defined on predefined KB.


Step 3: In this step we will update the impression network with the new impression “apple”. As we observed apple is growing from trees so the impression “apple” is the child impression of parent impression “tree”. So we should create a new branch of existing impression network from the existing member of the network “tree” and put the new impression “apple” other side of the branch like following

existing impression network ->tree->grows->apple


Step 4: We got a new member in the impression network, now we will register the new impression “apple” in the impression lifecycle. In the impression lifecycle different natural factor like light, time, temperature, will be applied unit wise and the result after applied factor will be updated on the impression networks on associated impressions and associated branch. For example after certain period of time a green apple becomes red and sweeter. Whenever we got different result from initial result we will update the impression network. So we got a result after applying some unit of time and temperature on the impression “apple”. Now we should update associated impression and branch. For the discussing example the associated branch should be update most likely following ways-


existing impression network ->tree->grows->apple->20 days->red


And more sub branches will be generated from the impression “apple” like

apple->20 days->bigger

apple->20 days->sweeter

apple->20 days->softer


Now if we get another impression let suppose “juice”, then we will update the existing branch of existing network in following way

existing impression network -> tree->grow->apple->pressure->juice


Here “pressure” is predefined and after registering the new impression juice in the impression lifecycle and after applying natural factors on “juice”, more sub branches will be generated from the impression “juice”.


Step 5: Before starting this step let's take a look at human learning process. Whenever we experience any new events around us, we memorize the event category wise. Let's explain; suppose we are observing orange juice making process for the first time, in this event there are two parts as following


Info Part: color of orange juice is “orange” (ignoring others)

Rule part: if pressure is applied on fruits, it turns into juice. (ignoring others)


So from impression lifecycle, we extract information and rule for every applied factor and store these for using into next steps.


Step 6: At this step we will work in the core of the algorithm, as again let's see another side of human learning process. In every moment we are experiencing new and repeated events, some events are liked by us or disliked or some events are useful and some are harmful. We always are accepting the positive events and want more positive and better for anything. This is our soul. Our soul likes good, want to be stay good and expect to be better for any case. Our soul is curious and when its curiosity satisfied it becomes more curious. These cases like fillings good, bad, like, love, hate, couriers are treated as soul value in this algorithm. In the impression lifecycle for every result of applied factor we will update the corresponding soul value. For example for a ripe apple tasting we will get good filling and will experience bad filling for rotten apple. So in the impression lifecycle when applied factor on a green apple is 20 days and result is a ripe apple and it's “taste” value is good, we will update the soul value of this entry in the positive direction at the same time we will also increase the target value so that the algorithm always seeks a better result for any case. Same way we will do opposite for a rotten apple decrease the target value.


Step 7: This an important step to increase knowledge using existing knowledge. For example if we know that “ Orange juice is good for health” then simply we can say “Apple juice is good for health” and it is a valid knowledge. We can generate this new knowledge because we know that the orange and apple both are fruits. So for generating knowledge from existing knowledge, we have to categories the impressions. In this case the impressions those have similar or close sense values and giving similar output after applying same factor in the impression lifecycle, these impressions will go under same group.


Step 8: We already categories all the impressions according to their nature and reaction against basic factors. Now whenever we get discover new rule or info with any impression, we will apply the rule to the all members of the corresponding impression group. For example the impression “water” is the member of “liquid” group. Simply we know that water can put out fire. so PRIMARILY we can apply this rule on the all members of liquid group ( but the rule is not always true for all cases; these exceptions will be handed on the next step). Now we found that juice is also a member of liquid group, so according to algorithm can we say - “juice can put out fire”?. Yes we can and it is a valid rule. 


Step 9: As we discussing earlier if we apply any impression’s rule on the all members of that's group, there will be some errors for exception. For example petrol or diesel can be primarily registered under liquid group, but these are not totally appropriate for putting out fires like other liquids. So for every generated rule there should be “exception” field which will be updated time to time.


Step 10: Let's go back at the beginning of the article to the new born baby. When a baby learn something new then he applies his new learning to another new things he found, for example we observed that a baby try to eat everything he found around him. He accept it if that thing was suitable to eat and reject otherwise. Same thing happening with other animals also. Living being are learning by permutation and combination of their existing knowledge. Let's explain- consider the following info and rule

 

info: fruits are food

rule: something can be crashed by applying force


in nature we see that when animals or birds found unknown hard fruit, they crash it and try to eat and next time when they found same fruit, they will do the same thing. They have learnt this new knowledge by combining above info and rule.

Let's see another example. We have the impression “water” in our database and also the rule “water can put out fire”. And we have also some other impressions like “apple”, “orange”, “tree”...... etc.


Now add a new impression “carbon dioxide”


Now combining the impression and rule


apple can put out fire- no

orange can put out fire- no

carbon dioxide can put out fire- yes


Now come to the most important point! We are getting new knowledge or info or rule by combining among the rules, activities and impressions. For every result of the combinations or any natural events (like rain drops make sound), something inside us assign a value for that event or knowledge or info. That value is treating here as soul value. While tasting ripe apple we feel good, so value for that combination or applied factor on any impression will go upward and for rotten apple it will go down. At the same time a target value will be set for each cases higher than current value so that the algorithm always search and get the more efficiency. Just we have to defined the rules like positive events or emotion value will have a target of  increasing and vise versa for negative events  in predefined KB section.


Step 11: Actually this step should be applicable whenever we store any impression or rule in the knowledgebase network, For example we will maintain the branches and sub branches of impression and rule network wings wise, like “ yes wing” and “no wing”. For the above case rule 1 and 2 will go under “no wing” and rule 3 will go under “yes wing” and also always put the impressions maintaining parent and child like


tree->grows->apple

water->put out->fire

this structure will help to generate valid sentence like if we bind the branches not to go reverse then we can say

tree grows apple is valid

and in opposite direction


apple grows tree is invalid (ignore exception)


Also


water put out fire is valid


and in opposite direction


fire put out water is invalid (ignore exception)

No comments:

Post a Comment

1.Abstract:

  The base technique of a traditional machine learning or artificial intelligence algorithm has a target for learning and the learning techn...