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.
   275   276   277   278   279   280   281   282   283   284   285