Skip to content

ctevans/Learning-Algorithms-with-CSHARP

Repository files navigation

Learning-Algorithms-with-CSHARP

Using C# as the language, I am going to make a grid-world and have a bunch of learning algorithms implemented!

Currently this project has been stopped due to a larger project demanding my attention.

#The world that the agent is interacting with! Just as a heads up, I plan to make it so that this environment can be expanded, have obstacles placed in it, have the agent move, have the goal move and other cool things. (Example: Say we learn a great policy that works great for finding one goal! Move the goal and then run it again, how does that agent fare now!?)

So what is this exactly?

I wanted to have a program where I could test to my heart's content all of the learning algorithms I have learned. A few examples are Expected SARSA, Q-Learning, Double Q-Learning, TD(0), Monte Carlo methods, Dynamic programming, TD(lambda), and a bunch more!

Further, I wanted to get experience implementing these algorithms successfully in a programming language I wanted to get more experience in, I already have done a fair bit of work with C# but it's nice to always expand and try out new things!

It is a work in progress...

I realize that it lacks a lot of functionality, but I plan to make consistent updates to this! I really love artificial intellience and machine learning and plan to poke more at it!

"What can I do with this?"

Well, now I am glad you asked!

I have created a "map" (think like old 2d style gameboy games!) and I wanted to teach my agent (the program that conducts the learning algorithms) to quickly get to the goal state. I have plans to make it so that the map can be modified by the user (currently that requires me adding just a few more parameters to the model of the map!).

With more learning algorithms implemented I think it would be very interesting to put them against eachother to see a host of statistics such as time to obtain an optimal policy!

*Spoilers(In the future I think it would be cool to expand this to make an AI-based tactics game!) I mean, having two AI's battle it out in a world I created from the ground up sounds hilarious and fun!

About

Using C# as the language, I am going to make a grid-world and have a bunch of learning algorithms implemented!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages