Is there any AI for rust out there?


#1

Hi there, I would say that I’m liking rust, but I will like to enter it with some unknown area for me and that is AI and also evolutive algorithms,

Also I will l love to ear about a resource or two where I can start from scratch on this matters (I’m already on the search, but will love to ear one or two recommendations apart from the courses from coursera or udacity)


#2

Do you mean AI? What does IA stand for?


#3

ops, wrong order (corrected), yes AI as Artificial Intelligence, thought evolutive algorithms would also redirect thinking to AI.


#4

I hadn’t heard the term “evolutive algorithms” before! After a brief dalliance with Wikipedia, I can’t tell the difference between them and genetic algorithms.

I work in the AI/machine learning field, and I’m not sure there is a coupling between AI and stochastic search. They are two very different fields of study that can maybe be combined depending on the task at hand.

In any case, I’m not aware of any strong machine learning or stochastic search presence in the Rust world. I’ve seen some crates for logistic regression, but that’s about it.

If you’re persistent, one approach you might take is to pick a simple stochastic search algorithm (simulated annealing?) and try to implement it in Rust. That would give a nice introduction to both I think.


#5

I think that GA is a subset of AE and then EA is a subset of AI. So that is why there is no “much difference”.

I will see what I can do, still learning rust as noob.


#6

I’ve been developing an AI that can learn from the user’s input (basically it’s a bot with neural system), in Rust. It’s in the beginning stage, but as soon as possible I would have some working stuff.

I took the MegaHal’s idea of selecting the best answer based on its information (the more information, the better the answer is), and I’m studying hard about neural system and brain stuff. :smile:

Oh, about the learning system: the whole program’s brain is based on signals being sent through other neurons. A short circuit of neurons would receive these signals and match some patterns on them.

From a bird eye view, the patterns represent a data (a word, a signal etc), which can be matched with other data, like so:

// Let's say that each number represents a word:
0001 = "food"
0011 = "melon"
0111 = "fruit"
0001 = "fries"
1000 = "table"

// To check whether a word would match with
// another, we just do an AND operador on them:

food & melon -> 0001 & 0011 = 0001 // food

food & table -> 0001 & 1000 = 0000 // no match

So, the thing is that you can compare the pattern of words and see whether they match (to form a linkage between them) or not, and by that, construct memories and answers… And to learn!


#7

Here is a little list from http://www.rust-ci.org


#8

We started a Deep Learning Framework in Rust called Leaf.

We grew a bit tired of the current research frameworks and now build one that is easier to use and extend and works in a nice language that better fits our stack - Rust :heartpulse: .

We are making Leaf modular, open, fast and distributed for state-of-the-art Deep Learning. We can then write higher class Algorithms such as Deep Q-Learning on top of Leaf.

You can find Leaf on github.


#9

I’m not sure if this what you had it mind, but I’m currently writing an AI for the game of Go called Iomrascálaí in Rust. A fun side project for a performance challenged web developer like me. :grin:


#10

Just for the records, there is also an ML library that came out a few weeks ago: https://github.com/maciejkula/rustlearn

Started to use it this week…


#11

Intélligence Artificielle in french :slight_smile: