I don't have the details of test cases in mind at this point.  I have
ideas about testing the program and I will develop more detailed cases
as I get into the AGI part.

I am going to use a text-based approach.  My first test will be to see
if I can get the program to learn to distinguish words through simple
conversation. And I want to see if it can learn something about the
meaning of the words I am using based on the kinds of relations
between them.  The first, most primitive sort of learning is through
co occurrence.  However, the whole purpose of learning is to
(potentially) queue relationships between words based on previous
learning.  So the next step is to see if it can learn to create some
of the semantic (or more broadly, the conceptual) structures of the
words.  I believe that the simplest example that comes to mind is the
use of the parts of grammar. But can this be learned rather than
designed into a text-based AI program?  Yes of course but the program
would and should be able to detect a much greater range of parts of
speech and grammatical relations including those which do not fit into
the narrower idea of 'parts of speech' as specified by the
professional linguistics community.  So while initial learning may be
based largely on co-occurrence, the conceptual categories which should
begin to appear in a text based computer program designed to look for
them will be based on words that previously occurred within proximity
of each other and on words that previously had occurred in proximity
with words that co-occur and so on.  As these conceptual categories
accumulate some should exhibit certain strengths that you cannot find
by using stock grammatical categories or stock corpuses of
co-occurrence (even though these corpuses are humongous).  Of course a
lot of useless relations will also accumulate but as long as there is
some consistency in 'education' I believe the program should be able
to find relations that are reliable. Here another one of my theories
should kick in.  I believe that by looking for conceptual structure
the program should be able to leverage incremental trial and error
learning by finding structural relations that explain a great many
things at once.  In some cases these structural relations will be
similar to abstract relations like syntactic relations, but in
general, an abstraction corresponds to a conceptual abstraction that
can be learned implicitly or through explicit references (like
discussion).

I am really interested in finding conceptual structure.  But if these
goals are too ambitious, I can redesign my program in a number of
ways. At the simplest level I can add word parsing and avoid the first
stage of learning to distinguish individual words so that I can have a
better idea of what is going on while debugging.  If necessary I could
seed the program with conceptual categories of my own making to see if
I can get the strategy to work using a pre-defined model.  If I had to
start with a pre-defined model of conceptual structure and basic
relations between key words, I can then add definitions of relations
to help the program look for conceptual structure based on the use of
a few different modes of learning.  So, when I see that the program is
using the mode of imitation, for example, I could write certain types
of sentences which would help emphasize the specified word relations
when being imitated.  And when I saw that it was using a mode that
took an action based on the use of commands that it had previously
learned I could define goals through the use of command words and
direct it to modify a learning strategy or even explore a new one.

So these examples are more like strategies rather than test cases.
However the basis for these strategies is that I believe that I can
develop easier and easier test cases if I need to and still retain a
basic AGI strategy as long as it is being molded into a program that
can exhibit some true learning.  It would use an ability to detect
useful structural relations as a means of leveraging incremental trial
and error learning.

Jim Bromer



