Tuesday, June 19, 2012

Fuzzy logic and is it really fuzzy? - an excerpt about pseudo logical paradoxes, the non-impressiveness of fuzzy logic and some aspects of sensori-motor generalizing generally-intelligent systems - from "Teenage Theory of Mind and Universe", Part 4, from 2004 - for reference in a thread in the AGIRI AGI List ...

I wrote about this in my "Teenage Theory of Mind and Universe", Part 4, section 21", first published in early 2004.

(C) Todor Arnaudov 2004 (in Bulgarian)
English translation (C) 2011

21. Fuzzy logic and is it really fuzzy? [Also Truth, comparison … ], p.21 - p.25 in the formatting linked above.

This is one of the answers in a thread in the AGI List (I may add the responses here also now or later, stay tuned):

This section explains about principles of recognition and generalization in generalizing sensori-motor hierarchies, including inter-modal matching - somatosensory-proprioceptive-visual-gustatory - for finding stable patterns in the inputs.


21. Fuzzy logic and is it really fuzzy?

[Also Truth, comparison … ]

Fuzzy logic is based on, they say so, partially
true and partially false statements, whose truth
is defined in fractions, instead of binary
true/false in classical logic.

However is fuzzy logic really fuzzy?

Let's start from the concept of “truth”. In Part 3 it
was defined like this:

From “Universe and Mind” - Part 3:

50. The truth is a match if the knowledge (or
confidence, belief, persuasion [, desire])
matches something that is perceived somewhere
else later, then the new one is true, compared to
the old; on the other hand, if the new one is
different, it's “a lie” (false) or it becomes truth
and the old truth turns into full or partial false,
depending on how the new truth is different
from the old one. The more the newly evaluated
for “truth” input piece of knowledge [pattern]
matches a piece of knowledge [pattern] from the
memories of mind, the more it's “truth” and
“actual”, according to mind. Therefore,
determining a “truth” is a determination of
difference between past and wanted present.
(“Wanted” was missing in the Part 3 writing,
added here in Part 4).


[“Truth” in Bulgarian is “Istina”]

Interestingly, in Serbian “isto” means “same” -
it has morphological association to “same”,
because the statement that a given feature is
“truth” means also that:

