Download Latest Version ZCALC_C_1.0.tar.gz (87.3 kB)
Email in envelope

Get an email when there's a new version of International System Automation2

Home / simi
Name Modified Size InfoDownloads / Week
Parent folder
README.simi 2013-03-15 6.5 kB
simi_dat3.c 2013-03-15 2.1 kB
simi_dat2.c 2013-03-15 2.1 kB
simi_dat1.c 2013-03-15 7.0 kB
simi.test3.log 2013-03-15 372 Bytes
simi.test3.c 2013-03-15 1.3 kB
simi.test2.log 2013-03-15 372 Bytes
simi.test2.c 2013-03-15 1.3 kB
simi.test1.log 2013-03-15 1.4 kB
simi.test1.c 2013-03-15 4.8 kB
simi.c 2013-03-15 23.4 kB
simi.h 2013-03-15 820 Bytes
Makefile.simi 2013-03-15 2.9 kB
Totals: 13 Items   54.4 kB 0

                  Gene Proportional License/GPL

  If you are congenitally more beautiful and stronger and wiser 
  than me, you can freely handle this algorithm and source code 
  for any purpose, except for destroying the hierarchy of gene. 
  If not, patience.

                                                Tadayuki HATTORI
                                            taddyhatty@gmail.com


  'simi'

  When I wrote a technical report of "artificail humanity" on 
  IEICE, I guessed that many people couldn't imagine the 
  realistic algorithm of it. Now, I wrote an algorithm of it. 
  This is an algorithm to extract typicality from data sequences. 
  I think this is the basic core logic of creativity of human 
  being. Many animal's behavior, creativity of human being are 
  consisted of repetition of this logic. Yes, this logic can be 
  a circuit. You may not able to get confirmation of this proposal 
  without demonstration or evidene. 
  By the way, When you watch a movie, can you feel that you can 
  act as the actor? Can you play as Toshiro Mifune or Jackie Chen? 
  When you see cartoon, can you feel that you can write such things 
  with same way? Can you draw cartoon like as Katsuhiro Ohtomo? 
  When you watch Disney characters, can you feel that you can 
  design such things with same way?
  If not, your culture-skill is not yet enough for understanding 
  the algorithm of creativity. I recommend you to pay more money 
  for enjoying culture as investment. The algorithm of creativity 
  is easy. You can write a program of creativity, but you can't 
  feel confidence of the algorithm until someone will show a 
  demonstration. I guess that many people can't imagine how to use 
  this algorithm.

  'simi' means 'similarity'

  This algorithm calculate the degree of similarity from two data 
  sequences, and create a new sequence from the two data sequences.
  It's very easy logic. In order to calculate the degree of 
  similarity of the two data sequences, I use below formula.

  The degree of similarity =
    The number of same elements -
    The number of different elements +
    The number of same sequences +
    The total length of same sequences

  For example, let's consider the case of generating a new set 
  from two sets.

  set a {0,1,2,3,8,7,16,27,81,91,92,93,101,5,8,}
  set b {8,1,2,3,6,9,8,2,5,89,5,92,93,9,13,}

  This algorithm automatially create a new set 'c' from above two 
  sets 'a' and 'b'.

  set c {0,1,2,3,8,9,16,2,81,5,92,93,8,9,101,}

  At first, what is the same elements of the two sets?
  Same elements are {1,2,3,92,93,8,5,8}. 
  So, the number of same elements is 8.
  Next, what is the different elements of the two sets?
  The different elements of set a are {0,7,16,27,81,91,101}.
  The different elements of set b are {6,9,2,89,5,9,13}.
  So, the number of different elements is 7.
  Next, is there any same sequences on a and b?
  Same sequences are {1,2,3} and {92,93}.
  The number of same sequences is 2.
  The total length of same sequences is 5.
  Then, the degree of similarity is 8 - 7 + 2 + 5 = 8. 

  This is a algorithm to create a new set from two sets.
  The API is very easy. There are only three c-functions,
  That's all.

  void simi_init(int v);
  void simi(set* a,set* b,set* c);
  void simi_final();

  The simi() function create a new set 'c' from two sets 'a' and 
  'b', and return the degree of similarity of a and b. 
  Basically, the length of set a and set b have to be same.
  This algorithm can be adapted, only when the length of data 
  sequences are same. Why is this designed like as that?
  When human being compare two experience, the quantity of 
  information of the two experience is almost same. Because the 
  quantity of information handled by ear or eye are almost 
  constant through day living. That's why this algorithm is 
  designed for compare same-length-data-sequences.

  How does this algorithm work? 

  For example, let's consider the case of generating a new set 
  from two sets. This is the overview of algorithm of 'creativity'. 

  set a {0,1,2,3,8,7,16,27,81,91,92,93,101,5,8,}
  set b {8,1,2,3,6,9,8,2,5,89,5,92,93,9,13,}

  At first, discovering the same elements from the two sets. 
  Same elements are {1,2,3},{92,93},{8},{5},{8}. 

  Next, remembering the length, location and distance of the same 
  sequences.
  The length of {1,2,3} is 3.
  The location of set a of {1,2,3} is 1.
  The location of set b of {1,2,3} is 1 also.
  The distance of {1,2,3} is 1 - 1 = 0.
  The length of {92,93} is 2.
  The location of set a of {92,93} is 10.
  The location of set b of {92,93} is 11.
  The distance of {92,93} is 11 - 10 = 1.
  The length of {8} is 1.
  The location of set a of {8} is 4.
  The location of set b of {8} is 0.
  The distance of {1,2,3} is 4 - 0 = 4.
  The length of {5} is 1.
  The location of set a of {5} is 13.
  The location of set b of {5} is 8.
  The distance of {1,2,3} is 13 - 8 = 5.
  The length of {8} is 1.
  The location of set a of {8} is 14.
  The location of set b of {8} is 6.
  The distance of {1,2,3} is 14 - 6 = 8.

  Next, create a new set 'c'.
  {o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,}

  The length of set 'a' is 15. 
  The length of set 'b' is 15 also. 
  Then, the length of set 'c' is 15 also. 

  Insert same elements in order from short distance.
  At first, the distance of {1,2,3} is 0. 
  Then, insert {1,2,3} into the new set 'c'. 
  The location of set a of {1,2,3} is 1, and the location of set 
  b of {1,2,3} is 1 also, then insert {1,2,3} to the location 1 
  of set 'c'.

  {o,1,2,3,o,o,o,o,o,o,o,o,o,o,o,}

  Next, the distance of {92,93} is 1. 
  The location of set a of {92,93} is 10 and the location of set 
  b of {92,93} is 11, then insert {92,93} to the location
  10(=(10+11)/2) of set 'c'.

  {o,1,2,3,o,o,o,o,o,o,92,93,o,o,o,}

  Next, insert {8},{5},{8} into set 'c' with same way.

  {o,1,2,3,8,o,o,o,o,5,92,93,8,o,o,}

  Next, listup different elements of thw two sets. 
  The different elements of set 'a' is {0,7,16,27,81,91,101}.
  The different elements of set 'b' is {6,9,2, 89,5, 9, 13}.
  Insert the different elements alternately.
  The {0}{9}{16}{2}{81}{9}{101} are inserted into set 'c'.

  {0,1,2,3,8,9,16,2,81,5,92,93,8,9,101,}

  This is the overview of algorithm of 'creativity'. 
  The rules of new set generation are just only two.  
  1. Grouping same elements in order from long sequences. 
  2. Insert same elements in order from short distance.

  You can create human-brain-like-computer with this logic!


Source: README.simi, updated 2013-03-15