如何在 .NET (C#) 中编写人工智能

20

我想编写一些需要使用人工智能的代码,但我不知道如何开始。

是否有一些库可以供我使用?是否有一些类似Prolog的.NET环境可供我的使用?


5
我想写一些需要使用人工智能的代码,但我不知道该怎么做。 - 呃,没有人知道!也许是伪人工智能... - Mitch Wheat
2
你怎么知道你需要的确实是人工智能呢? - Vasiliy R
2
ML.NET(机器学习和人工智能框架) https://www.microsoft.com/net/learn/apps/machine-learning-and-ai - Rajshekar Reddy
1
有些讽刺的是一个问题得到了那么多的赞和收藏,却因为某些原因被关闭了。 - Hello
很高兴地说,微软最近开发和发布了一个专门用于机器学习的新框架,叫做ML.NET,非常棒!去看看吧! - aradalvand
5个回答

40

人工智能是一个广泛的领域,包含许多子学科。你需要的特定库几乎肯定取决于你想要做什么。

你想做一些机器学习吗(例如回归)?那么你可能需要找到一个包含最先进分类器的库,如神经网络、支持向量机、提升决策树、k-means分类器等。

你想开发机器人控制系统吗?那么你可能需要研究粒子滤波器、卡尔曼滤波器、概率路线图等。

你想进行计算机视觉或语音识别吗?那么除了上述机器学习工具之外,你可能还需要访问信号处理库。

你想让计算机玩游戏吗?那么你可能需要使用minimax、UCT(我个人最喜欢!)或蒙特卡罗模拟库。

总之,有大量的库可供选择。确定你想解决的特定问题将是寻找适合你用途的库的第一步。


23

您希望使用 AForgehttp://code.google.com/p/aforge/

AForge.NET Framework 是一个为C#开发人员和研究人员设计的框架,用于计算机视觉和人工智能领域 - 图像处理、神经网络、遗传算法、机器学习、机器人等。

该框架由一组库和示例应用程序组成,演示其功能:http://www.aforgenet.com/framework/

我已经使用它进行图像处理几年了,每次都非常出色;)


8
如果想使用遗传算法,可以尝试使用GeneticSharp。这是一个快速、可扩展、多平台和多线程的.NET遗传算法库,简化了使用遗传算法(GAs)开发应用程序的过程。该库实现了GA的全部运算符:选择、交叉、变异、重新插入和终止。此外,它还有许多运算符实现:精英(也称为截断或截断)、轮盘赌、随机通用抽样、锦标赛等等。交叉方式包括剪切和粘贴、循环(CX)、单点、有序OX1、部分映射(PMX)、三个父母、双点和均匀。变异方式包括反向序列(RSM)、Twors和均匀。

重新插入

  • 精英主义
  • 基于适应性的
  • 纯净的
  • 统一的

终止条件

  • 代数编号
  • 时间演变
  • 适应性停滞
  • 适应性阈值
  • And 和 Or(允许组合其他终止条件)

5

请查看Infra.Net库。它是微软研究项目的一部分,包含了非常好的资源。


3

有许多针对人工智能(AI)的SDK可用,例如示例,但编程逻辑始终是您自己的!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接