Revivan
Badges: 2
Rep:
?
#1
Report Thread starter 5 months ago
#1
For my A level NEA, I have decided to go all out and have a crack at a chess AI.

So I'm not planning for my AI to be anything special, in fact just something that demonstrates how AI might work on a basic level. I would like to program it in a way that it analyses certain trades and moves at 1 depth based on material gain/loss or percentage win rate for that position based on games it has played in the past. So it will simulate and play games against itself until it builds up a winrate for a vast number of positions which it can then store in a database somehow.

This doesn't even mention the work that I will have to spend on board and piece representation, making the game actually work without bugs and figuring out how to conceptualise different ideas so that the computer can actually understand how the game works.

Also, if it would be possible, python is something I want my game to be mostly programmed in.

For someone who considers themselves an amateur at programming in general, too ambitious?

Also, should I try to apply some neural networks wizardry or is that something that would be wayyy out of my depth?

I'm going to guess yes but these things can be simplified and I am willing to put in a lot of time for this project. It's not just about the NEA, it is about my experience with machine learning and programming in general that I want to expand.
0
reply
Strange5050
Badges: 17
Rep:
?
#2
Report 5 months ago
#2
It seems complete overkill for the NEA, if I'm completely honest. If you're an amateur in programming, dipping into neural networks and artificial intelligence to develop chess AI may be more work that it's worth, especially for an NEA.

A side project? 100% go for it, but for A-Level? I'm not so sure. I understand you want to expand your knowledge in the realm of programming and AI, and I encourage you to do so, but not for the likes of this.

Even on a basic level it will still be very complex. Especially with machine learning and neural networks. I hope this doesn't discourage you for investigating these topics in your own time, but for the sake of academics and an NEA I'd say this is a little too ambitious.

A 2 player chess game might work though
Last edited by Strange5050; 5 months ago
0
reply
Revivan
Badges: 2
Rep:
?
#3
Report Thread starter 5 months ago
#3
(Original post by Strange5050)
It seems complete overkill for the NEA, if I'm completely honest. If you're an amateur in programming, dipping into neural networks and artificial intelligence to develop chess AI may be more work that it's worth, especially for an NEA.

A side project? 100% go for it, but for A-Level? I'm not so sure. I understand you want to expand your knowledge in the realm of programming and AI, and I encourage you to do so, but not for the likes of this.

Even on a basic level it will still be very complex. Especially with machine learning and neural networks. I hope this doesn't discourage you for investigating these topics in your own time, but for the sake of academics and an NEA I'd say this is a little too ambitious.

A 2 player chess game might work though
Thanks for the reply

Yeah it is definitely something I would like to do on the side. I'll switch projects now while it's still early.

In the meantime, you seem to know what your talking about. Any suggestions for where to start if I'm thinking of taking on AI?
0
reply
Strange5050
Badges: 17
Rep:
?
#4
Report 5 months ago
#4
(Original post by Revivan)
Thanks for the reply

Yeah it is definitely something I would like to do on the side. I'll switch projects now while it's still early.

In the meantime, you seem to know what your talking about. Any suggestions for where to start if I'm thinking of taking on AI?
No problem .

A good understanding of programming and related concepts should definitely be a starting point. You're obviously doing Python at the minute which is great, I'd also try learning another language, something like Java or C# to give you a solid foundation on OOP concepts. I know Python does have classes/objects, but it's always worth reinforcing and expanding that. I started with Java, and it gave me a very solid foundation. This course was what I used to get into it and is very good imo https://www.udemy.com/course/java-tutorial/

As for the core AI stuff. Understanding the basic concepts on AI (not necessarily the coding aspect) I think is the no-brainer starting point. AI is a broad field delving into topics like Machine Learning, Neural Networks etc.. You may find this resource valuable to get you started on the concepts/algorithms https://www.elementsofai.com/

Apart from this, when you feel confident enough is to simply search 'Neural Networks for beginners, Machine Learning for beginners' on YouTube or online and see where that takes you. YouTube is always a great resource. If you watch videos and there are topics are brought up you're not familiar with, pause and research. It won't necessarily be easy, but if you're interested in it and determined to learn, you'' find a way.

