Database Reference
In-Depth Information
By accessing data items directly by storage location, pointers are faster than
symbolic addresses. Pointers provide instant access in constant time, and are
especially suited for data which are written once and never changed - as in the
content-addressable memory of DBS.
Because pointers to a physical storage location do not lend themselves to a
declarative specification, our representation uses symbolic addresses instead.
For example, during language interpretation, symbolic addresses are estab-
lished by means of copying. The following example shows the first derivation
step of 3.3.1, with the result of cross-copying, but before next word lookup:
4.4.1 S YMBOLIC ADDRESSES RESULTING FROM COPYING
noun: Julia
cat: nm
fnc:
verb: know
noun: Julia
cat: nm
verb: know
cat: s3' a' v
cat: a' v
result
1 Nom+FV
arg:
fnc: know
arg: Julia
prn: 625
prn:
prn: 625
prn: 625
The symbolic addresses resulting from the indicated cross-copying are (i)
(know 625) 8 in the Julia proplet and (ii) (Julia 625) in the know proplet.
When the proplet Julia in 4.4.1 is activated in the course of a navigation, the
symbolic address (know 625) allows the navigation to continue to the relevant
know proplet via external access: go to the owner proplet know and look for
the member proplet with the prn value 625 (4.1.1).
Computationally, however, internal access is more efficient. It is imple-
mented as a pointer from the fnc attribute of the Julia proplet to the physi-
cal storage location of the relevant know proplet. While the symbolic copying
operations are from core values to continuation attributes, the corresponding
pointers are in the opposite direction, as needed for navigation (3.3.2).
The coding of inter-proplet relations by means of addresses which are (i)
specified declaratively and (ii) implemented as pointers combines a declara-
tive specification with a different, but functionally equivalent, computational
realization of high efficiency. The symbolic addresses are also a practical ne-
cessity because they allow us to recompute the physical storage locations after
occasional clean-ups of the agent's memory (Sect. 5.6).
Another use of addresses, symbolic and by pointer, is for connecting new
content to old content by means of coreference. Consider, for example, a cog-
nitive agent observing at moment t i
that Julia is asleep and at t j
that Julia is
8 This symbolic address is constructed from the attributes fnc: know and prn: 625 in the resulting
first proplet. In intra propositional relations, such as those in 4.4.1, it would be redundant to specify a
prn value, e.g., 625 , in the attribute storing the symbolic address, e.g., fnc: (know 625) , because it
equals the prn value of the proplet containing the attribute. However, if a symbolic address refers to
a proplet of another proposition, as in an extra propositional coordination (3.2.5), the prn value of the
goal proplet must be specified in the address, e.g., [nc: (read 12)] .
Search WWH ::




Custom Search