udexon / SAIGON

SAIGON: Stack Machine Artificial Intelligence Graph Object Notation
5 stars 1 forks source link

SAIGON: Cloudias

SAIGON: Stack Machine Artificial Intelligence Graph Object Notation

Cloudias: Cloud Intetelligence Artificielle SAIGON

[ Table of Contents ]

The name SAIGON (Stack Machine Artificial Intelligence Graph Object Notation) was coined partially as a pun to JSON, another acronym named after a place in South East Asia. SAIGON is a compatible extension to JSON (JavaScript Object Notation) with the following features:

The Artificial Intelligence (AI) element of SAIGON alludes to the goal of building a “self-programming” computer based on SAIGON principles. While we do not intend to fully disclose the overall algorithm for SAIGON, which amounts to only about half a page of pseudo-code, we would like to interest prospective collaborators and investors by disclosing the fundamentals of SAIGON, barred the most sensitive section, which could be disclosed pending negotiations.

This article is written as a tutorial for entry level programmers (6 months to 1 year of experience), with the aim to master a programming language on the Android platform, i.e. Kotlin, using the SAIGON approach. The same principles can actually be applicable to any other programming language. We will demonstrate that:

SAIGON will be the foundation of Cloudias, an artificial intelligence (French: intelligence artificielle) in the cloud -- Cloudias: Cloud Intelligence Artificielle SAIGON. We coin this term partly because English acronyms are a little too crowded, and Saigon was a French colony.

Distributed ownership, small footprint, easy to learn, universal, mathematics.

Graph Isomorphism on the Input and Output of a Function

To address the interests of leading experts in the field, we will embed some high level discussions within the article. Of these, a major breakthrough during our investigation is the application of graph isomorphism to compare the input and output of computer program functions, in order to categorize functions that can be used to construct a “self programming” computer.

For the uninitiated, graph isomorphism simply means to compare if two graphs are “similar”. Of these properties, the number of nodes of a graph is the simplest measure of isomorphism. This operation conveniently divides computer program functions into database related and otherwise. In general, database functions increase the number of nodes in a graph (although we may use database functions to delete nodes in a graph). In contrast to this, most data processing functions take in a large array of numbers (represented as nodes of a graph) and transform them into a smaller set of array, thus reducing the number of nodes in the graph. The underlying principle is that we represent the knowledge of an individual human being as a graph, which is the most one of the most fundamental and flexible constructs in mathematics.

Curiously and significantly, programming methodologies have been developed over the years along this line, ie. database functions or otherwise. While we cannot ascertain if this development was achieved by design or by accident, this might be an interesting hypothesis for further investigation.

Program Code and Configuration files as Graph Database Object

The most important application of the idea of database function for the purpose of learning a new programming language would be to treat the source code and configuration files of a project as database. This might sound counterintuitive for the learners, but I think the readers would be quickly convinced after looking at the following examples.

[ Table of Contents ]