TRUTH: The feature [specifics, detail] that is
being evaluated matches the pattern/template - it
is the same as in the pattern, at a given
resolution of perception. (*That's a definition of mine.)

The difference between fuzzy and binary logic
is that the first uses higher resolution of
perception when searching for matches. Fuzzy
logic works with more degrees of freedom,
representing the existence or miss of a match.
Fuzzy logic uses also “latent variables” which
determine whether a statement is true or not
true.

In the most simple form of classical formal
logic, there are no latent variables and the
degrees of freedom for expressing presence or
lack of ta match are only two.
Fuzzy logic uses numbers with any precision,
while formal logic uses only 1-bit. However,
many sequential 1-bit logical elements can be
connected together to construct parallel (multibit)
logical units – this topic was discussed in
Part 2.

Thus “Fuzzy” logic is a derivation of the
Classical, that is using redundancy of
information. For example, this is how usually
human recognize images [objects, by vision]:

If the image possesses at least one feature of the
remembered features for any object, and no
other object has this feature, then the image is of
this object.

For example, how do we recognize that a
bitten apple is still an apple?


Behavior always depends on specific memories
of the control unit.

If a little child bites an apple for the first time,
he would get to know, that the image of the
inside of the apple is also an image of an apple,
because the object that he's holding in his hand,
after biting a piece of, is remaining the same.
This is learned earlier the following way:
If one eats a slice of bread, when biting from it
or breaking off pieces, then the remaining keeps
being the remaining of the same thing – slice of
bread, unless an action to move out the data
recorded in hand memory is performed: to free
it from holding the slice of bread, or to input
new data to the same hand – to catch and hold
something else. If one didn't left what he was
holding and didn't get something else, but he is
keeping to feel something with his fingers and
to see it, then this should be the remaining of the
slice of bread.

Then, “remaining of a slice of bread” is a subset
of “a slice of bread” and it's a representation of
an object that is built by the tissue [the matter;
visually also the texture] of the slice of bread in
its initial state, where the Initial state is the
perception of the slice of bread in the moment
when one takes it to his hand and sees it for the
first time.

Therefore the bitten apple is a state of [the
concept of] “apple” that the child remembers. If
in the previous moment the apple was in his
hand and he knew, that he's about to bite a piece
of it, then he's still having the information that
he keeps holding an apple, because in the
previous cases, after similar action he has
discovered that he was still eating an apple.

[How do we know that? Easily: ]

We know that after a bite the thing in our hand
is still an apple, because the taste of the pieces
that we bite afterward are close enough to the
taste of the previous ones. Since the taste was
the same and since we know that after holding
an object in hand it would keep existing and
staying in our hand, unless we leave it or stop
feeling its impact [on fingers, hand; weight;
warmth etc., related to permanency of
existence], therefore [we conclude] that the
object keeps being in our hand, implying that
the object – a bitten apple – is still an apple.

The representation of an object is a set of all
its states a mind has memories of. (…)


If an object has attributes allowing to
discriminate it as a sub-type of a concept – a
type of apple, bike, wheel – then it's going to be
recognized.

The representation of an object is remembered
as examples of that object. The general and the
specific is extracted from the examples.

“The paradox” of the liar:

Goodlier from the village of Good Lierville
once said, that all of his fellow villagers and him
are liars, and then he asked is he lying if he says
this?

If he lies, then he's not a lier, therefore he
doesn't lie. However, he's from Good Lierville,
therefore he's a lier. What a “paradox”, I'm
totally confused!? Really?!

I'm sorry, but I wouldn't even really call this a
“paradox”, but a play of words and “pseudo
wisdom”. What I'd answer to this Goodlier
character is:

- I don't know do you lie or not, there is not
enough input data.

I'd say him also that he's a liar anyway, no
matter is he lying in this very moment, because
probably he's trying to trick me that he's wise
(sorry, he failed).

One or two sentences in this or similar
“paradox” cases are not enough to imagine a
definite non-ambiguous what this is all about.
For example, many people would believe that
they know what a “liar” means once they hear
the word.

Well, what does a liar means? [Unfortunately],
The practical value of general concepts in
execution of direct [immediate, specific] actions
is... fuzzy in such cases.

Which one of all possible meanings and
happenings [events, stories, memories,
interpretations] that our mind has for a “liar” the
story teller meant in this particular case?
What does it mean to be “from Good
Liarsville”?

Was Goodlier born there or he lives
there, or he's a fan of the football team of the
village? Or he has relatives there? Or he is
originally from a village in this commune. It is
possible that liars are the ones for whom one of
this is true, but not all, and anyway - being a liar
[in common sense] does not mean that you're
lying in every single sentence.

Therefore it's impossible to conclude is
Goodliar lying in this very situation or not, as
it's impossible to say definitely in more realistic
cases from the daily live, where there are no
[artificially] tangled premises and consequences
[causes and effects].

In reality there are many causes and man
possibilities to explain what's happening [and
why].

Sometimes input data is not enough to
find a [persuasive] proof only on their basis.
According to my current understanding, mind
works with specific concepts, and not general;
in specific concepts everything is as precisely
defined as possible, while with the general
concepts, there are too many undefined which
easily lead to “paradoxes”, i.e. to insufficiency
of input data for determining whether a
statement belongs to a group [set/class].
Said otherwise, the description of the story is
black and white, but we're asked what color is it.

Or there are many colors on a picture, evenly
spread, and we're asked to specify of what color
is the picture: only one single color.
Overall, in the above conditions the asking unit
has too low resolution of perception and not
enough memory in order to think us precise as
the evaluating unit – us. [The answer of the
question requires to lower the resolution of the
input and to loose details].

The one asking the questions does not
understand [discriminate, recognize, perceive]
all details we do, and in order to communicate
with it, we should act according to its model.
We see the indefiniteness and the simultaneous
“truth” and “false” [error, mismatch] of each
possible actions, according to our own
resolution of perception, but we should select
from the offered possibilities.

In case we're asked to select only one feature of
all and there is no “I don't know” option, then
mind would create a model for selection of
some of all, based on other, lateral data; of data
which did not come from this specific situation.
Since the device proposing us the possibilities
lacks brains to differentiate black-and-white and
color image or a motley and one-colored
picture, then this device is forced to lower the
resolution of perception and to delete part of its
memories [records] that otherwise we would
have [possessing higher resolution of
perception].