Hope this helps.
0
reply
Revivan
Badges: 2
Rep:
?
#5
Report Thread starter 5 months ago
#5
(Original post by Strange5050)
No problem .

A good understanding of programming and related concepts should definitely be a starting point. You're obviously doing Python at the minute which is great, I'd also try learning another language, something like Java or C# to give you a solid foundation on OOP concepts. I know Python does have classes/objects, but it's always worth reinforcing and expanding that. I started with Java, and it gave me a very solid foundation. This course was what I used to get into it and is very good imo https://www.udemy.com/course/java-tutorial/

As for the core AI stuff. Understanding the basic concepts on AI (not necessarily the coding aspect) I think is the no-brainer starting point. AI is a broad field delving into topics like Machine Learning, Neural Networks etc.. You may find this resource valuable to get you started on the concepts/algorithms https://www.elementsofai.com/

Apart from this, when you feel confident enough is to simply search 'Neural Networks for beginners, Machine Learning for beginners' on YouTube or online and see where that takes you. YouTube is always a great resource. If you watch videos and there are topics are brought up you're not familiar with, pause and research. It won't necessarily be easy, but if you're interested in it and determined to learn, you'' find a way.

Hope this helps.
Wow, this definitely helps, I'll get right on that java course when I have the time and look into the AI stuff.

Thanks again for the indepth responses and hope you have a great day
0
reply
OGMoiz
Badges: 2
Rep:
?
#6
Report 5 months ago
#6
(Original post by Revivan)
For my A level NEA, I have decided to go all out and have a crack at a chess AI.

So I'm not planning for my AI to be anything special, in fact just something that demonstrates how AI might work on a basic level. I would like to program it in a way that it analyses certain trades and moves at 1 depth based on material gain/loss or percentage win rate for that position based on games it has played in the past. So it will simulate and play games against itself until it builds up a winrate for a vast number of positions which it can then store in a database somehow.

This doesn't even mention the work that I will have to spend on board and piece representation, making the game actually work without bugs and figuring out how to conceptualise different ideas so that the computer can actually understand how the game works.

Also, if it would be possible, python is something I want my game to be mostly programmed in.

For someone who considers themselves an amateur at programming in general, too ambitious?

Also, should I try to apply some neural networks wizardry or is that something that would be wayyy out of my depth?

I'm going to guess yes but these things can be simplified and I am willing to put in a lot of time for this project. It's not just about the NEA, it is about my experience with machine learning and programming in general that I want to expand.
Probably a bit late, but I am also doing a chess AI, and after speaking to my teacher, I have to disagree with the other comment about overkill. Apparently you only have to code only 40% of the overall program and the other 60% can be libraries and stuff. So basically you can use a pre-made chess engine and do the AI stuff yourself. If you do a little research on minimax algorithms, you could easily code it while also getting an A*.
0
reply
AKDoes
Badges: 3
Rep:
?
#7
Report 1 month ago
#7
(Original post by OGMoiz)
Probably a bit late, but I am also doing a chess AI, and after speaking to my teacher, I have to disagree with the other comment about overkill. Apparently you only have to code only 40% of the overall program and the other 60% can be libraries and stuff. So basically you can use a pre-made chess engine and do the AI stuff yourself. If you do a little research on minimax algorithms, you could easily code it while also getting an A*.
I am also thinking of doing the chess AI and I did not know you could just use a made algorithm. If this is possible, then making this game would be realistic, although I am still debating whether or not it would take a lot of time and if I would be better of doing something like a stock system.
0
reply
X

Quick Reply

Attached files
Write a reply...
Reply
new posts
Back
to top
Latest
My Feed

See more of what you like on
The Student Room

You can personalise what you see on TSR. Tell us a little about yourself to get started.

Personalise

How would you feel if uni students needed to be double vaccinated to start in Autumn?

I'd feel reassured about my own health (40)
14.49%
I'd feel reassured my learning may be less disrupted by isolations/lockdowns (91)
32.97%
I'd feel less anxious about being around large groups (34)
12.32%
I don't mind if others are vaccinated or not (23)
8.33%
I'm concerned it may disadvantage some students (15)
5.43%
I think it's an unfair expectation (70)
25.36%
Something else (tell us in the thread) (3)
1.09%

Watched Threads

View All