C 语言的国际象棋引擎
我是一名 17 岁的高中生,1 周前刚刚开始学习 C 编程。我在网页设计方面也有一些非常基本的经验(+一些使用 javascript 和 php 的网页编程。我曾经制作过一个带有联系表单的网站)。 不管怎样,我对人工智能非常感兴趣,作为一个学校项目,我想我会建造一个国际象棋引擎和一个可以物理移动棋子的机械臂。 现在,距离我完成发动机的最后期限还有 7 个月(而手臂必须在一年内完成)。 您认为对于一个完全的初学者来说,在 7 个月内编写一个国际象棋引擎(并最终使用该引擎构建一个机械臂)是否可行? 非常感谢!
I'm a 17 year old high school student who just started to learn C programming 1 week ago. I've also had some very basic experience in web design(+ a little web programming with javascript and php. I once made a website with contact form).
Anyway, I'm very interested in AI and as a school project, I thought that i'll build a chess engine and a robotic arm that physically moves the pieces.
Now, my deadline for which i have to finish the engine is 7 months away, (and the arm has to be completed in a year).
Do you think it's feasible for a total beginner to program a chess engine in 7 months(and eventually build a robotic arm using that engine?)
Thank you very much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
哈哈,雄心勃勃,但你需要付出巨大的努力才能完成它。在业余时间构建引擎本身会花费相当多的时间,因为国际象棋游戏的人工智能非常复杂,你必须告诉程序提前思考至少 7 步并牢记最终目标,更不用说你会必须对与机器人手臂交互的部分进行编程。理论上,您可以通过利用一些开源国际象棋游戏来作弊/不重新发明轮子,并为自己节省几个月的编程时间。
lol, great ambition, but it will take a hurculean effort on your part to get it done. Building the engine itself in your spare time will take quite a bit, as the AI for a chess game is pretty complicated, you have to tell the program to think ahead at least 7 moves with an end goal in mind, not to mention you will have to program the piece that interacts with the robot arm. You could theoretically cheat/not reinvent the wheel by utilizing some open source chess game and save yourself a few months of programming just in that piece.
我认为,最好选择一些实际的任务来开始练习。当然,您可以将任务分成步骤。但在国际象棋中,第一步 - GUI - 对您来说是真实的。但第二个——最原始的人工智能——是极其困难的。这是游戏的具体情况。
如果你将黑白棋作为主题游戏,那么创建一个非常原始的人工智能是可能的。我不相信你可以管理递归思维,但可以进行一步式思维,对位置进行评估,当然,游戏的 GUI 也是可能的。但你必须非常努力地工作。如果你有兴趣,我可以给你一些关于这个游戏实现的建议——我自己在不同的机器上做了两次。但机械手是毫无疑问的。
当然,如果你是天才,你就能管理一切。 (我不是在开玩笑。你永远无法分辨......)
而且 C 并不是人工智能的最佳语言。它甚至不是更好的之一。
I think, that it is better to choose some real task to start with for practice. Of course, you can divide the task in steps. But in chess the first step - GUI - is real for you. But the second - the most primitive AI - is extremely hard. It is the specific of the game.
If you take reversi/othello as the subject game, then creating a very primitive AI could be possible. I don't believe that you can manage recursive thinking, but one-step thinking, with evaluation of the positions and of course, the GUI for the game is possible. But you will have to work really hard. If you are interested, I could give you a pair of advices for this game realzation - I did it myself twice on different machines. But robotic hand is out of question.
Of course, if you are a genius, you can manage everything. ( I am not joking. You can never tell...)
And C is not the best language for AI. It is not even one of better ones.