On Sat, Sep 28, 2013 at 10:58 AM, Jim Bromer <[email protected]> wrote:
> I haven't started testing an AGI concepts because I am still working
> on the data management parts of the program.  However, I am hoping to
> be doing something more interesting by 2014 at the latest.   I think
> that earlier in the year (2013) I mentioned that I had a great many
> ideas - or test 'cases' in mind.  The way my program would work would
> make it fairly easy for me to redesign it so that it could work with
> simpler cases.  I will try to think of a way to explain this.  My
> opinion is that if I have a good sense of what AGI has to do then I
> can define very simple experiments that could work to produce AGI with
> better conceptual management and more power.  Here I am claiming that
> I can discern some programming techniques ("conceptual management")
> that would increase the potential for AGI as something as something
> that can be discerned from more computer power. I will try to think of
> a few test cases.
> Jim Bromer
>
> On Fri, Sep 27, 2013 at 10:22 PM, Matt Mahoney <[email protected]> 
> wrote:
>> Do you have any test cases?
>>
>> On Fri, Sep 27, 2013 at 9:47 PM, Jim Bromer <[email protected]> wrote:
>>> At the end of December 2012 I said that I felt that I had figured out
>>> a way to write an AGI program.  I then said that if someone really did
>>> have it all figured out that he should be able to write the program in
>>> a year.  I then changed that to two years.  For one thing we should
>>> give a researcher, even an amateur researcher - especially an amateur
>>> researcher - some leeway. And for another, it should be clear that
>>> writing an AGI program that could actually work must be pretty
>>> difficult. I also added that other contingencies, like health, could
>>> intervene on the schedule.  But I then pointed out that there are some
>>> indicators that should make it clear that the programmer really did
>>> not have it all figured out.  Like if he worked on it for 5 months and
>>> still had not started in on experimenting with some actual AGI
>>> situations then that would be an indicator that he wasn't working at
>>> as advanced a level as he might think.  Expanding that to twice that
>>> length is 10 months and I am there.  However, I did have a worrisome
>>> health problem that really did cost me about a month's time of work.
>>> So this means that if I am not working on the AGI experiments within
>>> the next month, after 11 months have passed, then I believe that will
>>> be a strong indicator that I really did not have it all figured out -
>>> as I felt that I had last December.
>>>
>>> One of the hang-ups that I got into was that I wanted to write my own
>>> data management system.  It has been an interesting project but I
>>> probably should have used a simple data management system in a very
>>> direct way so that I could get to work on the AGI prototype.  If I
>>> actually got the prototype to a promising stage I could then have
>>> worked on the data management system.  That is a reasonable point of
>>> view.  However, there is an alternative view.  A conceptual management
>>> system, in my opinion, is going to be complicated. If I can't write a
>>> simple foundational data management system then I probably would not
>>> be able to manage a conceptual management system.  So from this
>>> alternative point of view, all the time I have been spending on trying
>>> to write my own very basic data management system may turn out to have
>>> been a reasonable investment, given my goal.
>>>
>>> I just started thinking about a problem that I would have if I shared
>>> my program.  My program is converting the various arrays it has into
>>> byte arrays to save them to disk using a fundamental strategy that I
>>> found in the .net help files.  However, that means that most of the
>>> data will be saved according to the Little-Endian implementation of my
>>> computer and I just started wondering how I would make the files
>>> available to other kinds of implementations.  I guess I could write a
>>> simple conditional algorithm for the file accesses so it doesn't seem
>>> like it would be a big deal.
>>>
>>> But even worse than that, the files would be such a security risk I am
>>> not even sure that they should be casually shared.  So how should I
>>> deal with this problem?  I'm not going to worry about it now.  This is
>>> exactly the sort of thing that I shouldn't be worrying about because I
>>> should be more focused on developing a prototype.  If the prototype
>>> actually worked then I probably will be able to find a way to deal
>>> with these side issues.  Or at least the Little-Big-Endian problem
>>> looks simple.
>>>
>>> But the shared file security problem is not that important to me right
>>> now because I have to try to avoid the pitfalls of additional
>>> complications.  I have to focus on getting the project to the next
>>> stage and just see what happens then.
>>>
>>> Jim Bromer
>>>
>>>
>>> -------------------------------------------
>>> AGI
>>> Archives: https://www.listbox.com/member/archive/303/=now
>>> RSS Feed: https://www.listbox.com/member/archive/rss/303/3701026-786a0853
>>> Modify Your Subscription: https://www.listbox.com/member/?&;
>>> Powered by Listbox: http://www.listbox.com
>>
>>
>>
>> --
>> -- Matt Mahoney, [email protected]
>>
>>
>> -------------------------------------------
>> AGI
>> Archives: https://www.listbox.com/member/archive/303/=now
>> RSS Feed: https://www.listbox.com/member/archive/rss/303/24379807-f5817f28
>> Modify Your Subscription: https://www.listbox.com/member/?&;
>> Powered by Listbox: http://www.listbox.com


-------------------------------------------
AGI
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-f452e424
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-58d57657
Powered by Listbox: http://www.listbox.com

Reply via email to