Reflection seems interesting I want to read more about it. But there
are other steps that I could have taken which would have been more
direct.  I could for example use a Debug dump and dump the values of
the data when they were in the template section so that I could see
what they were.  Or I could add other functions that would allow me to
see a value inside the template if I chose to. However, since I
realized that debugging wasn't going to end when the data management
part was working I felt that it was better to implement the templates
by type (within the classes that were organized around the arrays that
held the data).  I did some timing tests and found that type arrays
could be used more efficiently than arrays which were built on
classes. It is probably little-O but it turns into Big-o when it is
used as frequently as my program uses them.

I have been writing special algorithms to test the data structures as
I was working on them and I found that this made a big improvement in
development time.   There have been no surprises like the situation
where ten or more bugs are interacting at the same time making the
debugging impossible.

And I noticed that .Net does have reflection - but not for C++.

On Mon, Dec 2, 2013 at 10:08 AM, Piaget Modeler
<[email protected]> wrote:
> Sounds like you need continuous integration techniques more than anything
> else.  If you haven't already,
> for your next project assemble a Test Driven Development platform JUnit /
> NUnit etc. and develop test cases for
> each of your Abstract Data Types (or classes as they're called nowadays).
>
> Best of luck.
>
> ~PM
>
> ________________________________
> Date: Mon, 2 Dec 2013 09:46:38 -0500
>
> Subject: Re: [agi] I guess I don't have AGI all figured out.
> From: [email protected]
> To: [email protected]
>
> I didn't mean to be so sharply critical.  I was trying to say that if a
> programmer thinks an AGI program could start with a simple program and build
> itself then he should try to create something that actually had the power to
> learn how to build itself.  I have thought about this and it is not easy
> "simple" but simple examples are probably feasible.  If someone thinks that
> an AGI program can feasibly start out simple then try something and let us
> know how far you get it to go.
>
> I was using my C++ templates with data arrays.  So all the most common
> functions of putting data into the array, finding it, retrieving it,
> distributing the data (in the mundane sense of the term), creating an index
> over the distributed data and the implementation of accessing the index as
> the first step to searching for the data and coordinating one or two data
> accesses was what I encoded into the template form.  The moment I started
> working with coordinated data for the most elementary stages of the AI part
> where I needed three, four and more data arrays to be used in a coordinated
> way, the debugging problem turned into an impossible task.  Although the
> templates had been tested I hadn't tested the all the particular methods
> that the templates could be a part of and I wasn't able to follow all the
> debug paths into the templates because the programming debugger did not
> reveal the values or the types of data when it stepped through the
> templates.
>
> Case-Based Reasoning is a historical AI method.  You make them extensible by
> using a particular context-free language that allows you to program the
> computer to represent new cases.  Theoretically, contrary to Tintner's
> argument, it would be feasible to use CBR to discover and represent truly
> novel situations.  However, this theoretical argument is not easy if you
> haven't already been there and the tendency to rely on already proven
> methods means that it is pretty predictable that someone who tries
> Case-Based Reasoning is not going to figure this out.  I want my AGI program
> to be able to do some genuine learning using a trial and error method.  Just
> as I (believe that I) don't need to use predefined human-language syntax to
> get the program to acquire a rudimentary human language, I also (believe
> that I) don't need to use predefined cases to get the program to acquire
> cases where it could use case-based reasoning.
>
> Chomsky's hierarchy of grammar is based on computational methods.  Whenever
> we write a computer program we are using computational methods so we can say
> that a computer program is supplied with predefined grammars.  However, the
> point is that my program will have the potential to acquire new pieces of
> grammar.  Similarly every program uses case-based reasoning in the form of
> conditional branches.  However, the goal I am striving for is to get the
> program to do some genuine learning on its own.  This means that it will
> have to use a trial and error approach to learn about new things.  So it
> will be able to pick up something that looks a lot like case based reasoning
> without my programming it directly into the program.  On the other hand, if
> I was successful then it might be argued that I had developed a new way of
> programming a computer through instruction.  This new way of programming
> would not produce programs the way we usually do because what the program
> could learn would be mediated by many other impressions that it formed from
> its IO data environment.  So while it might learn, for example, to build a
> case for discerning when I am trying to teach it something new, it might
> mediate an effective method for learning new things with other information
> that it had previously acquired that it might use to interpret the new
> information with something that it had already learned.  Since interpreting
> a situation in terms of similar situations which it knew something about is
> the natural policy of artificial thought this should be something that
> occurs frequently. So its recognition that I am trying to teach it something
> new might be mediated and defeated by its recognition that what I was trying
> to teach seemed familiar in some way.
>
> Should I have answered no but I have studied case-based reasoning carefully
> and I was using templates to represent char strings and ID values that refer
> to collections of derived relations between the data objects and strings
> formed from ID references and functional operations designed to work with
> the ID references?
>
>
> On Sun, Dec 1, 2013 at 11:32 AM, Piaget Modeler <[email protected]>
> wrote:
>
> Have you tried any Case-Based Reasoning approaches?
>
> If engineered correctly the cases can be human readable, yet extensible.
> Starting with simple cases and increasing complexity.
>
> What data structures were your common templates attempting to embody?
>
> ~PM
>
>
> AGI | Archives | Modify Your Subscription
> AGI | Archives | Modify Your Subscription



-- 
Jim Bromer


-------------------------------------------
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