离散数学是计算机科学的语言。要在数据科学、机器学习和软件工程等许多领域工作,就必须精通离散数学(数学谜题经常被用于面试,这并非巧合)。我们通过一种有趣的 "先试后讲 "的方式向你介绍这门语言:首先,你要解决许多专为这门在线专业课程精心设计的互动谜题,然后我们会讲解如何解决这些谜题,并在解题过程中介绍一些重要的观点。我们相信,通过这种方式,您将加深理解,更好地领会基本思想的美妙之处(更不用说,如果您自己发明了这些思想,您将获得自信心!)。为了让您的学习体验更贴近 IT 应用,我们在专业课程中加入了编程实例、问题和项目。
应用的学习项目
我们将共同实施一个高效的程序,以解决世界各地的快递公司每天需要解决数百万次的问题--旅行推销员问题。这个问题的目标是尽快到达所有指定地点。如何快速找到这个问题的最优解?我们仍然没有针对这一计算难题的高效算法,而这正是计算机科学领域最重要的未决问题--P 与 NP 问题的本质所在。尽管如此,我们仍将针对旅行推销员问题的现实世界实例实现几种高效的解决方案。在设计这些解决方案时,我们将在很大程度上依赖于在专业课程中学到的材料:证明技术、组合学、概率论、图论。我们将看到几个利用离散数学思想获得更多更有效解决方案的例子。