Need Advice in developing FRAMES systems
Hello all, I am new here, and the reason I am posting here is to find advice on an assignment I am currently working on.
I am not looking for someone to do my assignment but advice on developing a FRAME based System. Is there a programming langauge that would be better to use to develop a frame base system? Such as prolog? Would it be more difficult to develop the FRAME base system in Java or C++?
Thanks for any help in advance.
-Mooey
define "frame" further please. it is quite ambiguous as you have put it.
According to google...
Which is funny, because I developped something like this for my AI library, to represent a "state". If thats what you are looking into, it looks like something you can code easily in almost any modern programming language.
Quote:
Frames are a knowledge representation technique. They resemble an extended form of record (as in Pascal and Modula-2) or struct (using C terminology) or class (in Java) in that they have a number of slots which are like fields in a record or struct, or variable in a class. Unlike a record/struct/class, it is possible to add slots to a frame dynamically (i.e. while the program is executing) and the contents of the slot need not be a simple value. If there is no value present in a slot, the frame system may use a default for frames of that type, or there may be a demon present to help compute a value for the slot. Documentation for frames as implemented in iProlog is available at http://www.cse.unsw.edu.au/~claude/teaching/AI/notes/prolog/Frames/Frames.html.
Demons in frames differ from methods in a Java class in that a demon is associated with a particular slot, whereas a Java method is not so linked to a particular variable.
Which is funny, because I developped something like this for my AI library, to represent a "state". If thats what you are looking into, it looks like something you can code easily in almost any modern programming language.
I mean, ambiguous in terms that it can be more than one type of frame..
frames per second (rendering setups)
displaying multiple frames at the same time (gui layout partitioning)
or somethign completely diffrent (ai constructs, etc)
frames per second (rendering setups)
displaying multiple frames at the same time (gui layout partitioning)
or somethign completely diffrent (ai constructs, etc)
Hi, i'm an AI researcher, ill give you answers.
The main feature (or underlying operation) of frames is to compare them. If your problem is known, you could have a static set of fields in the frame that cant change (if you want dynamic fields it gets more complicated.)
I think the easy way would be to use java, and have a MyFrame class with all fields as hadrcoded member variables, and a specialized Compare(MyFrame anotherframe) method.
You could use prolog, but since you only want to compare subsets of the model (two frame at the time), you need some complex declarations.
If you know prolog, use it. If you dont know prolog, dont care about it. Javas Objects can be used as Frames and should give clean and "to the point" code.
The main feature (or underlying operation) of frames is to compare them. If your problem is known, you could have a static set of fields in the frame that cant change (if you want dynamic fields it gets more complicated.)
I think the easy way would be to use java, and have a MyFrame class with all fields as hadrcoded member variables, and a specialized Compare(MyFrame anotherframe) method.
You could use prolog, but since you only want to compare subsets of the model (two frame at the time), you need some complex declarations.
If you know prolog, use it. If you dont know prolog, dont care about it. Javas Objects can be used as Frames and should give clean and "to the point" code.
-Anders-Oredsson-Norway-
I like Python for this kind of manipulations, its handling of lists and dictionaries makes it really easy to prototype a program. If you are interested I may have some old code snippets to use frames in python (but it is pretty straightforward to do, anyway)
I have been interested in frames a few years ago. By that time, I read a lot of things around Eurisko and the works of Douglas Lenat that seemes to use frames in interesting ways.
Eurisko is what I have found the closest to a true AI and no, I don't think that Cyc is really an evolution of it.
I have been interested in frames a few years ago. By that time, I read a lot of things around Eurisko and the works of Douglas Lenat that seemes to use frames in interesting ways.
Eurisko is what I have found the closest to a true AI and no, I don't think that Cyc is really an evolution of it.
That definition of FRAMES seems too simple (its just a mechanism of grouping related data dynamicly).
I would have thought that it would include FRAME maniplation functions like Equality, Difference, Intersection, Copying, Filtering/Patterning, possibly FRAME Push/Pop stack operations.
Simple string indexed object attribute mechanisms (add/delete/get/set) are fairly easy to do in most lanquages and are builtin to others like Python. The higher level functions I mentioned are also needed for AI uses and add up to alot more work to implement (and likely involving meta data issues).
I would have thought that it would include FRAME maniplation functions like Equality, Difference, Intersection, Copying, Filtering/Patterning, possibly FRAME Push/Pop stack operations.
Simple string indexed object attribute mechanisms (add/delete/get/set) are fairly easy to do in most lanquages and are builtin to others like Python. The higher level functions I mentioned are also needed for AI uses and add up to alot more work to implement (and likely involving meta data issues).
--------------------------------------------[size="1"]Ratings are Opinion, not Fact
Frames is as waigly defined as any other knowledge representation theory, like semantic nets which masicly is nets with no defined semantics :-)
Frames should not be seen as a way to structure your data, realy nobody cares how you implement your frames, the point is that you have a concept of frames, containing a fixed set of fields, or any kind of fields, and you do compaer them with method X, resulting in a form of classification.
So: As engenearing tool, one can find out how frames have been done before, and how your implementation should be, but in the end FRAMES is a knowledge-representation theory, and NOT an engeneering blueprint! IMPORTANT!
Frames should not be seen as a way to structure your data, realy nobody cares how you implement your frames, the point is that you have a concept of frames, containing a fixed set of fields, or any kind of fields, and you do compaer them with method X, resulting in a form of classification.
So: As engenearing tool, one can find out how frames have been done before, and how your implementation should be, but in the end FRAMES is a knowledge-representation theory, and NOT an engeneering blueprint! IMPORTANT!
-Anders-Oredsson-Norway-
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement