Page 280 - Artificial Intelligence for the Internet of Everything
P. 280
258 Artificial Intelligence for the Internet of Everything
decompositions may never bottom out in atomic components. Indeed, any
set has a copying coalgebra defined by κ(x) ¼hx, xi, and obviously this will
never terminate.
Thus in this context corecursion associates each element x with a (poten-
tially) infinite binary tree. If κ(x) ¼ c then x maps to the minimal tree con-
sisting of a single leaf. Otherwise κ(x) ¼hx , x i, and we send x to the binary
00
0
tree whose left subtree is κ(x ) and whose right is κ(x ). Just as we did for
0
00
algebras, we can vary the details of the functor F in order to allow for dif-
ferent labelings and branching behaviors.
The construction may seem circular, in the copy coalgebra our definition
says that κ(x):¼ κ(x) ^ κ(x), but in computer science is it common to use
fixed-point equations like these to characterize infinite structures. This is no
different in principle from defining the infinite element of as a fixed point
of the predecessor function: predð∞Þ¼ ∞.
Algebra and coalgebra provide us with a flexible, uniform language based
on labeled trees for representing finite and infinite recursive structures. If
engineering is a recursive process, we should be able to represent it in this
framework. The next step is to decide: what are the labels?
13.6 OPERADS AS COMPOSITIONAL ARCHITECTURES
In our model of engineering, the (co)recursive step occurs when an engineer
receives a contract for a component, then decomposes the problem into a set
of subcomponent contracts linked by an architecture. In later stages, we use
the same architectures to structure the integration of component designs into
systems. This suggests an algebra of designs, and a coalgebra of contracts.
The two processes are linked by the architectures that structure each
level of (de)composition, and when we represent the situation (co)recur-
sively we can think of these architectures as the labels of the associated trees.
However, note that these labels must do a lot of work. They encode all of the
information content specific to a given system or design. Given both the
breadth and depth of engineering across many fields, this will necessarily
require a great deal of flexibility and expressivity.
To this end we introduce another class of categorical constructs, known
as operads, which provide a very general framework for representing system/
component architectures.
One of the central features of the operadic approach is a firm distinction
between syntax and semantics. Syntax describes the form of the system, its
decomposition into components and the interconnections between them.