[Haskell-cafe] [ANN] aivika-lattice-0.1

David Sorokin david.sorokin at gmail.com
Sun Jun 12 13:35:21 UTC 2016

Hi Cafe,

I’m glad to introduce a complete new module aivika-lattice [1] for the Aivika simulation library. It allows running nested discrete event simulations within lattice.

If the naive approach implies that traversing the nested simulation nodes has an exponential complexity, then the lattice approach gives us a quadratical growth. This is a key feature, which makes the traversing a computationally feasible task even for a large size lattice. It can be useful for financial modeling, for instance.

The model can be divided into two different parts. The first part is a discrete event simulation that branches in the lattice nodes. Within this simulation, we can update a mutable reference that can be observed in another part of the model. For example, such a reference can store a value of the modeled interest rate, or stock price, or exchange rate. It is important that the first part is forward traversing, when the time increases from the past to the future. The first part can even include discontinuous processes, resources, queues, streams of transacts if required. This is a general purpose simulation library.

The second part is quite opposite. This is an estimating part. It is backward-traversing, where we estimate the past based on estimations of the future. When estimating, we can observe the mutable reference values. This is a bridge for connecting two different parts of the model. For example, we can estimate the price of the contract by the model of interest and exchange rates specified in the first part of the model.

The package is quite experimental. It is mainly a proof of concept. There was no goal to achieve the highest possible speed of simulation, which is important for such tasks.

Best regards,
David Sorokin

[1] http://hackage.haskell.org/package/aivika-lattice

More information about the Haskell-Cafe mailing list