-
Notifications
You must be signed in to change notification settings - Fork 0
markburgess/MotionOfThe3Kind
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published