Skip to content

markburgess/MotionOfThe3Kind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains a number of test models and a library of shared code under 
pkg/Cellibrium designed to illustrate the principles of virtual motion in Semantic Spacetime.

Because this uses parallelism of the computer, the results might depend on how many CPU cores
your computer has!
--------------------------------------------------------------------------------------
To run the code you need a Golang environment, and you need to incorporate the package Cellibrium
in your GOPATH. Some of the models that look at interference can be run in eiither
 "single slit" or "double slit" mode, by using command line arguments. e.g.

  go run PlaneSource_PhaseWaves.go ds
  go run PlaneSource_PhaseWaves.go ss

use CTRL-C to stop the execution.

For slit experimemts, the programs save the screen image of the simulations as files
in the directory of execution, MODEL_NAME_DS, MODEL_NAME_SS, etc

To view the results, make a wide text/command window with a SMALL fixed width font.
--------------------------------------------------------------------------------------
Principle: all these models are "Promise Theoretic" agent models, effectively
cellular automata in which each agent has its own interior timeline running in
parallel threads. i.e. there is no synchronisation of updates. Any coherence has
to be arranged through the interactions. 

a) Each agent affects only its own state in the way it chooses.
b) Each agent promises to share its state with its neighbours.
c) The consequence of (a) is no ballistic "push" models, only 
   local "voluntary cooperation".
--------------------------------------------------------------------------------------

There are different models of virtual propagation for waves and particles

1. PassTheParcel.go - this is conservation "money transfer" algorithm 
                      that ensures conservation. It has no wave solutions,
                      only diffusion of ballistic random walk objects.
                      The number of counters is shown in each location.
                      This is the only way to ensure conservation of counters 
                      formally in a discrete model. Even so, the actual
                      number of objects fluctuates since the observer cannot
                      guarantee to see what is between agents consistently.

2. Waves.go         - a proof of concept showing unconstrained waves radiating 
                      outward from a source. You can choose (by editing) whether
                      to use type I or type II waves, as well as selecting the 
                      effective wavelength. All these things make a difference to
                      the results.

3. ExteriorRestoringForce.go - a classical wave equation model in which
                      an exterior field osciallates due to a restoring
                      force that makes the acceleration oppose the 
                      direction of displacement via velocity of some
                      exterior medium.

4. PlaneSource_PhaseWaves.go - a linear Schrodinger type wave with single/double
                      slits in which the slits are effective symmetrical sources.

5. ShortSource_PhaseWaves.go - a linear Schrodinger type wave with single/double
                      slits in which the waves are generated before the slits and
                      have to find their way through (already biased direction)

6. WavyParcels.go            - a parcel passing version of the 2d waves

7. OneDimensional_Gradient.go- a one dimensional wave spreading by gradient force.

8. PushMePullYou_Gradient.go - a purely numerical test of gradient force 2 agents, 
                               to get the fine tuning stability number right

9. PushMePullYou_Payment.go  - a purely numerical test of packet exchange 2 agents

10.SemanticTranslation.go - a finite state machine approach to unform motion in a
                            straight line. Now does a process remember its direction?
                            This model shows that a simple state machine treating X,Y 
                            directions separately preserves these directions, but can't
                            describe combined X,Y motion

11. Replicator.go - cellular cloning of state, like reading DNA/RNA from strings as a basis
                    for molecular motors as finite state machines running on SST

12. DiagonalLargeBodyMotion.go - applying the cloning state machine mechanism to the motion of
                                 directionally enoded body. Each new direction is a different state
                                  machine. This seems buggy, not sure why (golang hash bug?).

13. DiagonalMinimalBodyMotion.go - using a minimal size body with sufficient structure to
                                   enable virtual motion as several angles. Also seems buggy (golang hash bug?).

14. Mass_Diffusion.go - combination of a diffusion process with conservation for two bodies composed of tokens M
                        conditional on a psi wave being non-zero. The directions of momentum
                        is predecided and does not change. The momentum process is "serviced"
                        by energy from the psi wave. Each M moves independently. Geometry of double slit.
                        Even Though M is passed carefully, collisions can result in non-deterministic 
                        non-conservation. There cannot be mutex locking between independent agents.

15.  Mass_Diffusion.go2 - a large composite body, same algorithm, no double slit geometry to explore coherence.
Small/narrow focused psi source tends to explode the body.

16.  Mass_Diffusion.go3 - same as 2 with wider psi source for greater coherence.

17.  Mass_Diffusion.go4 - double slit geometry with wider source.

18.  ProbableDirection.go - an interior state counter in the virtual process moves with the masses M. The bodies can
                            move with a momentum/direction determined by an internal "wave" pattern, somewhat like 
                            the spin Aspect model.  Each is independent, and they are unreliably passed on,
                            some may be blocked by existing M. The M tend to spread out over the wave front if they
                            are allowed to move along more than a single axis (angles are XY ratios).

19.  ProbableDirection2.go - double slit geometry, two kinds of mass with different momentum

-----------------------

To plot the screen graphs, use gnuplot, e.g.

$ gnuplot
gnuplot> plot "LongSourceSlits_DS" with line

or as pdf

$ gnuplot
gnuplot> set output "alignment_spectrum.pdf"
gnuplot> plot "LongSourceSlits_DS" with line

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages