机器人编程入门(陈小平) 2012夏  课程号:011M10
2012夏  课程号:011M10
10.0(1人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
选课类别:未知 教学类型:未知
课程类别:全校公修 开课单位:计算机科学与技术系
课程层次:全校通修 学分:2
课程主页:暂无(如果你知道,劳烦告诉我们!)
点评 写点评
boj 2012夏

这门课名为《机器人编程入门》,事实上是在讲智能机器人的基础理论——知识表达与推理、自然语言处理等。很多人选了这个暑期学期的课,是为了参加 Robogame 机器人比赛的,结果发现完全不是讲这个的。

知识表达用的是命题逻辑,推理方法用的是 Answer Set Programming,一种类似 Prolog 的逻辑编程语言。 https://en.wikipedia.org/wiki/Answer_set_programming

作业是用 clingo 推理器来解演绎推理(deductive reasoning)、数独、多米诺骨牌覆盖问题、拉姆塞问题。我还加做了四色问题、八皇后问题、最大团问题、中国邮递员问题等。把这些 NP-hard 问题映射到命题逻辑之后,clingo 都可以在可接受的时间内得到解,比 C 语言写的暴搜 + 剪枝快多了。当然针对上述经典问题,都有特定的算法可以加速搜索,这种特殊算法肯定是比 clingo 快的。然而逻辑编程是一种解决类 SAT 问题的通用解法,对于并不那么规则的现实中的知识推理问题,是很有用的。

代码: https://github.com/bojieli/answer-set-assignment

自然语言处理部分讲的是经典的基于规则的自然语言语法树分析。就是编译原理里面词法分析、语法分析那一套。作业是写一个解析几种简单英文句子语法树的词法和语法分析器。

代码: https://git.ustclug.org/boj/natural-language-parser/tree/master

如果以后这门课程仍然开的话,选修前建议先修数理逻辑和编译原理。

2017-01-04 04:53 1 0

其他老师的「机器人编程入门」课

吉建民, 宋鹏 10.0 (1) 2014夏

陈小平老师的其他课

数理逻辑 8.5 (31) 2020春 2019春...
人工智能基础 2008秋 2006秋
仿真机器人足球 2008秋 2007秋...
数理逻辑 2014春 2013春
机器人足球(初级班) 2004秋 2004春...
机器人足球(提高班) 2004春 2003秋...
行动推理(一) 2011秋 2010秋...
计算机导论 2010秋
多智能体系统前沿 2020秋 2019秋...