• Stars
    star
    448
  • Rank 97,523 (Top 2 %)
  • Language
    Python
  • Created over 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Self-improving decision organism

Introduction

Ella is a self-improving decision organism.

Overview

This program is designed to iterate through a dataset and may choose to perform an action based on analysis of the data.

  • Condition - expression to be evaluated
  • Action - function that will be invoked if the related condition evaluates to true
  • Neuron - pairing of an action to one or more conditions
  • Brain - collection of all neurons

Diagram of Basic Neuron

Example Usage

Ella works by first analyzing the dataset provided by the user:

[
  {"date": "1/1/17", "price": 25.48, "volume": 5500},
  {"date": "1/2/17", "price": 19.64, "volume": 1600},
  {"date": "1/3/17", "price": 25.57, "volume": 4800},
  {"date": "1/4/17", "price": 32.63, "volume": 2100},
  {"date": "1/5/17", "price": 29.85, "volume": 3700}
]

She will then begin building the neurons by first generating random conditions based on the data.

volume > 3700
price < 19.64

Once conditions have been created, they are mapped to an action (creating the full neuron):

volume > 3700 - BUY
price < 19.64 - SELL

Ella will continue to create neurons until all actions have been mapped to a condition and the brain is complete. This will ensure that the brain will have the ability to perform all possible functions.

Once full brain has been constructed, Ella will iterate over the dataset row by row and invoke all action events (fire the neuron) if a condition is met. Therefore for each row analyzed, Ella may invoke multiple, a single, or no action events depending on how many conditions were met.

Example using the above neurons and dataset:

Starting value:
$1000.00
 
Conditions:
volume > 3700 - BUY
price < 19.64 - SELL
 
---------- ANALYSIS ----------
 
Day 1 - {'price': 25.48, 'volume': 5500}
volume 5500 > 3700 -> BUY
 
Day 2 - {'price': 19.64, 'volume': 1600}
> NO ACTION
 
Day 3 - {'price': 25.57, 'volume': 4800}
volume 4800 > 3700 -> BUY
 
Day 4 - {'price': 32.63, 'volume': 2100}
> NO ACTION
 
Day 5 - {'price': 29.85, 'volume': 3700}
> NO ACTION
 
---------- RESULTS ----------
 
Final value:
$1008.65

Developers

Feel free to contribute any by providing any bug fixes, suggestions, ideas, or anything else that may be of help.

Also, please note that this is just a small program I wrote this morning because I was bored waiting for the hockey game to start. It will most likely not be actively maintained, however I will check back frequently for pull requests and may also add some new features in my spare time.

  • Python 3.6 (or newer) required

Links

More Repositories

1

Source-Code-from-Tutorials

Here is the source code from all of my tutorials.
Python
2,175
star
2

Spider

Python website crawler.
Python
966
star
3

React-Redux-Boilerplate

Awesome React / Redux boilerplate and tutorial.
JavaScript
822
star
4

Viberr

Viberr is an application that let's you upload, store, and play all of your music from the cloud.
HTML
572
star
5

Vataxia

Open source social network built with Django and Django REST framework
Python
440
star
6

Python-Design-Patterns

Python Design Patterns
Python
438
star
7

Turtle

Python reverse shell.
Python
296
star
8

Vataxia-Frontend

Open source social network written in React and Redux
JavaScript
251
star
9

Python-Packet-Sniffer

Python network packet sniffer.
Python
239
star
10

React-Boilerplate

React boilerplate for thenewboston tutorials.
CSS
187
star
11

Social-Network

Open source social network for thenewboston community.
PHP
184
star
12

Parsley

Parses HTML to JSON.
Python
168
star
13

angular-2-template

Basic template for getting started with Angular 2 projects.
HTML
164
star
14

JavaScript-Lessons

Various JavaScript lessons and code snippets.
JavaScript
145
star
15

Django-REST-Boilerplate

Boilerplate for Django projects using Django REST Framework
Python
117
star
16

Videos-Android-App

Android app for thenewboston educational videos and tutorials.
Java
94
star
17

Payment-Processor

Payment processing scripts for thenewboston digital currency network.
Python
74
star
18

Social-Network-Android-App

Android app for thenewboston social network.
Java
53
star
19

AI-Playground

Python
50
star
20

Falcon

Front-end responsive framework
HTML
47
star
21

Web-Analyzer

Tool for analyzing websites using Python.
Python
38
star
22

Webpage-Screenshot

JavaFX program that allows you to enter the URL of a webpage and it takes a screenshot.
Java
33
star
23

Chat

Responsive chatroom design.
HTML
32
star
24

React-Webpack

Boilerplate for React webpack build.
JavaScript
29
star
25

Discord-Bot-Tutorials

Source code from thenewboston Discord Bot with Python tutorial series.
Python
27
star
26

Docker-Tutorials

All videos and source code from thenewboston Docker tutorial series.
26
star
27

React-Router-Lessons

Source code and project files from thenewboston React-Router tutorial
CSS
25
star
28

python-Stock-Data

Python wrapper for the Stock Data API.
Python
25
star
29

AWS-Playground

AWS commands, snippets, scripts, and more.
Python
24
star
30

Slick

SCSS/Less formatter.
CSS
24
star
31

YouTube-Crawler

Crawler for adding videos to thenewboston.com
Python
22
star
32

Shell-Scripts

Shell
21
star
33

Ava

Machine learning and data analysis.
Python
20
star
34

React-Stock-Analyzer

Boilerplate for using React to make API calls.
CSS
20
star
35

Discord-Python-Framework

The official Discord Python framework for thenewboston blockchain.
Python
19
star
36

thenewboston-API

thenewboston video API
Python
16
star
37

KeyGenerator

Generate keys needed for deployment of new nodes.
Python
15
star
38

Digital-Signature-Tutorial

Digital Signature Tutorial
Python
12
star
39

pyTranslate

Python tool.
Python
11
star
40

thenewboston-API-Wrapper

This is a Python wrapper for thenewboston API.
Python
8
star
41

Sliding-Drawer-Menu

Sliding Drawer Menu
CSS
6
star
42

Becky

This is Becky.
Python
6
star
43

Recipe-Recommender

Python
3
star
44

Django-Boilerplate

Core compatible Django boilerplate.
Python
1
star