An ambitious project with the goal of creating an AI control architecture framework for building autonomous decentralized systems (ADS)
From the Readme:
Spawn a collection of concurrent, distributed, fault-tolerant, and highly available distributed intelligent agents for coordinated and/or uncoordinated action in one or many environments with no central point of failure.
This project combines my work at Stanford University in Artificial Intelligence with my interest in autonomous decentralized systems.
The goal is to get a prototype working for single-node(machine), single automaton system, and eventually expand to a distributed architecture.
I am seeking partners/contributors for building out the inital prototype at the least and hopefully making meaningful connections with like-minded engineers for making this dream a reality. Lets get to work!
Current Needs:
Artificial Intelligence/Cognitive Architecture/Behavior Tree Expertise
Elixir Design/Architecture Expertise
ETS Expertise for BlackBoard System
Test Coverage
Documentation
Or just a strong interest and desire to learn any/all of the above…
Reach out to me here or at ericsteen1@gmail.com if interested. We can start a slack channel and ideate, iterate, and just generally have a grand old time!
It’s funny you say that, because thats exactly what I’m thinking. But, I believe it is important to push through doubt and challenge yourself beyond what your currently capable of to get better. As we all should in order to make amazing projects for the world that help them to finally see the light on the magic of Elixir.
I’m committed to this project and improving rapidly with Elixir, and from what I’ve seen of your work Aetherus, your skill is very good, and I think this project has many opportunities for all skill levels, it just may take time before they appear since it is still early in the project.
If you truly think it’s not the project for you then I understand, but I think you have what it takes to contribute and welcome you to give it a second thought. If not, maybe you could star it, and if/when you get better with the elixir ecosystem you could contribute then!
Excellent. No worries about not contributing right away, I want to do things very much the right way rather than the fast way. I feel like our industry is too fast moving already, and we should take the time to really think things through and commit to very high standards, best practices, and quality, all which take time. In fact the next thing I’ll be doing is writing up some kind of standards section on the README. TTYL!
Thank you for letting me be a contributor. I feel I need to learn more about the behavior tree. I’m googling now. Thanks again. Oh, forgive my poor English.
By the Way, the current basic architecture is based on The Elixir & OTP Guidebook which is by Benjamin Tan Wei Hao ( another chinese guy ). It is one of the best elixir books out there (along with Elixir in Action) and highly recommended if you haven’t read it.
Actually Elixir evolves quite a lot from 1.3 to 1.10, so the “Guidebook” maybe a little out of date. “Elixir in Action” released its 2019 edition lately, so maybe it’s more relevant IMHO.
For example, OTP 21 added a new callback handle_continue/2 to GenServer, and Elixir >= 1.9 ships with the release capability so you don’t have to rely on Distillery any more.
I’d gladly join and try to help as a senior programmer in the area of code organisation, readable code, short and meaningful docs – not promising anything about the AI stuff though.
Absolutely incredible! Yes, please. I knew this was the right place to start! I’m new at this process. Should I invite you as a contributor? Github username?
R & D mode. I’m still researching in a pretty major way right now. Development probably shouldn’t even happen right away as we learn about the right way to do it. Plus I’m still learning advance Elixir concepts so that is a thing.
Update on the Automata project for an AI control architecture framework. I have a mock sequence running (nodes/seq_mock_nodes.ex, run with iex -S mix) and just need to ensure that the user-defined behavior trees are being updated synchronously even when ticked continuously (not just one time – or start tracking last running node from root with a zippertree or similar to minimize updates).
So I now consider the core design to be stable. Next steps are to get a grasp on testing needs and how to handle timeouts for user-defined nodes, etc… Logistics of and more elaborate testing of the basic classic behavior tree sequence.
@ericsteen I am interested in helping out. Tried to join the slack via the link on the readme and contributing docs, but the invite link is stale. My github handle is paultannenbaum