AGI methods

  • 56 Replies
  • 14561 Views
*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
    • 8pla.net
Re: AGI methods
« Reply #30 on: January 03, 2015, 02:45:48 am »
For example, an amphibious car may have an empty column (in one big table) for type->SkyScape.
My Very Enormous Monster Just Stopped Using Nine

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #31 on: January 03, 2015, 10:46:43 am »
scape type is a column that can hold either SkyScape, GroundScape or SeaScape as a value, but not all three or two. Each row can have its own extra columns, depending of its values, so there is no need for empty columns.
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
    • 8pla.net
Re: AGI methods
« Reply #32 on: January 04, 2015, 07:19:50 pm »
Are these scape types in fifth normal form?
My Very Enormous Monster Just Stopped Using Nine

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #33 on: January 04, 2015, 08:26:22 pm »
If you're asking if scape types are redundant, the answer is no. SkyScape, GroundScape and SeaScape are key values which, when assigned to a record, open possibility to fill in extra columns like max altitude, contact type and hydroplaning.

8pla.net ,you seem interested in database design, so I'll reveal you some background. A textual header for noted table would be this one:

Code: [Select]
Vehicle (
    Name (@String),
    Engine (Otto | Electric | Jet),
    Use (Transport | Tourism | Cargo),
    ScapeType (
        GroundScape (ContactType (Magnet | Wheels)) |
        SeaScape (Hydroplaning (@Boolean)) |
        SkyScape (MaxAltitude (@Number)
    )
)

and specific record (noted textually) could be this one:

Code: [Select]
@Vehicle {
    @Name {"Bus"},
    @Engine {@Otto},
    @Use {@Transport},
    @ScapeType {
        @GroundScape {
            @ContactType {@Wheels}
        }
    }   

or this one:

Code: [Select]
@Vehicle {
    @Name {"Plane"},
    @Engine {@Jet},
    @Use {@Transport},
    @ScapeType {
        @SkyScape {
            @MaxAltitude {1500}
        }
    }
}


You can say that when you assign a symbol to a variable in a record, you can expand that variable with symbol's extra variables.


Yes, this is a new database technology that, besides AI classification, can find use in database programming. I.e. you can imagine an excel like spreadsheet based on this kind of system. I've also done some experiments with this technology. I plan to make this graphical system as a part of Synth (a programming language for AI). I hope for big global crowdsourced database of everything, hosted somewhere on the web. Synth would also have a use in general programming, so if one likes databases, Synth would be the one for her/him.
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
    • 8pla.net
Re: AGI methods
« Reply #34 on: January 05, 2015, 05:55:47 am »
Thank you.  This discussion is even more interesting now.
Let's code in Synth.  Is this sample source code correct ?

Code: [Select]
@Member {
    @Name {"Alice"},
    @PhoneType {
        @Telephone {
            @Number {555-1000}
        }
        @Fax {
            @Number {555-2000}
        }
    }

@Member {
    @Name {"Betty"},
    @PhoneType {
        @Telephone {
            @Number {555-3000}
        }
        @Fax {
            @Number {555-4000}
        }
    }

@Member {
    @Name {"Catherine"},
    @PhoneType {
        @Telephone {
            @Number {555-5000}
        }
        @Fax {
            @Number {555-6000}
        }
    }
My Very Enormous Monster Just Stopped Using Nine

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #35 on: January 05, 2015, 09:25:19 am »

To code in Synth? Hehe, you miss variable types as Synth is ought to be a typed language :)

Thank you for being interested in this project in such a conceptual stage of development. If you would like to learn more about Synth, I invite you to take look at updated Synth Specification Overview (I composed the version 0.2 this morning) for core language description.

As for an AI use, you can throw a look at a little bit outdated, but interesting document (version 0.1) already published in this thread (you have to re-picture curly braces with round ones and square braces with curly braces to synchronize reading with this old document). The change in 0.2 conceptual version is that set holding variables and inference mechanism would be implemented not in core system, but rather as a regular Synth variable with its specific dynamic behavior. This depicts Synth's ability to hold any Universe's structure like inference mechanism. Nevertheless, the behavior of inference mechanism will not change. The main argument of using Synth in AI is its easily imagined analogousness with structures found in the Universe.


I'm still here thinking about end-implementation of autonomous AI machine, as I don't want to miss something important out of Synth. I'm dealing with analyzing and automatic recognizing of different structures in input stream like an English language is read from left to right, but Arabic is read from right to left. And encrypted text is being read through some special lenses... Still a lot of unresolved things...
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

DemonRaven

  • Trusty Member
  • ********
  • Replicant
  • *
  • 536
    • Chatbotfriends
Re: AGI methods
« Reply #36 on: January 19, 2015, 02:16:30 am »
good luck on your project. 

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #37 on: January 19, 2015, 05:08:59 am »
thx, DemonRaven :)
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #38 on: January 24, 2015, 07:24:16 pm »
Edit:
I'm moving further with my brainstorming about AGI. I want to define autonomous AGI before coding the Synth programming language to be sure I'm not forgetting something.

An AI could be bounded to text stream, having input from and output to it. To know what to output, one has to recognize input. To achieve recognition, I've decided to break memory into two parts: temporary memory and reconstructive memory. Input stream is passed to temporary memory where it is analyzed. When a pattern in temporary memory is recognized, it  copies itself to reconstructive memory. Later analyzing of AI thoughts is done by reconstructing input from reconstructive memory to temporary memory where we can spend more time on analytics.

So, how to recognize a pattern? Patterns could be compared to those already remembered in reconstructive memory. A match between analyzed fragment and a fragment stored in reconstructive memory could be seen through a function lenses applied to analyzed fragment. Specifically, a recognition would look like this:

Code: [Select]
fun(A) = B
where A is a fragment from input and B is a fragment in reconstructive memory. Basic "fun" could be identity function (just plain equality comparison), but it can represent any combinatorial rearrangement constructed by some genetic algorithm (remember that genetic algorithms are used to construct new function combinations in any rearrangement, to check if the combination holds on some examplars).

I think that finding "fun" that holds on some data is the essence to AGI and it gives a basis for implementing behavior algorithm.
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

Ultron

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 458
  • There are no strings on me.
Re: AGI methods
« Reply #39 on: January 24, 2015, 09:17:10 pm »
It's a good idea to have multiple memory types. I have been thinking in that direction for applying artificial memory to an AGI program myself - specially for the NLP part, where it needs to remember certain facts (long term memory) as well as important conversations (same), and to remember previous sentences in the current conversation(short-term, temporary) in order to know what the user is referring to.

I would like to know what are your exact goals - a new NLP system or a complete AGI which can analyse many types of sensory input (sound, images etc.). With a pattern-based NLP system you would need a giant load of patterns and variations (depending on individual pattern element variations), but it would be still easily and quickly manageable with existing DB systems (as we have already discussed on GroupMe), however if you are going to also use pattern recognition for microphone and camera input (this goes further than voice recognition for the audio part) I would suggest a nested approach.

For example it sees a ball - to avoid listing through all geometric shapes then sub-shapes etc, identify general look (oval, square) then continue on the same way for as long as nest-able.

It is my belief that we personally associate every word (such as A-P-P-L-E) with as many things as possible - smell, look, feel etc.
This would in fact be the key behind artificial 'understanding'. You cannot have a program truly understand a word unless it can associate it with other things - which in most cases are abstract things hard to explain with words (words that further need to be explained and then you enter an infinite loop).
Time... Doesn't seem so constant when you think about it, does it?

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #40 on: January 24, 2015, 09:38:17 pm »
Short term memory would be a very detailed memory while long term would be just about patterns (i.e. if short term would experience a large bitmap, say ball, then long term would store vector graphics, like three parameters for circle: position, radius and color).

Quote
I would like to know what are your exact goals - a new NLP system or a complete AGI which can analyse many types of sensory input (sound, images etc.).
I plan something like a general artificial brain core to which you can stitch any sensory input, like text stream for a start.

Quote
It is my belief that we personally associate every word (such as A-P-P-L-E) with as many things as possible - smell, look, feel etc.
I think that human mind associates different sensory experiences to artificial particles made in brain memory. Also, I think that we in a same way associate different memory particles to others. I have to find out how to do this and I have a clue in making sets of data and grouping that sets like in example of recognizing a natural language sentence as a group of elements from subject set, predicate set and object set (for a simplest example).
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

DemonRaven

  • Trusty Member
  • ********
  • Replicant
  • *
  • 536
    • Chatbotfriends
Re: AGI methods
« Reply #41 on: January 25, 2015, 08:08:36 am »
ok so synth is a language you are inventing I assume to be used inside of JavaScript in websites. Okay one thing i never understood was how you get the computer to acknowledge a new programming language that is meant browser based. Ruby for example you have to download some software to get the computer browser to let it show up in websites. How will it be done with yours?

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #42 on: January 25, 2015, 01:31:36 pm »
@DemonRaven
Just pure Javascript (and maybe some PHP) that parses and executes strings which contain Synth code. This is how to embed Synth code inside HTML:
Code: [Select]
<script src='synth.js'></script>

<script id='source' type='text/plain'>
... synth source code goes here...
</script>

<script>
synth.run(document.getElementById('source').innerHTML);
</script>

And if you want to interpret a file from disk, you use AJAX to load it, then "synth.run" to execute it. This AJAX call can be implicitly made from Synth or Javascript code, interpreter takes care of it, you just pass a file name.

If I would use a download plugin as a Synth interpreter, things could be more tightly integrated and interpreter could be faster, but that would half down a user count. I hope that this would not be necessary.
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

DemonRaven

  • Trusty Member
  • ********
  • Replicant
  • *
  • 536
    • Chatbotfriends
Re: AGI methods
« Reply #43 on: January 25, 2015, 06:36:45 pm »
ok cool thank you for the info.

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 735
  • look, a star is falling
Re: AGI methods
« Reply #44 on: April 06, 2015, 07:10:02 pm »
I'm changing a codename of the project to "CogLog" programming language, as the name "Synth" is already taken.

I'm still intensively working out details and the new version will use new javascript 6 features to function better. I plan to use multiple line strings for embedding CogLog code into javascript sections. More important news include neater CogLog syntax and possibility to compile code blocks to Javascript through expression translation (i.e. Python or something else to native Javascript). Among the news is extensible syntax of variables, so it will be possible after extension definition to write code in extended manner:

Code: [Select]
StandardJavascriptCogLogObject.Execute (`
    @JavascriptOrOtherLanguageName ~ @SomeExtension1 ~ @SomeExtension2 ... {
        ... codeblock with extended syntax ...
    }
`)

Emphasis yet will be not on custom scripting languages that can be defined in CogLog, but on cognitive capabilities that can be simulated with CogLog (i like this name). Like a language that would be ideal for programming deduction, abduction and induction applications, whatever they could be (read AGI for some users, or i.e. math solving systems for others).

Stay tuned, I'm still under the hub and things are getting better and better, as with every month. If I programmed it a year ago I wouldn't be this rich with ideas, so please be patient, I'm sure it will pay off at the end.


 :stirthepot:
Wherever you see a nice spot, plant another knowledge tree :favicon:

 


Users Online

24 Guests, 1 User
Users active in past 15 minutes:
Freddy
[Administrator]

Most Online Today: 73. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles