I’m creating the backstory to my game X-Hex. I’ve known it for a long, long time. Now it is unfolding and all the pieces are coming together. It’s a story of Epic proportions that has never been told mixed with romance, love, hate, good, evil and of course a little bit of humour. The human struggle is not only isolated to Earth, it’s universal. The battle between good and evil is not just mans battle but something all living beings can relate to. We can’t go back in time but we can correct and fix the damage already done. Do we choose forgiveness, sympathy, understanding, respect, peace, destruction, deceit or utter annihilation.
When bitcoin first arrived on the scene I remember my brother telling me about it. I followed up with some reading. It looked interesting, a universal currency that is self accounting and ownership is whoever has possession. As time went on, bitcoin took off in certain markets and accepted in others, as well as artificially inflated in value. Then a collapse happened which included insurance scams and un-tracebility of ownership of currency.
This brought up multiple questions and also multiple issues and problems with the currency that in my opinion should be banned. The elusive ransomeware requests payment in bitcoins (correct me if I’m wrong) , the holding companies who traded bitcoins have been robbed or they robbed themselves and there is no end in sight. I would consider bitcoins a black market currency.
The currency needs to be legislatively stopped in developed countries. Major providers need to stop accepting Bitcoins as valid currency. There is a major flaw in it, larger than ransomware and larger than the insurance claims. It is unfortunate that is has spread like wildfire, I hope it dies out soon.
In the midst of writing my semi-neural net compressor I have introduced a scaling function based off the premise of an Activation function for a neural net – stretch and squash. Because I always work within a normalized domain of 0.0 to 1.0 I was looking for a logarithmic type function that would work similar to a sigmoid to bring my probabilities closer to a best guess or at least a better prediction.
Below is a graph showing a hermite basis function of a Cubic Hermit Spline , which acts as a sigmoid in the domain of 0.0 to 1.0. The function is very simple and results are phenomenal. In comparison I show a linear curve, of course with no scaling and a hyperbolic tangent that obviously is skewed to fit within the domain 0.0 to 1.0. I have also tested other functions such as log sigmoid and double exponential sigmoid with decent results. This simple function results in a logarithmic curve that seems to produce amazing results. Of course outside the domain I use, the function is definitely a fake sigmoid.
I’ve been developing compression techniques for 17 years now and have many unpublished items. One great thing about compression is it never gets old. Data never changes and Moores law does not apply to the field of digital compression. Data compression is bound by speed, memory, compression ratio very similar to the business triangle of quality, speed, and price.
My most recent soon to be published experimental work follows a generic workflow for compression which I believe can be useful for future rapid development and testing.
The below workflow allows for a base accumulator or multiple accumulators, multiple predictors using different accumulators (models). Those predictors would be put through a mixer or number of mixers. After the mixers produce a final refined prediction of the best guess to the encoder or decoder (depending on the input being a compressed or uncompressed file) and outputs the code or original information and continues along the process back to the accumulator.
What are the benefits of this type of model ? So far it allows for rapid testing of different mixing strategies, different models for predicting, and different rates of change for accumulating statistics. This workflow also allows for the creation of a neural network mixed with traditional compression techniques.
An example of this beneficial strategy is that adding a predictor has no impact or change on the accumulator, multiple predictors can be swapped out or tested at anytime. Changing the accumulator will however have an impact on the predictor using that accumulator as well as the mixer.
X-Hex is moving along. I have updated the graphics and started production on my new IMAC. Unfortunately there is a bug with the production software that is causing a delay. I would like to get everything ready to post another video soon (It’s been two years). Let me know what you think.
I wrote this piece of software to compliment my article about IT Metrics (https://chrischunick.com/?p=142). This software allows the process of gathering statistics to be enhanced through the efficiency of automation to quickly submit a ticket without having to login to a ticketing system. The program interfaces with a backend (currently spiceworks), and allows the end user to submit multiple tickets one after the other or simply shrink the software to be left out of sight until another ticket comes up. The current user is the logged in user, email is parsed from Active Directory.
Tickets can be written down throughout the day and entered at a later time, entered as an email, entered as a phone call comes in, or if an individual walks in requesting service. One of the challenges in IT is to maintain a consistent workflow while also being able to document the work without interruptions. This software has so far been tested successfully in a production environment.
I have attached a draft paper explaining the math behind frequency coding, a method of lossless data compression I came up with. The algorithm has been tested as I have freely available computer source code for anyone who wants to test it. The paper still needs to be complete and is missing the following:
Math Cleanup – my terminology needs to be re-worked, its vague and hard to understand 🙂
Decoding Process – important for paper proof – shown in source code on my website.
Probability comparison – chart of actual p(x), frequency encoding output, neural network stretch = ln(x / (1 – x))
Calgary Corpus Comparison – compare to other arithmetic encoders on this standard data set
This algorithm is fairly intuitive once you understand the concept behind it.
X-hex is on for it’s second revision. This is in very early stages but is looking very promising. Currently I am developing it in c# mono develop IDE. Graphics, Assets, Audio, Music will all be outsourced some how or another. The goal is to provide a simple game to the majority of platforms including windows, mac, Linux, ios, windows store, xbox , ps3, android and ios. The professional development platform allows for the output to many devices with a single project. The game is currently rendered in isometric 3d using a top down perspective but taking full advantage of awesome graphical effects.