benrayfield's repositories

wikibinator203

Lambda called on lambda finds/creates lambda, each with lazy-evaled 256 bit global DAG ids. Each lambda has 2 child lambdas. A kind of number that is a universal-pattern-calculus-combinator. Axgob.js (in dagball project, lib dir) is incomplete newer version of this. A fork-editable multiverse of all possible lambdas.

Language:JavaScriptLicense:NOASSERTIONStargazers:23Issues:4Issues:1

hyperquasicrystal

(TODO) actually callable javascript lambdas of infinitely threadable (potentially massively-multiplayer) godel-like-numbering-secure low latency neuralnet approximation of hypercomputation of the iota combinator sparse-emulating debugger breakpoints of itself, in javascript lambdas, such as naming every possible lambda by a 256 bit merkle id

Language:JavaScriptLicense:NOASSERTIONStargazers:7Issues:5Issues:0

jsutils

very optimized sha256 in javascript, using Uint8Array and Uint32Array, bit funcs utf8, etc

Language:HTMLStargazers:4Issues:3Issues:0

occamsfuncer

(turing complete testcases work) a kind of lazyEvaled shareable (TODO) 512 bit number, an extremely optimizable and scalable universal lambda function for number crunching, AI research, low lag massively multiplayer games players redesign into new game types in turingComplete ways by hotswap/forkEdit per bit, per function call pair, etc. Similar to Unlambda Iota Jot Urbit Ethereum Ipfs

Language:JavaStargazers:4Issues:0Issues:0

quineforge

A quine is a software which outputs its own source code. Quineforge is a very experimental data format for the lossless compression of quines and for translating all possible non-quines (such as pictures of cats, videos, games, GPU matrix multiply algorithms, or nearly anything) into quine form. It uses the (wikipedia page) Chain_rule_for_Kolmogorov_complexity and a 5-way gametree (like a chess or go gametree) to navigate the space of all possible lambda functions. Its security level is planned to be, eventually after the bugs are worked out, enough for the operation of industrial machines and low lag enough to satisfy hardcore gamers. TODO I should copy some of the "fntape" (5 way tree) theory from occamsfuncer readme and various parts of kolmogorov theory. Basically, for example, if we are using sha3_256 (with some pre and post processing of a merkle forest node (or its faster lazy merkle form), then at some few points in a sequence of bits will occur those 256 bits, and the 256 bit ids of other functions, sparsely, and between those are 1 bit at a time opcodes (or 3 or 4 bit opcodes, or something like that), with some opcodes being to say that what follows is a variable size number of 1 bits followed by a 0 bit, then a powOf2 number of bits is a complete binary tree of bits (cbt) which is a lambda function of Lx.Ly.Lz.zxy aka the church encoding of the pair function whose "leafs" are Lx.Ly.x (true) and Lx.L.y.y (false), which goes into the "register" of "fntape" which is basically a lambda datastruct of 2 linkedlists with 5 possible actions from each possible state: move turingtape left (whose cell contents are each a function), move it right, copy register to center of tape, copy center of tape to register, or (heres the only turing complete part) call register on whats at center of turing tape and replace register with what that returns (and using various statistical methods if there is an infinite loop or other nonhalting lambda call it will be given up on quickly before that happens, within some approx specified low lag limits, but compressed forms are expected not to have nonhalters or overly expensive operations etc else they are not shared in the network as often as cheaper faster more useful data structures). So basically theres a bunch of functions, in the space of all possible lambda functions sparsely explored among many computers and people (some of which may be cat memes, minigames, compressed random bitstrings, or whatever) and fntape kind of opcodes aka small bitstrings from one id256 to another id256 such as to say its left child (a few bits of fntape) or its right child etc, or various combinator on eachother, leads to what else. Its a space where, as the name quineforge implies, the distance of bitstring from any function, or from any small set of functions, to any other function, has bigO that is certainly within the distance predicted by kolmogorov complexity theory and which in practice may be able to compete with zip files, 7z files, wavelet sound compression, neuralnet video compression, AIXI compression, andOr any other imaginable kind of compression, and trading compression efficiency for low lag and scalability etc, you might build low lag high voxel count massively multiplayer games with it, or various experiments somewhere within that.

Language:JavaLicense:MITStargazers:3Issues:3Issues:0

augmentedballs

Prototype works, still experimental. Use a bunch of tennis balls at once as Augmented Reality (AR) game controllers in phone browser or desktop browser, low to mid latency. Carry balls in your pocket and hold them over the phone, hand balls to people for shared screen multiplayer. Make your own games in javascript. Use with any other controllers such as bluetooth xbox paired to phone (browser gamepad api). Small self contained html file. To get webcam permission it needs to be either on localhost or a https website, but its static content, just a file. Will have a bunch of these networked together later, triangulating ball 3d positions such as thousands of people play augmented reality games with tennis balls in a public park using android firefox browser (fast, or chrome, for example, hopefully all browsers will support) to a qrcode or url. Make games while you're out and try them with whoever is nearby and wants to play. The world is our hackerspace. The metaverse should not be owned by anyone, instead be a bunch of stuff that fits together.

Language:HTMLLicense:MITStargazers:2Issues:0Issues:0

BayesianCortex

Simple algorithm for a realtime interactive visual cortex for painting. A paint program where the canvas is the visual cortex of a simple kind of artificial intelligence. You paint with the mouse into its dreams and it responds by changing what you painted gradually. There will also be an API for using it with other programs as a general high-dimensional space. Each pixel's brightness is its own dimension. Bayesian nodes have exactly 3 childs because that is all thats needed to do NAND in a fuzzy way as Bayes' Rule which is NAND at certain extremes. NAND can be used to create any logical system. In this early version, I'm still working on edge detection and its understanding of the same shapes at different brightnesses. This will be a module of the bigger Human AI Net project and will be used for adding realtime intuitive high dimensional intelligence in audio and visual interactions with the user.

Language:JavaStargazers:2Issues:0Issues:0

DagPlace

Similar to and not made by r/place. Massively multiplayer opensource peer to peer. Paint as many pixels as u want, change them at low lag, have 1/sqrt(numPixelsPainted) influence per pixel. 4 bit color. Each 4 bits chooses 1 of 14 colors transparent or 2x2 fork recursively. Fills a sparse tensor[infinity][infinity][14]. Color is max of [14] int54s

Language:HTMLLicense:MITStargazers:2Issues:2Issues:0

DomCannon

Imagine 3d game worlds with webpage parts on polygons. Early experiment in making a 3d webpage. Puts a html div on the top polygon of a CannonJS RigidVehicle, and 2 input type=range / sliders in it, one for gas and one for steering. Also uses browser gamepad API so left joystick does gas and steering.

Language:JavaScriptLicense:NOASSERTIONStargazers:2Issues:1Issues:0

lazycl

Makes it easy to use opencl, to do in 0.01 second what takes CPU 10 seconds. Gaming-low-lag stateless/immutable lazyEvaled form of opencl_1.2 ndrange kernels, internally using lwjgl2's opencl api for java. Each LazyBlob is a List of LazyBlob and replaces that List with the bitstring when lazyEval finishes. This is a refactoring of the working OpenclUtil code in humanAiNetNeural.

Language:JavaLicense:NOASSERTIONStargazers:2Issues:3Issues:0

statvoxel

"things far away occur less often but are the same size as things near". The goal of this project is to randomly select from near voxels, by a chosen nonlinear function (such as linear or squared), to display 1 gigavixel per video frame per computer, potentially in a space of many more voxels from distant/multiplayer sources but want to get it working on 1 computer first.

Language:JavaLicense:MITStargazers:2Issues:3Issues:0

wikibinator106

(TODO) A deterministic way for millions of people and AIs to build and play together in p2p, safely sandboxed but not dumbed-down, a very simple kind of self-aware living number, where 2 numbers combine to create or find another number, and so on, and a number can be anything such a word, video, game, simulation, publicKey, GPU optimization, music tools, way to use multiple clouds together, etc.

Language:JavaLicense:MITStargazers:2Issues:3Issues:0

axiomforest

Scaleable. Gaming-low-lag. Immutable. Merkle. Near-godel-quality-self-reference. A kind of number completely defined in this sentence, that an axiomforest is an immutable 4-way forest with 2 axiomforest childs and 2 bits which mean Unknown, Yes, No, or Bull, and Bull means simultaneous Yes and No which happens when ORing axiomforests together, and Bull is an error needing forking, and the creation of new axiomforests happens by any chosen function of 2 axiomforests to 1 axiomforest which is a way to change statements from unknown to yes or no but if bull happens anywhere then whatever caused it you need to back out and dont use any set of statements being yes or no which can possibly lead to bull again as converging gradually toward higher consistency.

Language:JavaLicense:MITStargazers:1Issues:0Issues:0

DagBall

A game where you slide a 2d surface (the screen) through a space of possible 300-dimensional voxels (up to 1000) defined by small pieces of code and artistic use of the high dimensional editing tools. Balls roll around pushing on the 300 dimensional heightmap, moving the screen in 300d.

Language:HTMLLicense:NOASSERTIONStargazers:1Issues:2Issues:0

ForestCurveFit

A kind of neuralnet that runs in browser where each node smoothly chooses between many neural activation functions (sine tanh log exp + * arcsine etc) and is trained without backprop, instead using calculus directly on the sum of squared loss of all weights and all training data at once. Not GPU optimized yet.

Language:HTMLLicense:MITStargazers:1Issues:0Issues:0

HumanAiNetNeural

(works but code is way too big) just the neuralnet parts of HumanAiNet, which (TODO) will include learnloop/RBM, feedforward, RecurrentJava LSTM and GRU, all optimized by LWJGL OpenCL/GPU

Language:JavaStargazers:1Issues:0Issues:0

occamsworkspace

ben rayfield's research workspace, that runs when you doubleclick startInWindows.bat (todo also startInLinux.sh) and can be set up in Eclipse etc, still some projects to merge in, trying to keep things simple (occams razor)

Language:JavaLicense:MITStargazers:1Issues:0Issues:0

unitarymerkle

Each node is adjacent to exactly 4 other nodes, in an infinite size undirected-graph. A topology with surprisingly many automorphisms compared to any other topology as far as I know, and each of them uniquely and bigO(1)-addressable by merkle/hash id

License:MITStargazers:1Issues:0Issues:0

wikibinator101

A decentralized wiki style interactive math book, based on a combinator (that is both a universal lambda function and a pattern calculus function of 6 parameters) in which it is extremely easier to say true things than to say false things, based on a logic similar to godel-number where one must commit to statements about lambda called on lambda returns lambda before one can verify which lambdas they are, and in theory scaleable enough for graphics, musical instruments, GPU number crunching, etc, but lets start simple, so everyone can understand and fit the pieces of the puzzle together.

Language:JavaLicense:MITStargazers:1Issues:2Issues:0

wikibinator104

(TODO) Scalable gaming-low-lag p2p wiki of 1 editable universal function, thats a universal lambda and pattern calculus function of 7 params, with vararg, GPU optimizable, turing-complete-challenge-response, godel-quality-self-reference (wiki can call itself recursively, emulate itself, etc), safely sandboxed across millions of untrusted computers.

Language:JavaLicense:MITStargazers:1Issues:0Issues:0

wikibinator105

(TODO) A deterministic way for millions of people and AIs to build and play together in p2p, safely sandboxed but not dumbed-down, a very simple kind of self-aware living number, where 2 numbers combine to create or find another number, and so on, and a number can be anything such a word, video, game, simulation, publicKey, GPU optimization, music tools, way to use multiple clouds together, etc.

Language:JavaLicense:MITStargazers:1Issues:1Issues:0

bayeslambda

A set of math axioms which relate Bayes Rule to a certain universal function which always curries 7 parameters, including a doesNotHalt symbol. Halting-oracles are of course impossible. Instead of blockchain forking, experimentally may smoothly negotiate using bayes rule. Functions will support unicode, voxels, and low lag musical instruments.

Language:JavaLicense:MITStargazers:0Issues:0Issues:0

gpu.js

GPU Accelerated JavaScript

License:MITStargazers:0Issues:0Issues:0

lambdacomparator

(in progress) 1-to-1 mapping between integers and all possible lambda functions (plus 1 more for nonhalters). Average constant time, and worst case linear time, implementation of java.util.Comparator<Lambda>, with godel-quality guarantee that for any Lambda x and Lambda y, compare(x,y)==0 (aka x.equals(y)) if-and-only-if forAll z, (x z).equals(y z) && forAll pairs of b and c where b.equals(c) then (b x).equals(c x), and compare func always halts in worst case linear (of memory used by x and y). Examples will be provided of common algorithms including sub-n-cubed matrix multiply, n*n*log(n)^someSmallConstant editDistance, n*log(n)^someSmallConstant. Representation of a function of unique behavior is a universal lambda of always 6 curried parameters

License:MITStargazers:0Issues:0Issues:0

lambdasmiter

Pure functional VM will derive its own prog lang syntaxes. A number is immutable and is a float64 or a list of numbers. A lambda is a number. Few microseconds bytecode verifier. Like SQL, always halts. GPU. Music tools. Gaming-low-lag. Screen blit. Fork millions of threads. Generated lambdas + bigdata safely share online at 10% lightspeed.

Language:JavaLicense:MITStargazers:0Issues:2Issues:0

occamsamazon

Tools to simplify AWS, including a java.util.Map<String,byte[]> wrapper of a S3 bucket with (TODO) low lag putAll(Map<String,byte[]>) and there will be a getAll(Set<String>) and it gives you download url for each String key. Includes all dependencies except java.

Language:JavaLicense:MITStargazers:0Issues:0Issues:0

occamsgametheory

Markov gametheory. Like a recurrent boltzmann neuralnet except all possible lambda func is node and has 1 weight and 1 bit. Set of all possible sets of lambda functions where forall lambda x in set, forall lambda y in set, forall lambda z in set, (λa.λb.λc.a(λm.λn.n)bc)xyz doesnt halt. Will approx sparse navigate this space using an energy func.

License:MITStargazers:0Issues:0Issues:0

occamsmanifold

(in progress, very speculative) A kind of calculus. Smooth infinite dimensional turing-complete manifold whose energy is sum of [map of [map of d_dimensional_length_1_vector to scalar] to scalar] dotprod d-sphere surface of densities in those directions, at each point. and at all d-sphere rotations at point for finite d dims in infinity dims.

License:MITStargazers:0Issues:0Issues:0

thisMinesweeperBoardSetupHas2MinesForPEqualsNPAndPNotEqualsNP

(TODO) a specific minesweeper board setup, with numbers 1-8 or unknown at square, that if you solve it you win a million dollars, and theres only 1 possible solution. Theres 2 specific squares that are unknown, and exactly 1 of them has a mine. The board setup is infinite in both dimensions and contains all possible turing machine states or lambda functions. The board setup will be a function of x y integers to cell state (4 bits). A solution is another function which marks where all the mines are, including the P equals NP mine OR the P not equals NP mine. The million dollar prize is the millenium problem and is not guaranteed to still be available by whoever solves it if someone else solves it first. I am not involved with them and am just trying to translate the P vs NP math problem to minesweeper form. Its already known that minesweeper can represent specific NP problems like a specific set of integers does any subset sum to another specific integer or not. But this is a level above that, constraints on the set of all possible turing complete functions that solve or do not solve every possible NP problem in P time, with a single bit, by constraint, being a triple loop of forall andOr exists, or maybe its a double loop, I'll have to work out those details later. Papers written about P vs NP all seem to lack specific math statements that dont depend on human language. For example, I've never seen a specific lambda call that evals to true or false depending if P equals NP or not. I dont think anyone knows such a lambda, or probably it cant even be written as a lambda as its an infinite size problem and a lambda call that halts is a finite size calculation. This minesweeper board setup, if I or maybe others could help, figure out a function to paint the cell states of the puzzle (a function of 2 integers to cell state), would be the most precise definition of the P vs NP question ever created, as far as I know, and may help many mathematicians look for a solution without needing to deal with Human language or systems limited to what finite calculations can do. Basically take any 1d turing machine that has a halting state, and translate it to 2d form, where 1 dimension is space and 1 dimension is time, and represent that as nsat constraints between adjacent squares with a color at each square and each color can be beside only specific other color in each of 4 2d directions and similar for each of 6 3d directions of stacked colored cubes. The third dimension is only to count in unary, including negatives, how many time steps until, or after, the halting state occurs. If it does not halt then, the constraints are not satisfied. Another group of colors blocks all halting states by constraint. Some colors will allow both halting and nonhalting solutions, as a question of if you require these cells in the 1d turing tape be on and those off, etc, then which other cells must be on or off in what combos, and 1 of those cells is pEqualsNP and another is pNotEqualsNP. Think of it as a 1d turing machine in 2d with an added time dimension and its a heightmap sloping up or down at a 45 degree angle just counting up/down to wherever it halts, or flat and a different color if it never halts, and if you have some high cardinality of infinities of time to try every possible combo of where the mines are and where they are not, and just check each of those against local rules of the 1-8 numbers written in adjacent cells, then only 1 of those will solve it, and that 1 will have either a mine in the P equals NP cell or a mine in the P not equals NP cell. I'll probably have to go deeper into wikibinator105 andOr other lambda research before having a specific minesweeper board setup which does this, but I think I've explained the general strategy of how to build it. This will actually look like minesweeper on screen and you will be able to scroll across it really fast. This minesweeper board has more cells than the entire visible universe has atoms, actually infinity cells, and it contains every possible physics simulation, every possible software, every possible everything, which is necessary to prove the lack of existence of a P equals NP solution, if P actually does not equal NP.

License:MITStargazers:0Issues:0Issues:0

Word2VecJava

Word2Vec Java Port

Language:JavaStargazers:0Issues:1Issues:0