
FRAMES – A Framework for Representing Knowledge (1974) - tosh
http://web.media.mit.edu/~minsky/papers/Frames/frames.html
======
xvilka
Using Prolog + OWL[1][2][3] would be more modern alternative.

[1] [http://www.swi-prolog.org/web/](http://www.swi-prolog.org/web/)

[2] [http://www.swi-prolog.org/web/Triple20.html](http://www.swi-
prolog.org/web/Triple20.html)

[3] [http://vangelisv.github.io/thea/](http://vangelisv.github.io/thea/)

------
lispm
See also the FRL (Frame Representation Language) Primer from 1977:

[https://dspace.mit.edu/handle/1721.1/5767](https://dspace.mit.edu/handle/1721.1/5767)

There is also a manual:

[https://dspace.mit.edu/handle/1721.1/5768](https://dspace.mit.edu/handle/1721.1/5768)

FRL was probably the first language to explore the Frame ideas in the context
for programming.

The old Lisp-based implementation of FRL:
[https://github.com/lispm/FRL](https://github.com/lispm/FRL)

It won't run under a current Lisp, though.

~~~
rjsw
A frame system that will run in a current Lisp is Parmenides [1].

[1] [https://www.cs.cmu.edu/afs/cs/project/ai-
repository/ai/areas...](https://www.cs.cmu.edu/afs/cs/project/ai-
repository/ai/areas/kr/systems/frames/parmenid/0.html)

------
AndrewOMartin
In 1984 Dan Dennett wrote why this fails outside of any formally defined
context.

Cognitive wheels: the frame problem of AI

[https://pdfs.semanticscholar.org/3aa1/296bbe4ae9a56aba47343a...](https://pdfs.semanticscholar.org/3aa1/296bbe4ae9a56aba47343a303de2c5da4015.pdf)

TL;DR, (but if you're interested in this you really should R) There's no
formal way to decide which frame is currently in scope, and the proposed
solution of "frames for deciding which frame" leads to an infinite regress.

~~~
DonaldFisk
The frame problem is unrelated to frame systems. A frame in the Minsky sense
is more like a persistent object.

~~~
AndrewOMartin
The Dennett paper I've linked refers directly to the Minsky paper of the
article, it quotes it at some length.

The content is certainly critical of the notion of a persistent object which
helps bucket knowledge.

From Minsky's paper "Here is the essence of the theory: When one encounters a
new situation (or makes a substantial change in one's view of the present
problem) one selects from memory a structure called a Frame. This is a
remembered framework to be adapted to fit reality by changing details as
necessary.", Dennett basically says you've replaced the problem of "Which
things am I likely to encounter in this situation" with "Which frame best
represents the situation I've just arrived at".

~~~
DonaldFisk
The original 1969 paper by McCarthy and Hayes defining frame is here:
[http://www-formal.stanford.edu/jmc/mcchay69.pdf](http://www-
formal.stanford.edu/jmc/mcchay69.pdf)

In this sense, a frame describes the state of a system in time, like
(metaphorically) a film frame. Dennett also uses frames in this sense. (But
see [https://plato.stanford.edu/entries/frame-
problem/](https://plato.stanford.edu/entries/frame-problem/) which
incidentally doesn't cite Minsky.)

Minsky's 1974 paper doesn't cite McCarthy and Hayes, and he seems to be using
frame in a different and more general sense, as a structure for holding data.
Whether he had the frame problem in the back of his mind I don't know, but he
doesn't address it directly in his paper and I can't find any evidence it was
his intention.

In any case, frames in the Minsky sense have been used successfully in other
systems, such as AM and Eurisko, as well as EMYCIN, and also in the Semantic
Web.

------
vshan
Similar to Scott Fahlman's Scone Knowledge-Base Project:
[http://www.cs.cmu.edu/~sef/scone/](http://www.cs.cmu.edu/~sef/scone/)

------
bsenftner
In '88 my undergrad senior thesis was a Frame based knowledge representation
system. We used it for financial modeling and as a 3D graphics algorithmic
testbed.

~~~
lispm
at CMU?

~~~
bsenftner
Boston University

------
pX0r
Is there a framework which lets one encode these ideas today ?

~~~
lolive
Stanford universiry manages a tool called Protege (cf protege.stanford.edu).
It is now fully RDF/OWL, I presume. But in the last decade, there was a
dedicated version for FRAMES. (I Think this link is still valid:
[https://protege.stanford.edu/download/protege/3.4/installany...](https://protege.stanford.edu/download/protege/3.4/installanywhere/Web_Installers/))

~~~
rjsw
A stage inbetween Frames in Lisp and RDF/OWL was KIF [1].

[1]
[https://en.wikipedia.org/wiki/Knowledge_Interchange_Format](https://en.wikipedia.org/wiki/Knowledge_Interchange_Format)

