Portfolio

giphy (1)

Developmental Network (C++/C#) (2019)

  • An emergent neural network based on professor Juyang Weng’s research on general artificial intelligence. Specifically his work on LCA (Lobe Component Analysis), and WWN (Where What Networks). The network is designed to learn and perform simultaneously on consumer hardware, while achieving performance comparable to traditional CNNs (Convolutional Neural Networks). This network is part of a larger framework aiming to allow developers to easily embed general intelligence into any project.

DOWNLOAD

Sewing Life (C++)

  • A collection of additions/experiments on the Slash/A library. Adding missing GP features (recombination, mutation, fitness functions, random generation, reproduction, competition, etc..) and containing experiments aimed at cooperative GP, hierarchical GP, and multi-objective goals.

Cluster of Samples (C++)

  • A lightweight implementation of the research paper “Human representation of multimodal distributions as clusters of samples” by Jingwei Sun, Jian Li, and Hang Zhang
    • The paper attempts to push forward the understanding of human perception from a statistical perspective. Proposing the CoS model as an example of an efficient explanation of empirical observations related to human perception. The researchers perform various perception tests on participants and determine the accuracy/efficiency trade-offs made in human perception. Testing how well human perception models the input probability distributions.

Cryptocurrency Projects

  • Entropy (C++) – A fork of MonaCoin that adds a difficulty adjustment algorithm called “Chaos Adjustment” that works alongside DGWv3 (Dark Gravity Wave v3). The goal of which is to use randomization to allow any hardware to successfully compete for PoW (Proof of Work). Resulting in superior decentralization and fairer currency emissions, where anyone can successfully mine coins without costly GPUs and energy expenditures.
    • For every block, chaos adjustment takes in the current mining difficulty from DGWv3 and scales it based on the miner’s wallet address. When a new block is created a number is pseudo-randomly generated using the last block’s merkle tree, root hash. The number generated is within the range of all the possible valid wallet addresses. A user’s personal difficulty is then determined based on the distance from their address and the randomly generated address. Addresses that fall within a sweet spot will be given a difficulty very close to the default difficulty. Addresses further away will have their difficulty multiplied by the distance from the generated address. Miner’s can decrease their personal difficulty by including more transactions into their block. Additionally, the sweet spot will expand as time elapses until a valid solution is found.
  • Meseta (C++) – A fork of Litecoin, that replaces Litecoin’s default difficulty adjustment algorithm with DGWv3, and allows for the mining of stale blocks. Meseta is designed to tackle the negative second order effects of miner centralization, a phenomena that has occurred with PoW cryptocurrencies like Litecoin and Bitcoin. This centralization is the result of runaway difficulty increases that make it impossible for individuals to effectively compete for block creation. This leads to a decrease in mining participation, and reduced decentralization/redundancy. To counter this, Meseta provides rewards to individuals for mining stale blocks. The value of the reward is inversely proportional to its distance from the blockchain’s tip (the top of the chain). Ensuring that even the weakest hardware will eventually mine a block and receive a reward. This system provides decentralization incentives to the network. Creating a situation where there is always replacements for failing miners, and ensuring that full-nodes exist to check for malicious activity.
    • Blocks are mined normally until they become stale. When a block becomes stale the node will keep mining until a preset time limit is reached (one that has been applied in the settings). If a time-limit is not specified, the network will perpetually push out the maximum time until the block is created. If the block is created before the maximum time, the maximum time will be decreased. The maximum time is used to determine the reward received for mining stale blocks. When a stale block is successfully mined, a fee-free transaction is created containing the details of the mined block. If a miner chooses to include these transactions in their block, they will receive a portion of the value created. All stale blocks have their details converted into a unique identifier, this identifier is checked by the miner to ensure that repeat solutions are not being provided.
  • Existence Income (C++) – A fork of the now defunct ShadowCash that permanently destroys transaction fees, and rewards multiple miners per block. This currency is designed to simulate a market driven basic income that runs on a cycle of volatility. Where periods of high demand lead to rapid increases in value, as the amount of currency destroyed in transaction fees (12% or 25% per transaction) exceeds the amount created via PoS (Proof of Stake), per year (0% to 1000%) for the entire network. During periods of high demand the barrier of entry for new participants is high, and the resulting rewards for participation are also high. Resulting in a basic income that is at-least adequate for daily living. This increasing value will eventually lead to a deflationary spiral, one that triggers the creation of a massive number of coins via PoS (up to a 1000% increase per year). During these periods, the price drops greatly and decreases the barrier to entry for new individuals seeking to participate. Participants that consistently sell or use their Existence Income in the open market, will be minimally affected by price volatility. As the increases and decreases in price balance out over time.
    • A transaction fee of 12% is levied on public transactions, and 25% on private transactions. When a transaction is created, the transaction fee is sent to a provably unspendable wallet address. For every block, 1/100th of the staking individuals receive a stake reward. This ensures that ALL staking individuals receive a reward approximately every 1.7 hours. The reward per block, per individual is ~2.28310502 EI. The volatility cycle is necessary as 12,000 EI (Existence Income) is required to begin receiving a basic income through PoS. This leads to a barrier to entry that is heavily dependent on the market price of the cryptocurrency.

(De)Compactor (C++) – A tool that allows for the compacting/de-compacting of multiple positive integer and floating point values from a single floating point representation.

PoS Direct (C#/SQL/WPF) – A point of sales system designed to help unify a restaurant’s primary point of sales, administration, front-end, and back-end into a single easy to use, networked system. Sharing a single database, and communication system.

Misc

DOWNLOAD