Skip to content

Minimally complex program that could feasibly beat someone in a game of chess.

License

Notifications You must be signed in to change notification settings

ikyman/Non-AI-Chess-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Non-AI-Chess-AI

Minimally complex program that could feasibly beat someone in a game of chess.

There are many chess AIs. Some, like DeepBlue, have gained great prestige for it's chess excellence. Indeed, now with the field of Machine learning and AI, our chess AIs are so advanced that humans don't really stand a chance!

This is not one of those. I want, in this repository, to gage how easy it is to make a minimally viable chess AI. By "AI" I mean, "Computer player". One of many constraints I put upon this repository is that it Cannot contain a lick of linear algebra. No Tensorflow. No Gradiant Differentialization. No Back-Propagation. An experienced chess player (or anyone who has played against this AI for long enough, or anyone who formulates a strategy from my discription of said AI) will likely run rings around this AI. This is OK: In many games it's easy to run rings around the AI.

Stars, hide your fires! Let not light see my black and deep desires.

I will not disclose the inciting incident imploring the implementation of this application. However, discuisssing the technical details that flow downstream from my secret plans will on occasion spill some beans. It cannot be avoided.

This application shall be implimented with a back-end of Java. If I impliment a Front-End, it will be in typescript.

I have mixed feelings about Java being chosen: On one hand, Java is the class I took PSoft (Principles of software) in. Principles of Software is a college class. One of the specifications of this chess AI is "Easiness". Requiring college-level OOP countermands my demands for "Easyness" On the other hand, the quitnessential "beginner friendly" language is Python. It is also the first Programming language I learned.

Oh, well, Java is the quitessential "Object oriented programming" language. Python provides multiple oppertunities to hoist oneself on their own petard. Plus, I can always claim to be plagued by the "Curse by Knowledge". Of corse Everyone knows the difference between abstract static, and regular object methods! I could have explained it to you back when I was in middle school! (Editor's note: I could not)

That, or arbritrarily bump up the canon skill level within redacted

Considering the super-secret reasoning behind making this Not-an-AI, I could alternitively just make an AI call to Chat GPT. That requires an account, though. Boo!

About

Minimally complex program that could feasibly beat someone in a game of chess.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages