Artificial intelligence (AI) and software engineering (SE) are two important areas in computer science. In recent years, researchers are trying to apply AI techniques in various stages of software development to improve the overall quality of software products. Moreover, there are also some researchers focus on the intersection between SE and AI. In fact, the relationship between SE and AI is very weak; however, methods and techniques in one area have been adopted in another area. More and more software products are capable of performing intelligent behaviour like human beings. In this paper, two cases studies which are IBM Watson and Google AlphaGo that use different AI techniques in solving real world challenging problems have been analysed, evaluated and compared. Based on the analysis of both case studies, using AI techniques such as deep learning and machine learning in software systems contributes to intelligent systems. Watson adopts 'decision making support' strategy to help human make decisions; whereas AlphaGo uses 'self-decision making' to choose operations that contribute to the best outcome. In addition, Watson learns from man-made resources such as paper; AlphaGo, on the other hand, learns from massive online resources such as photos. AlphaGo uses neural networks and reinforcement learning to mimic human brain, which might be very useful in medical research for diagnosis and treatment. However, there is still a long way to go if we want to reproduce human brain in machine and view computers as thinkers, because human brain and machines are intrinsically different. It would be more promising to see whether computers and software systems will become more and more intelligent to help with real world challenging problems that human beings cannot do.
翻译:人工智能与软件工程是计算机科学领域的两个重要方向。近年来,研究者正尝试将人工智能技术应用于软件开发的各个阶段,以提升软件产品的整体质量。同时,也有部分学者聚焦于软件工程与人工智能的交叉领域。事实上,软件工程与人工智能之间的关系并非紧密,但两者之间的方法和技术常被相互借鉴。越来越多的软件产品能够展现出类似人类的智能行为。本文对IBM Watson与Google AlphaGo这两个采用不同人工智能技术解决现实复杂挑战的案例进行了分析、评估与比较。基于这两个案例的分析,在软件系统中应用深度学习、机器学习等人工智能技术有助于构建智能系统。Watson采用"决策支持"策略辅助人类做出决策,而AlphaGo则使用"自主决策"方式选择可达成最优结果的操作。此外,Watson从论文等人工构建的资源中学习,而AlphaGo则从照片等海量在线资源中学习。AlphaGo运用神经网络与强化学习模拟人脑功能,这可能对医疗诊断与治疗研究具有重要价值。然而,若要在机器中复现人脑并将计算机视为思考者,仍任重道远——因为人脑与机器存在本质差异。更具前景的方向应是探索计算机与软件系统能否持续提升智能水平,以协助人类解决自身难以应对的现实复杂挑战。