GithubHelp home page GithubHelp logo

mbuliga / hapax Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 1.24 MB

Project hapax

License: GNU General Public License v3.0

JavaScript 18.64% HTML 15.04% CSS 0.20% Awk 65.93% Shell 0.20%
artificial-chemistry lambda-calculus graph-rewriting simulation chemlambda

hapax's Introduction

Project hapax (aka "made of money")

Questions:

Can we build everything from money (minted tokens)?

Can we build private computing systems, which are ἄπαξ χέων, which means "poured only once"?

Main idea:

As explained first in

Buliga, Marius (2018): Chemlambda strings. figshare. Journal contribution. https://doi.org/10.6084/m9.figshare.5751318.v1

then in

M. Buliga, Artificial life properties of directed interaction combinators vs. chemlambda. https://arxiv.org/abs/2005.06060

it is possible to express a graph rewrite as a chemical reaction of the form

(LEFT PATTERN) + (TOKEN_1) + (ENZYME) = (RIGHT PATTERN) + (TOKEN_2) + (ENZYME)

Here the tokens are small graphs from a pre-defined family. They are used to have a conservative chemical reaction. In the presence of tokens the graph rewrite appears as a permutation of the half-edges of the graph pattern.

As an illustration see this hand made animation of the 9-quine

9-quine

We can see the tokens as a form of money bricks which are used for universal computation. Verbatim, each program is a graph "made of money" and the (decentralized) execution of the program is a process of money (tokens) exchanges.

As this is one of the chemlambda projects

https://chemlambda.github.io/index.html

the relation with chemlambda comes from the problem of naming links in chemlambda graphs (molecules). Minted tokens are a solution for this problem.

Goal of hapax

We treat in a unitary way a large family of asynchronous graph rewriting automata, by encoding a graph rewrite as a permutation of the ends of the edges of a graph. A local rewrite, i.e. one which involves a small number of nodes and edges, is then encoded as a small permutation.

By varying the permutation we can vary the graph rewrite. As an example, there are 14400 variants of the iconic beta rewrite: https://mbuliga.github.io/hapax/betarand.html

Relevant links

explains the mol notation and the encoding of graph rewrites as permutations; discusses differences from chemlambda

hapax's People

Contributors

mbuliga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.