I'm enjoying this conversation. It strikes me that, often anyway, the core concept is that of modeling, one thing acting *as if* it is another thing. Techniques like lazy evaluation and minimized side effects play a prominent role in one's choice of which "platform" or paradigm to use to model (including all 3 styles: simulate, emulate, or replace) some referent. Accidents, abuse, and creativity seem facilitated by state, whereas safety (though paradoxically not security) seems facilitated by function. I think one of the more difficult domains in which to have this discussion is epidemiology, where counterfactual methods for discovering/exploiting causality are difficult to execute. (E.g. predictions of COVID-19 deaths in rural areas "fail" because preventative measures based on those "false" predictions succeed.) A purely functional simulation, engineered to abstract out the (stateful) details cannot help evaluate counterfactual scenarios. Traditional AI/ML has the same problem. Models fail extensionally because they're intensionally unfaithful. Or in my preferred language, behavioral analogy fails because of a lack of structural analogy.
On 9/9/20 8:24 AM, Roger Frye wrote: > Problems where the process is at least as important as the result vary > greatly, so multiple types of implementation might apply. > > I think of Eugenio Moggi's monads as a way to cheat in functional programming > by encapsulating extra state. Same with monads in category theory augmenting > functors with data type. Same with posets as a way of associating structure > onto undifferentiated sets. Same with closures in Lisp to bind the > environment with a supposedly pure lambda function in order to have different > behaviors. > > Memorizing and other forms of caching also bind external data, here with the > specific goal of skipping repeated calculations or data transfers. > > I have used Petri nets to optimize multiple resources in a system of > elevators and to assign the parallel use of components of a CDC 1604 > computer. PROLOG is often applied to conundrum type problems. Same with > Bayesian networks. In all these cases, precisely known logic rules drive the > search for an optimal solution. > > Another approach in algorithmically intractable situations especially where > the constraints are probability distributions is to search for hidden > parameters given external structure with Markov Chain Monte Carlo simulation. > Reinforcement learning is another example of searching a large process space. > > I lean toward distributed computations like swarms of evolving agents as a > way of incorporating state and path dependence. I like the way random > connections in reservoir computing mechanisms like liquid state machines and > echo state networks can navigate chaotic processes and can be quickly > retrained for different constraints. > > Finite element analysis could be adapted to solve diffusion limited > aggregation or related problems. The "grid" would adapt during the simulation > to work at the frontier of the bound and free states. This could apply more > generally to Ising models and cellular automata where the computational focus > is local and usually sparse. > > I say finite element "grid" because that has been the traditional way to > cover large computational surfaces as in vector computing or GPUs or Tensor > Processing Units, but more appropriate structures for local activity would be > ragged arrays or other types of sparse structures implementing > quasi-crystaline patterns or random graphs. > > Quantum simulation of molecular networks seems like the ultimate way to > distribute computation and state with infinite numbers of paths. > > > On Tue, Sep 8, 2020, 8:57 PM Jon Zingale <[email protected] > <mailto:[email protected]>> wrote: > > RogerF, > > What I am calling /maximally-stateful/ is a limiting notion opposed to > that of /purely functional/. Effectively, a /maximally stateful/ process > is one whose side-effects dominate the computation, with little else > analytically calculable. At present, I am thinking of things like clouds, > cellular automata, or the geological history of a mountain. I am thinking > about computations where: the term /process/ is more apt than /function/, > computations whose specification may be trivial and yet depend crucially > on their initial conditions, the evolving /process/ manifests in bouts of > combinatorial explosions, the /intension/ matters more than the > /extension/, > and any particular run is unambiguously path-dependent. > > Some time ago, on the list, Glen mentioned diffusion-limited aggregation > (DLA) in the context of our on-going discussions centered around modal > logic, determinism, and epiphenomena. Glen suggested DLAs as an example > of where the conceptual cleanliness of algebraic thinking, categorical > thought, and /purely functional/ programming may be disadvantageous to the > reasoner. Part of his criticism focuses on insufficient characterization > by way of Poset-centric descriptions. Inspired by Glen's skepticism, I > set out to explore what forms /purely functional/ diffusion-limited > aggregation may take. To a first approximation, the computation may > be understood as a function taking a pair of lists to a pair of lists, > > DLA1 :: ([Free], [Bound]) -> ([Free], [Bound]), > where Free and Bound are type synonymous with a general particle type. > > Initially, the collection [Bound] consists of stationary germs and the > collection [Free] consists of random walking particles. As freely moving > particles enter the neighborhoods of bound particles, the free particles > themselves become bound. Functionally, we can interpret the function as a > process taking elements from the left list to elements of the right list. > However, if this were all the was to say about the problem then we could > be done with it and simply write: > > DLA1 (fs, bs) = ([], fs ++ bs) > > However, this isn't the case. We want more from a DLA, namely its state. > We are not just concerned with the fact /that/ free particles become > bound, > but with /how/ these particles become bound, the /intensional/ content of > the > computation, its stateful nature. Further, we may concern ourselves with > sensitivity to path-dependence, the manifested form's /being/ and > /becoming/ > as a historical fact. > > To address these questions consider a dual interpretation. Rather than > considering random walks on free particles, we can assign probability > distributions to the bound particles (the surface-bound particles having > non-zero probability). At every time step, each cell has some probability > of /capturing/ a free particle, and the collection of bound particles > grows in this way[*]. As the surface changes, the distributions over the > entire surface are recalculated, and from this perspective, it is clear > that the combinatorial species determines future probabilities. To my > mind, this treatment begs the question, "What might be gained from > structuring the space of all possible bound states as a Poset"? In this > interpretation, any DLA can be given /extensionally/ as a path (really a > lattice of 'evolutions satisfying boundary conditions') from some germ > state to some final state. > > From a /purely functional/ perspective, it is natural (since Moggi) to > structure stateful computations in terms of monads and free algebras[◻]. > There are a number of ways that monadic interpretations may arise in > this context: The State monad to accumulate data separate from function, > the Giry monad to structure a Markov transition system, or perhaps a > monadic pointed space to structure the encapsulation of bound particles. > While the first two are likely essentially-necessary, the last points to > tempting but possibly exogenous interpretation. How does one know when > they have accurately characterized the content of a theory? How does one > know that there is nothing more to be gleaned? -- ↙↙↙ uǝlƃ - .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. . FRIAM Applied Complexity Group listserv Zoom Fridays 9:30a-12p Mtn GMT-6 bit.ly/virtualfriam un/subscribe http://redfish.com/mailman/listinfo/friam_redfish.com archives: http://friam.471366.n2.nabble.com/ FRIAM-COMIC http://friam-comic.blogspot.com/
