版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、人工智慧與軟體工程之應用人工智慧與軟體工程之應用 2ncue csie outlinel軟體工程 (software engineering)l人工智慧 (artificial intelligence)l人工智慧的應用l人工智慧的執行l應用人工智慧技術於軟體工程l結論3ncue csie 軟體工程軟體工程 (software engineering)l軟體工程 以標準的工程方法分多個階段一步步來開發軟體系統設計系統分析需求規劃分析系統上線維護系統測試程式編碼4ncue csie 結構化系統分析結構化系統分析l問題分解 / 功能分解 將大而複雜的問題(或功能)分解到較小而簡化的問題(或功能),
2、直到成為容易理解的問題(或可直接實作的功能)為止mainabca1a2xyzc1c25ncue csie 物件導向系統分析物件導向系統分析l將資料與功能封裝於物件中客戶客戶編號: string客戶姓名: string性別: string聯絡電話: string傳真: string通訊地址: string電子郵件: string購物車編號: string名稱: string單位: string單價: currency數量: integer = 1金額: currency總金額: currency新增訂購項目()設定訂購數量()計算總金額()刪除訂購項目()清空所有產品()確認訂購訂單()訂單訂單
3、編號: integer客戶編號: string訂單日期: date交貨地址: string總金額: currency編號: string單價: currency數量: integer金額: currency新增訂單()1n11書籍產品編號: stringisbn: string出版社: string售價: currency作者: string書名: string出版日期: date顯示細部說明()nnnn6ncue csie 人工智慧(人工智慧(artificial intelligence)l電腦聰明?有智慧? 電腦會下棋、算命、解數學難題、玩電腦遊戲、看病、問題診斷等 智慧功能由軟體程式所
4、提供l軟體程式所提供的功能,電腦才會具有此能力,電腦並不會自己發展新功能l一般常用來撰寫人工智慧軟體之語言 人工智慧程式語言lprolog、lisp、clips 等 一般用途程式語言lvb、c、java 等7ncue csie 人工智慧人工智慧 (ai) 的意義的意義lusing methods based on the intelligent behavior of humans and other animals to solve complex problems - ben coppinl人類的智慧行為有哪些? 理解能力l圖形識別(視覺)、聲音識別(聽覺)、語言理解 學習能力l從經驗中學
5、習、從範例中學習、從教導中學習 推理能力l邏輯推理、知識推理 判斷能力l診斷、解釋、預測 求解能力l下棋、問題規劃8ncue csie 人工智慧的應用人工智慧的應用: 圖形識別(電腦視覺)圖形識別(電腦視覺)l以文字辨別為例,需三個步驟 方格切割 骨架化 資料庫比對abc9ncue csie 人工智慧的應用人工智慧的應用: 下棋下棋l兩人輪流下棋,可以用遊戲樹(game tree)來計算對自己最有利的走法 訂出評估函數:計算各種走法的評估值,以選擇對自己最有利的走法 minmax search:由於為兩人輪流下棋,自己會選擇下層評估值的最大值(對自己最有利),而對方會選擇最小值(對自己最不利)
6、-32-13-24241355-23-43:自己走,取最大值:對方走,取最小值此遊戲樹只計算到第三步第一步第二步第三步10ncue csie l以圈叉棋為例:假設只計算兩步 自己贏(連成一線)則評估值=,對方贏則評估值= 否則 評估值=自己還有可能連線的總數對方還有可能連線的總數11-1-2ooo1ox6-5=10ox5-5=0-1ox4-5=-11ox6-5=10ox5-5=0-1ox5-6=-10ox6-6=0-1ox5-6=-1-2o x4-6=-20ox6-6=01ox5-4=12ox6-4=2第一步第二步11ncue csie 人工智慧的應用人工智慧的應用: 模糊邏輯模糊邏輯 (fu
7、zzy logic)l一般日常的用語或需求經常都是模糊的而非明確絕對的,例如 冷氣再冷一點 電子鍋煮的飯稍微硬一點 身材高一點、年紀輕一點、快、慢、多、少、輕、重、冷、熱 等等l傳統邏輯的真值只有“真”(1)或“假”(0),模糊邏輯允許真值介於 0 與 1 之間,而非絕對 模糊邏輯可以使用成員函數(membership function)來表達模糊的意義 例如,某人找工作的條件為錢多、事少、離家近,其成員函數100.20.40.60.820k 30k 40k 50k 60k 70k100.20.40.60.83035404550薪水多一點的成員函數每週工作時數少一點的成員函數5512ncue
8、csie 人工智慧的應用人工智慧的應用: 專家系統專家系統 (expert systems)l利用專家知識來診斷、解釋、預測、或求解答 以醫生診斷系統為例:l將醫生的專家知識電腦化,儲存在知識庫(knowledge base)中 若出現頭痛與鼻塞症狀,則為 a 型感冒症狀 若出現咳嗽、流鼻水、與打噴嚏症狀,則為 b 型感冒症狀 若出現發燒與喉嚨痛症狀,則為 c 型感冒症狀 若為 a 型感冒症狀需吃阿司匹靈 若有胃痛症狀需吃胃藥l病人可以輸入其身體狀況到此醫生診斷系統中 假設輸入頭痛、鼻塞、與胃痛三種症狀l專家系統可以根據所輸入的事實來比對(match)專家知識,以自動推理出診斷結果與藥方 診斷
9、結果: a 型感冒症狀 藥方:阿司匹靈與胃藥13ncue csie 人工智慧的執行人工智慧的執行l使用人工智慧方法求得問題解答的過程中,需要執行兩個重要工作 知識的表示 知識的推理l數學邏輯為最常用的知識表示法 將知識表示成數學邏輯後,可利用數學推演的證明,從舊有知識中推理出新知識14ncue csie 述語邏輯(述語邏輯(predicate logic)之例子)之例子 假設我們有下列五項知識與事實,請問 mary 與 peter 的關係l若 x 是 y 的父親, y 是 z 的父親,則 x 是 z 的祖父l若 x 是 y 的祖父, z 是 x 的太太,則 z 是 y 的祖母 ljohn 是
10、kevin 的父親lkevin 是 peter 的父親lmary 是 john 的太太 把這五項知識與事實表示成述語邏輯l(x)(y)(z) father(x,y) father(y,z) grandfather(x,z)l(x)(y)(z) grandfather(x,y) wife(z,x) grandmother(z,y)lfather(john,kevin)lfather(kevin,peter)lwife(mary,john)15ncue csie 利用述語邏輯的歸結推演,以比對匹配及取代的方式產生新知識lgrandfather(john,peter) (x)(y)(z) fathe
11、r(x,y) father(y,z) grandfather(x,z) father(john,kevin) father(kevin,peter) john 取代 x,kevin 取代 y,peter 取代 zlgrandmother(mary,peter) (x)(y)(z) grandfather(x,y) wife(z,x) grandmother(z,y) wife(mary,john) grandfather(john,peter) 為新產生知識 john 取代 x,peter 取代 y,mary 取代 z 求得 mary 與 peter 的關係為 grandmother(mary
12、,peter)lgrandmother(mary,peter) 稱為一個述語 predicate grandmother 為後面兩個參數的關係名稱16ncue csie 知識推理方式知識推理方式l正向推理(forward chaining) 根據已知的資料與事實往前推論,產生新的知識,以達到目標 或稱為 資料驅動(data-driven) 述語邏輯的例子即為正向推理l已知 3 項事實,包括 john 是 kevin 的父親、 kevin 是 peter 的父親、 mary 是 john 的太太、以及祖父關係與祖母關係的兩個規則l目標為 “求出 mary 與 peter 的關係”(此目標為未知)
13、l經由正向推理之後產生新知識,得知 mary 為 peter 的祖母目標已知資料與事實新事實新事實 推理推理推理17ncue csie 知識推理方式知識推理方式l反向推理(backward chaining) 已知目標是什麼,往後推論此目標的達成方法 或稱為 目標驅動(goal-driven)已知目標解答子目標推理 子目標推理推理18ncue csie l反向推理之例子:機器人取下燈泡問題 如下圖,房間內有一個機器人、一個箱子、和一個燈泡,燈泡掛在天花板下,但機器人的高度搆不到燈泡,請問機器人如何取下燈泡?l已知目標為 “機器人取下燈泡”l機器人可以做的動作包括 機器人用機器手臂取下燈泡 機器
14、人從 a 走到 b 機器人從 b 走到 c 機器人從 c 走到 b 機器人從 b 走到 a 機器人爬到箱子上 機器人把箱子從 a 推到 b 機器人把箱子從 b 推到 c 機器人把箱子從 c 推到 b 機器人把箱子從 b 推到 al請問機器人要如何做(做哪些動作以及順序為何)才能取下燈泡?abc19ncue csie l反向推理過程 已知目標為 “機器人取下燈泡”,可以分解為三個子目標l箱子在 bl機器人站在箱子上l機器人用機器手臂取下燈泡 “箱子在 b ” 的子目標可以再分解為二個子目標l機器人在 cl機器人把箱子從 c 推到 b “機器人在 c ” 的子目標可以再分解為二個子目標l機器人從
15、a 走到 bl機器人從 b 走到 c 因此解答為五個步驟:l機器人從 a 走到 b、機器人從 b 走到 c、機器人把箱子從 c 推到 b、機器人爬到箱子上、機器人用機器手臂取下燈泡20ncue csie 應用人工智慧技術於軟體工程應用人工智慧技術於軟體工程lknowledge-based software engineering 提供軟體系統知識推理之能力 傳統的軟體工程無法處理知識密集(knowledge-intensive)之應用,也無法提供推理功能(inference)以解決問題l例子: 資工系排課系統 將系辦助理的排課知識寫成專家系統的規則(專家知識庫) 載入所有的課程、教師、班級、教
16、室、時段資料(事實) 專家系統的推理引擎可以根據所輸入的事實來比對(match)專家知識,以自動推理出同時符合的可行解21ncue csie 將人工智慧程式整合至排課系統將人工智慧程式整合至排課系統presentation tierflow control tierbusiness logic tierdata tierknowledgebaseinferenceengineworkingmemorydatabasesolutionapplication serverapplication softwaredb serverweb serverclientservletjspbrowser22ncue csie 教師開課子系統教師開課子系統23ncue csie 系辦排課子系統系辦排課子系統24ncue csie 應用人工智慧技術於軟體工程應用人工智慧技術於軟體工程lautomated software engineering 模擬軟體工程師與程式設計師的專家知識 軟體開發自動化l軟體規格自動驗證l軟體規格自動產生程式l軟體程式自動測試l例子: microste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管理学原理第三章模拟试题与答案
- 健康管理师考试模拟题与答案
- 火灾应急预案实操测试题及答案参考
- 咖啡行业顾客体验优化考试题集及解答
- 环保法律法规知识题库及答案指南
- 建筑电气安全知识培训试题集与答案解析
- 建筑工程管理标准化流程手册与试题集
- 建筑工地施工安全测试题及答案
- 电子商务网站建设题库及答案手册
- 精神健康手册心理健康状态自测题及答案详解
- 2025年全国中小学生天文知识竞赛试题库(含答案)
- OTDR的操作使用课件
- 125w短波电台课件
- 轻医美面部风水课件
- 中国民族乐器弦乐器课件
- 老师餐费补贴管理办法
- 物业管理师考试真题及答案
- 2025年农机证理论考试题库
- 知道智慧树电路分析基础(浙江大学)满分测试答案
- 2025 重症医学科感染性休克集束化医学查房课件
- 二类精神病药品培训课件
评论
0/150
提交评论