This device can call a motley picture with one
color and can have it's defined reasons, but
apparently it would not be able to make
inferences about many colors placed on one
canvas.

Monday, June 18, 2012

Човешкият разум работи със списъци - избрана статия от сп. Свещеният сметач от 2003 | Human mind works using lists/sequences

Статия относно особености в работата на човешкия ум и някои функционални абсурди на човешкия мозък, които отбелязаи и за които писах още преди 10-тина година (в "Човекът и мислещата машина", и в основополагащите части на "Схващане за всеобщата предопределеност"), а по-късно и използвах термина "Парадоксите на универсалността на мозъка" в курсовете, които водих по-скоро.

Статията съдържа някои твърдения, които Джеф Хокинс прави след това в книгата "За интелигентността/ума" (On Intelligence) през 2004 г., затова че човешкият мозък работи с поредици ("sequences")*.

Човешкият мозък очевидно няма мощна вътрешна памет с пряк достъп по (прост) адрес, всичко минава през тромави и дълбоки списъци (йерархии от списъци) или през външна памет, която има проста адресна структура и човек я гледа (лист/екран/диаграма) - виж последните статии за недостатъците на познавателните йерархии). Това е една от причините хората да са толкова зле с математиката и смятането, нещо което от изчислителна и функционална гледна точка би трябвало да е елементарно за уж толкова върховна система като човешкия мозък.


Речник с думи от юнашкото наречие:

сметалка - калкулатор
букваче - (градивен) елемент
буквосъщ - елементарен
вършач - процесор
казба - инструкция (всякакъв вид, напр. на процесор)
числец - цифра
въобраз - информация
въобразен - 1. информационен.; 2.) въображем, виртуален; съществуващ във въображение (в юнашкото наречие компютърната памет е вид "въображение")

Препечатка на част от оригинална публикация в бр. 20 на сп. "Свещеният сметач",  23/2/2003 г.:
 http://eim.twenkid.com/old/eim20/emil.htm


(C) Тодор Арнаудов

Човешкият разум работи със списъци

Очевидно е, че човешкият разум работи със списъци. На него му е най-лесно да обработва такъв вид информация, защото навързаните неврони са списъци, мрежа. За някои от видовете въобраз, с които се налага на мозъка да работи, обаче, списъкът е неподходящ, понякога съвсем неизползваем, в други случаи е много бавно средство за решение на задачата. Затова човекът, въпреки "невероятната сложност на мозъка си", се справя зле с твърде прости задачи, които са "детска игра" за буковсъщи устройства, имащи обаче стройна памет с пряк достъп. Например изчисленията са много просто нещо. ЕЛКА-22 - втората сметалка на ИЗОТ (1966 г.) съдържа около 2700 елемента, от които само 260 са транзистори, а 180 - феритни сърцевини, т.е. паметта е 180 бита.

Смешно е, например, че мозъкът, който, мозъколюбците твърдят, има памет поне колкото на трилион сметалки, изграден е от над сто милиарда буквачета, всеки от които много по-сложен от транзистор, се нуждае от сметалка или поне външна памет (нещо за писане), за да умножи, да речем, две 3-числецови числа, да не говорим за 12-цифрени, с каквито се справя ЕЛКА-22, със 180 бита памет и 260 транзистора... Затова по-важно е колко памет може да се използва, а не обемът, които "съществува някъде" в мозъка, но разумът не може да впрегне да работи в желаната посока.

Смятам и търсенията ми са насочени към предположението, че Изкуственият разум, създаден на "прост сметач" (известен още като "Фон Нойманов"), който притежава дори само един вършач и изпълнява казбите последователно, ще бъде, съответно, "по-прост" отколкото невронната мрежа, но не и по-лош като разум, а напротив. Невронната мрежа има само "стройна памет с последователен достъп" - списъци, но не и добра памет с произволен достъп, поради което е необходимо постоянно да използва външна, достъпът до която е много бавен. Например, единствено зрението е добра човешка памет с произволен достъп, всяка точка от образа си има ясно и определено местоположение в полезрението. За да пишем в тази памет, обаче, се нуждаем от външни средства, които да гледаме.

Да се върнем към списъка... Списъкът представлява въобразна постройка, при която буквачетата са навързани последователно, така че информацията, необходима за достъп до по-вътрешен елемент, е записана в по-външия, в предходния.

А-Б-В-Г-Д-Е

Ние знаем мястото в паметта само на променливата А. Това букваче се нарича "корен" или "вход". Можем да влезем само през него в списъка. А съдържа някакви данни (напр. буквата "А") и информация за местоположението на следващата променлива от списъка - Б. Б знае къде се намира В и т.н. Б обаче не знае, че произхожда от А, и В не знае, че е наследник на Б. Затова по-сложните списъци (т.нар. двойносвързани) имат връзки в двете посоки: Б има връзка освен към следващото букваче - В, и към предходното - А. При още по-сложните списъци буквачетата могат да бъдат свързани едностранно или двустранно не към един, а към много други буквачета - получава се мрежа. Невроните, например, са буквачета, които имат единствен изход, който сочи следващо букваче, и много входове, стигащи до хиляди.

Примери за списъци в човешката памет

По начало, когато научим азбуката, я помним като еднопосочен списък - знаем, че "А" е първата буква, че "Я" е трийстата - този списък има два корена. За тях е записано, че на "А" отговаря "едно", а на "Я" - "трийсет". Можем ли обаче да кажем коя по ред е еди-коя си буква от вътрешните (предпоследните и няколкото първи също бързо стават входове), например "П"? Можем ли да казваме азбуката отзад напред, ако не сме я учили и по този начин?
Когато тъкмо сме въвели азбуката в паметта си, трябва да проследим списъка с буквите и да преброим тези, през които минаваме, докато стигнем до желаната. Самото броене също е списък, но букваците му се наричат "едно, две, три..." и притежават образно представяне: 1, 2, 3...

За да знаем номера на всяка буква, създаваме нова постройка от данни. Например отваряме още входове в списъка, като запомняме местоположението на още букви, освен А и Я. Запомняме, че Е е 6-та, К е 11-та буква, П - 16-та и т.н. Чрез новите входове на мрежата съкращаваме пътя на търсене до няколко букви.

Можем да запомним и номера на всяка, ако ни трябва пряк достъп, но това изисква много повече усилия, защото на мозъка е много по-трудно да обособи нов списък, нова подмрежа; да отвори нов вход в стар списък, да запомни нов, отделен и несвързан къс знание, отколкото да наниже ново букваче във вече съществуваща мрежа, да удължи съществуващ списък. Затова колкото по-свързано, по-обединено в последователност и цялост е знанието, колкото повече връзки има от мрежата към съответния къс знание, толкова той се запомня и съхранява по-лесно в нея.



* Да, и Джон Макарти използва списъци в LISP, не знам как ги е оправдал, тогава това е била нова структура от данни в информатиката.

Friday, June 15, 2012

High-Performance Computing - GPGPU - CUDA - OpenCL - OpenMP - SSE-CPP-Compilers-Optimizations - Supercomputing -- Excellent Resources | Високопроизводителни изчисления, суперкомпютри, оптимизация на код на С++, графични процесори и др.

While browsing some SIMD SSE optimized image processing code and digging from some time, I reached to a few excellent free resources for boosting your software, I recommend those:

http://agner.org/optimize/
http://supercomputingblog.com/

Препоръчвам следните отлични матерали за оптимизация на код, многонишково/паралелно/матрично програмиране с CUDA, OpenCL, OpenMP, SIMD със SSE, суперкомпютри, оптимизация на код на С++ за различни процесорни архитектури.

Обработка на изображения, image processing, computer vision, компютърно зрение, manuals, tutorials, ръководства, help.

Saturday, June 9, 2012

News: Nimbus DS, High-Quality Audio

  • Lately I've been establishing a partnership with the start-up company "Nimbus DS" - we've just completed the first distributed version of one of their products!
  • I now got a little piece of a high-quality audio-recording equipment  which should wake up the lately sleeping media production of mine, I needed this little beauty in order to start producing the next productions.
  • Have been doing some warm-up for a major update and refactoring of my film production software, which so far I use only in-house, but aim (one day) to make it a product.
  • Other software and other projects as well...
  •  I notice I need a more flexible, multi-information-channel web site to keep and direct the visitors attention better...
  • I'm keeping myself in good physical shape.
  • And many more... :))
I'm not too wordy here lately, will tell/show more later. :)