端點到端點延遲的運算式的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列地圖、推薦、景點和餐廳等資訊懶人包

端點到端點延遲的運算式的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦張銀奎寫的 軟件調試(第2版)卷2:Windows平臺調試(上下) 和BrianChristian的 決斷的演算:預測、分析與好決定的11堂邏輯課都 可以從中找到所需的評價。

這兩本書分別來自人民郵電 和行路所出版 。

國立中山大學 資訊工程學系研究所 陳坤志所指導 梁靖玟的 應用於工業馬達系統之基於類神經網路異常信號檢測架構設計 (2021),提出端點到端點延遲的運算式關鍵因素是什麼,來自於異常檢測、工業4.0、核密度估計、類神經網路、訓練激勵函數。

而第二篇論文國立臺灣大學 電信工程學研究所 周俊廷所指導 陳維哲的 雲霧端網路中的延遲感知虛擬網路嵌入問題 (2019),提出因為有 霧運算、網路功能虛擬化、虛擬網路嵌入、延遲需求、花費成本的重點而找出了 端點到端點延遲的運算式的解答。

接下來讓我們看這些論文和書籍都說些什麼吧:

除了端點到端點延遲的運算式,大家也想知道這些:

軟件調試(第2版)卷2:Windows平臺調試(上下)

為了解決端點到端點延遲的運算式的問題,作者張銀奎 這樣論述:

本書是國內當前集中介紹軟體調試主題的權威著作。本書第2卷分為5篇,共30章,主要圍繞Windows系統展開介紹。第一篇(第1~4章)介紹Windows系統簡史、進程和執行緒、架構和系統部件,以及Windows系統的啟動過程,既從空間角度講述Windows的軟體世界,也從時間角度描述Windows世界的搭建過程。第二篇(第5~8章)描述特殊的程序呼叫、墊片、託管世界和Linux子系統。第三篇(第9~19章)深入探討使用者態調試模型、使用者態調試過程、中斷和異常管理、未處理異常和JIT調試、硬錯誤和藍屏、錯誤報告、日誌、事件追蹤、WHEA、內核調試引擎和驗證機制。第四篇(第20~25章)從編譯和編

譯期檢查、運行時庫和運行期檢查、棧和函式呼叫、堆和堆檢查、異常處理代碼的編譯、調試符號等方面概括編譯器的調試支持。第五篇(第26~30章)首先縱覽調試器的發展歷史、工作模型和經典架構,然後分別討論集成在Visual Studio和Visual Studio(VS)Code中的調試器,最後深度解析WinDBG調試器的歷史、結構和用法。 本書理論與實踐結合,不僅涵蓋了相關的技術背景知識,還深入研討了大量具有代表性的技術細節,是學習軟體調試技術的珍貴資料。 本書適合所有從事軟體發展工作的讀者閱讀,特別適合從事軟體發展、測試和支持的技術人員閱讀。 張銀奎,國內知名的調試技術專家。

畢業于上海交通大學資訊與控制工程系,長期從事軟體發展和研究工作,曾在英特爾工作13年,對 IA-32 架構、作業系統內核、驅動程式,尤其是對軟體調試有較深入的研究。著有《軟體調試》《格蠹彙編》等暢銷、常銷技術圖書,格蠹科技(xedge.ai)創始人,高端調試網站(advdbg.org)創建者。翻譯(合譯)作品有《二十一世紀機器人》《觀止——微軟創建NT 和未來的奪命狂奔》《資料採擷原理》《機器學習》《人工智慧:複雜問題求解的結構和策略》等。 第一篇 大 局 觀 第 1 章 Windows 系統簡史 1.1 源於DOS 1.2 功在NT 1.3 Windows 2000 彰顯實

力 1.4 巔峰之作:Windows XP 和Windows Server 2003 1.5 Windows Vista 折戟沙場 1.6 Windows 7 享利中興 1.7 Windows 8 革新受挫 1.8 Windows 10 何去何從 1.9 本章總結 17 參考資料 第 2 章 進程和執行緒 2.1 任務 2.2 進程資源 2.3 進程空間 2.3.1 32 位元進程空間 2.3.2 64 位元進程空間 2.4 EPROCESS 結構 2.5 PEB.... 28 2.6 核心模式和使用者模式 2.6.1 訪問模式 2.6.2 使用INT 2E 切換到核心模式 2.6.3 快速系

統調用 2.6.4 逆向調用 2.6.5 實例分析 2.7 執行緒 2.7.1 ETHREAD 2.7.2 TEB 2.8 WoW 進程 2.8.1 架構 2.8.2 工作過程 2.8.3 註冊表重定向 2.8.4 註冊表反射 2.8.5 檔案系統重定向 2.9 創建進程 2.10 最小進程和Pico 進程 2.10.1 最小進程 2.10.2 Pico進程 2.11 工作管理員 2.12 本章總結 參考資料 第3 章 架構和系統部件 3.1 系統概覽 3.1.1 內核空間 3.1.2 用戶空間 3.2 內核和HAL 模組 3.2.1 內核文件 3.2.2 HAL文件 3.3 空閒進程 3.4

系統進程 3.5 內核空間的其他模組 3.6 NTDLL.DLL 3.6.1 角色 3.6.2 調用系統服務的樁函數 3.6.3 映射檔載入器 3.6.4 運行時庫 3.6.5 其他功能 3.7 環境子系統 3.8 原生進程 3.8.1 特點 3.8.2 SMSS 3.8.3 CSRSS 3.9 本章總結 參考資料 第4 章 啟動過程 4.1 BootMgr 4.1.1 工作過程 4.1.2 調試方法 4.2 WinLoad 4.3 內核初始化 4.3.1 NT 的入口函數 4.3.2 內核初始化 4.4 執行體的階段0 初始化 4.4.1 總體過程 4.4.2 創建特殊進程 4.5 執行體

的階段1 初始化 4.5.1 Phase1Initialization 4.5.2 喚醒其他CPU 4.5.3 非啟動CPU 的起步路線 4.5.4 漫長的I/O 初始化 4.5.5 更新進度 4.6 創建用戶空間 4.6.1 創建會話管理器進程 4.6.2 建立環境子系統 4.6.3 創建窗口站和桌面 4.6.4 用戶登錄 4.7 本章總結 參考資料 第二篇 探 微 第5 章 特殊的程式呼叫 5.1 非同步程式呼叫 5.2 插斷要求級別 5.2.1 設計初衷 5.2.2 基本原理 5.2.3 析疑 5.3 延遲程式呼叫 5.3.1 使用模式 5.3.2 黏滯在DPC 5.4 本地程式呼叫

5.5 遠程程式呼叫 5.5.1 工作模型 5.5.2 RPC 子系統服務 5.5.3 端點和協議串 5.5.4 蜂巢 5.5.5 案例和調試方法 5.6 本章總結 參考資料 第6 章 墊片 6.1 墊片資料庫 6.1.1 認識SDB檔 6.1.2 定制的SDB文件 6.1.3 修補模式 6.2 AppHelp 6.2.1 SDB 功能 6.2.2 墊片引擎 6.2.3 AD 掛鉤 6.2.4 穿山甲掛鉤 6.3 墊片動態庫 6.3.1 AcLayers.DLL 6.3.2 AcGenral.DLL 和AcSpecfc.DLL 6.3.3 其他墊片模組 6.4 應用程式墊片的工作過程 6.4.

1 在父進程中準備墊片資料 6.4.2 在新進程中載入和初始化墊片引擎 6.4.3 載入墊片模組 6.4.4 落實掛鉤 6.4.5 執行墊片 6.5 內核墊片引擎 6.5.1 資料和配置 6.5.2 初始化 6.5.3 KSE 墊片結構 6.5.4 註冊墊片 6.5.5 部署墊片 6.5.6 執行墊片 6.6 本章總結 參考資料 第7 章 託管世界 7.1 簡要歷史 7.2 宏偉藍圖 7.3 類和方法表 7.4 輔助調試執行緒 7.4.1 託管調試模型 7.4.2 RCThread 7.4.3 刺探執行緒 7.5 CLR4 的調試模型重構 7.6 SOS 擴展 7.6.1 載入SOS 7.6.

2 設置中斷點 7.6.3 簡要原理 7.7 本章總結 參考資料 第8 章 Linux子系統 8.1 源於Drawbridge 8.2 融入NT 8.3 總體架構 8.4 子系統內核模組 8.5 微軟版Linux 內核 8.6 Linux 子系統伺服器 8.7 WSL 啟動器 8.8 交叉開發 8.9 WSL2 8.10 本章總結 參考資料 第三篇 作業系統的調試支援 第9 章 使用者態調試模型 9.1 概覽 9.1.1 參與者 9.1.2 調試子系統 9.1.3 調試事件驅動 9.2 採集調試消息 9.2.1 消息常量 9.2.2 進程和執行緒創建消息 9.2.3 進程和執行緒退出消息 9

.2.4 模組映射和反映射消息 9.2.5 異常消息 9.3 發送調試消息 9.3.1 調試消息結構 9.3.2 DbgkpSendApiMessage函數 9.3.3 控制被調試進程 9.4 調試子系統伺服器(Windows XP 之後) 9.4.1 DebugObject 9.4.2 創建調試對象 9.4.3 設置調試對象 9.4.4 傳遞調試消息 9.4.5 杜撰的調試消息 9.4.6 清除調試對象 9.4.7 內核服務 9.4.8 全景 9.5 調試子系統伺服器(Windows XP 之前) 9.5.1 概覽 9.5.2 Windows 會話管理器 9.5.3 Windows 環境子系

統伺服器進程 9.5.4 調用CSRSS 的服務 9.5.5 CsrCreateProcess 服務 9.5.6 CsrDebugProcess 服務 9.6 比較兩種模型 9.6.1 Windows 2000 調試子系統的優點 9.6.2 Windows 2000 調試子系統的安全問題 9.6.3 Windows XP 的調試模型的優點 9.6.4 Windows XP 引入的新調試功能 9.7 NTDLL.DLL 中的調試支援常式 9.7.1 DbgUi 函數 9.7.2 DbgSs 函數 9.7.3 Dbg 函數 9.8 調試API 9.9 本章總結 參考資料 第10 章 用戶態調試過程

10.1 調試器進程 10.1.1 執行緒模型 10.1.2 調試器的工作執行緒 10.1.3 DbgSsReserved 欄位 10.2 被調試進程 10.2.1 特徵 10.2.2 DebugPort 欄位 10.2.3 BeingDebugged 欄位 10.2.4 觀察DebugPort 欄位和BeingDebugged 欄位 10.2.5 調試會話 10.3 從調試器中啟動被偵錯工具 10.3.1 CreateProcess API 10.3.2 第 一批調試事件 10.3.3 初始中斷點 10.3.4 自動啟動調試器 10.4 附加到已經啟動的進程中 10.4.1 DebugAc

tiveProcess API 10.4.2 示例:TinyDbgr 程式 10.5 處理調試事件 10.5.1 DEBUG_EVENT 結構 10.5.2 WaitForDebugEvent API 10.5.3 調試事件迴圈 10.5.4 回復調試事件 10.5.5 定制調試器的事件處理方式 10.6 中斷到調試器 10.6.1 初始中斷點 10.6.2 程式設計時加入中斷點 10.6.3 通過調試器設置中斷點 10.6.4 通過遠端執行緒觸發中斷點異常 10.6.5 在執行緒當前執行位置設置中斷點 10.6.6 動態調用遠端函數 10.6.7 掛起中斷 10.6.8 調試快速鍵(F12

鍵) 10.6.9 窗口更新 10.7 輸出調試字串 10.7.1 發送調試資訊 10.7.2 使用調試器接收調試資訊 10.7.3 使用工具接收調試資訊 10.8 終止調試會話 10.8.1 被調試進程退出 10.8.2 調試器進程退出 10.8.3 分離被調試進程 10.8.4 退出時分離 10.9 本章總結 參考資料 第 11 章 中斷和異常管理 11.1 中斷描述符表 11.1.1 概況 11.1.2 門描述符 11.1.3 執行中斷和異常處理函數 11.1.4 IDT 一覽 11.2 異常的描述和登記 11.2.1 EXCEPTION_RECORD結構 11.2.2 登記CPU 異常

11.2.3 登記軟體異常 11.3 異常分發過程 11.3.1 KiDispatchException 函數 11.3.2 內核態異常的分發過程 11.3.3 用戶態異常的分發過程 11.3.4 歸納 11.4 結構化異常處理 11.4.1 SEH 簡介 11.4.2 SHE 機制的終結處理 11.4.3 SEH 機制的異常處理 11.4.4 過濾運算式 11.4.5 異常處理塊 11.4.6 嵌套使用終結處理和異常處理 11.5 向量化異常處理 11.5.1 登記和註銷 11.5.2 調用結構化異常處理器 11.5.3 示例 11.6 本章總結 參考資料 第 12 章 未處理異常和JIT

調試 12.1 簡介 12.2 默認的異常處理器 12.2.1 BaseProcessStart 函數中的結構化異常處理器 12.2.2 編譯器插入的SEH 處理器 12.2.3 基於信號的異常處理 12.2.4 實驗:觀察默認的異常處理器 12.2.5 BaseThreadStart 函數中的結構化異常處理器 12.3 未處理異常過濾函數 12.3.1 Windows XP 之前的異常處理機制 12.3.2 Windows XP 中的異常處理機制 12.4 “應用程式錯誤”對話方塊 12.4.1 用HardError 機制提示應用程式錯誤 12.4.2 使用ReportFault API

提示應用程式錯誤 12.5 JIT 調試和Dr. Watson 12.5.1 配置JIT 調試器 12.5.2 啟動JIT 調試器 12.5.3 自己編寫JIT 調試器 12.6 頂層異常過濾函數 12.6.1 註冊 12.6.2 C 運行時庫的頂層過濾函數 12.6.3 執行 12.6.4 調試 12.7 Dr. Watson 12.7.1 配置和查看模式 12.7.2 設置為默認的JIT 調試器 12.7.3 JIT 調試模式 12.8 DRWTSN32 的日誌檔 12.8.1 異常資訊 12.8.2 系統資訊 12.8.3 任務列表 12.8.4 模組清單 12.8.5 執行緒狀態 12

.8.6 函式呼叫序列 12.8.7 原始棧資料 12.9 用戶態轉儲檔 12.9.1 檔案格式概覽 12.9.2 資料流程 12.9.3 產生轉儲檔 12.9.4 讀取轉儲文件 12.9.5 利用轉儲檔分析問題 12.10 本章總結 參考資料 第 13 章 硬錯誤和藍屏 13.1 硬錯誤提示 13.1.1 缺盤錯誤 13.1.2 NtRaiseHardError 13.1.3 ExpRaiseHardError 13.1.4 CSRSS 中的分發過程 13.2 藍屏終止 13.2.1 簡介 13.2.2 發起和產生過程 13.2.3 診斷藍屏錯誤 13.2.4 手工觸發藍屏 13.3 系統轉

儲檔 13.3.1 分類 13.3.2 檔案格式 13.3.3 產生方法 13.4 分析系統轉儲檔 13.4.1 初步分析 13.4.2 執行緒和棧回溯 13.4.3 陷阱幀 13.4.4 自動分析 13.5 輔助的錯誤提示方法 13.5.1 MessageBeep 13.5.2 Beep 函數 13.5.3 閃動窗口 13.6 配置錯誤提示機制 13.6.1 SetErrorMode API 13.6.2 IoSetThreadHardErrorMode 13.6.3 藍屏後自動重啟 13.7 防止濫用錯誤提示機制 13.8 本章總結 參考資料 第 14 章 錯誤報告 14.1 WER 1.

0 14.1.1 用戶端 14.1.2 報告模式 14.1.3 傳輸方式 14.2 系統錯誤報告 14.3 WER 伺服器端 14.3.1 WER 服務 14.3.2 錯誤報告分類方法 14.3.3 報告回應 14.4 WER 2.0 14.4.1 模組變化 14.4.2 創建報告 14.4.3 提交報告 14.4.4 典型應用 14.5 CER 14.6 本章總結 參考資料 第 15 章 日誌 15.1 日誌簡介 15.2 ELF 的架構 15.2.1 ELF 的日誌檔 15.2.2 事件源 15.2.3 ELF 服務 15.3 ELF 的資料組織350 15.3.1 日誌記錄 15.3.2

添加日誌記錄 15.3.3 API 一覽 15.4 查看和使用ELF 日誌 15.5 CLFS 的組成和原理 15.5.1 組成 15.5.2 存儲結構 15.5.3 LSN 15.6 CLFS 的使用方法 15.6.1 創建日誌檔 15.6.2 添加CLFS 容器 15.6.3 創建編組區 15.6.4 添加日誌記錄 15.6.5 讀日誌記錄 15.6.6 查詢資訊 15.6.7 管理和備份 15.7 本章總結 參考資料 第 16 章 事件追蹤 16.1 簡介 16.2 ETW 的架構 16.3 提供ETW消息 16.4 控制ETW會話 16.5 消耗ETW消息 16.6 格式描述 16.

6.1 MOF文件 16.6.2 WPP 16.7 NT 內核記錄器 16.7.1 觀察NKL的追蹤事件 16.7.2 編寫代碼控制NKL 16.7.3 NKL 的實現 16.8 Global Logger Session 16.8.1 啟動GLS 會話 16.8.2 配置GLS 16.8.3 在驅動程式中使用GLS 16.8.4 自動記錄器 16.8.5 BootVis 工具 16.9 Crimson API 16.9.1 發佈事件 16.9.2 消耗事件 16.9.3 格式描述 16.9.4 收集和觀察事件 16.9.5 Crimson API 的實現 16.10 本章總結 參考資料 第

17 章 WHEA 17.1 目標、架構和PSHED.DLL 17.1.1 目標 17.1.2 架構 17.1.3 PSHED.DLL 17.2 錯誤源 17.2.1 標準的錯誤源 17.2.2 通過ACPI 表來定義錯誤源 17.2.3 通過PSHED 外掛程式來報告錯誤源 17.3 錯誤處理過程 17.3.1 WHEA_ERROR_PACKET結構 17.3.2 處理過程 17.3.3 WHEA_ERROR_RECORD結構 17.3.4 固件優先模式 17.4 錯誤持久化 17.4.1 ERST 17.4.2 工作過程 17.5 注入錯誤 17.6 本章總結 參考資料 第 18 章 內核

調試引擎 18.1 概覽 18.1.1 KD 18.1.2 角色 18.1.3 組成 18.1.4 模組檔 18.1.5 版本差異 18.2 連接 18.2.1 序列埠 18.2.2 1394 18.2.3 USB 2.0 18.2.4 管道 18.2.5 選擇連接方式 18.2.6 解決連接問題 18.3 啟用 18.3.1 BOOT.INI 18.3.2 BCD 18.3.3 高級啟動選項 18.4 初始化 18.4.1 Windows 系統啟動過程概述 18.4.2 第 一次調用KdInitSystem 18.4.3 第二次調用KdInitSystem 18.4.4 通信擴展模組的階段1

初始化 18.5 內核調試協議 18.5.1 數據包 18.5.2 報告狀態變化 18.5.3 訪問目標系統 18.5.4 恢復目標系統執行 18.5.5 版本 18.5.6 典型對話過程 18.5.7 KdTalker 18.6 與內核交互 18.6.1 中斷到調試器 18.6.2 KdpSendWaitContinue 18.6.3 退出調試器 18.6.4 輪詢中斷包 18.6.5 接收和報告異常事件 18.6.6 調試服務 18.6.7 列印調試資訊 18.6.8 載入調試符號 18.6.9 更新系統檔 18.7 建立和維持連接 18.7.1 最早的調試機會 18.7.2 初始中斷點

18.7.3 斷開和重新建立連接 18.8 本地內核調試 18.8.1 LiveKD 18.8.2 Windows 系統自己的本地內核調試支援 18.8.3 安全問題 18.9 本章總結 參考資料 第 19 章 驗證機制 19.1 簡介 19.1.1 驅動程式驗證器 19.1.2 應用程式驗證器 19.1.3 WHQL 測試 19.2 驅動驗證器的工作原理 19.2.1 設計原理 19.2.2 初始化 19.2.3 掛接驗證函數 19.2.4 驗證函數的執行過程 19.2.5 報告驗證失敗 19.3 使用驅動驗證器 19.3.1 驗證項目 19.3.2 啟用驅動驗證器 19.3.3 開始驗證

19.3.4 觀察驗證情況 19.3.5 WinDBG 的擴展命令 19.4 應用程式驗證器的工作原理 19.4.1 原理和組成 19.4.2 初始化 19.4.3 掛接API 19.4.4 驗證函數的執行過程 19.4.5 報告驗證失敗 19.4.6 驗證停頓 19.5 使用應用程式驗證器 19.5.1 應用驗證管理器 19.5.2 驗證項目 19.5.3 配置驗證屬性 19.5.4 配置驗證停頓 19.5.5 程式設計調用 19.5.6 調試擴展 19.6 本章總結 參考資料 第四篇 編譯器的調試支持 第 20 章 編譯和編譯期檢查 20.1 程式的構建過程 20.1.1 連結器 20.

1.2 載入器 20.2 編譯 20.2.1 前端 20.2.2 後端 20.3 Visual C++編譯器 20.3.1 MSVC 簡史 20.3.2 MSVC6 20.3.3 VS7 和VS8 20.3.4 構建程式 20.3.5 調試 20.4 編譯錯誤和警告 20.4.1 錯誤ID 和來源 20.4.2 編譯警告 20.5 編譯期檢查 20.5.1 未初始化的區域變數 20.5.2 類型不匹配 20.5.3 使用編譯器指令 20.5.4 標注 20.5.5 驅動程式靜態驗證器 20.6 標準標注語言 20.6.1 緩衝區標注符 20.6.2 高級標注符 20.7 本章總結 參考資料.

第 21 章 運行時庫和運行期檢查 21.1 C/C++運行時庫 21.1.1 C 運行時庫 21.1.2 C++標準庫 21.2 連結運行時庫 21.2.1 靜態連結和動態連結 21.2.2 lib 文件 21.3 運行時庫的初始化和清理 21.3.1 介入方法 21.3.2 初始化 21.3.3 多個運行時庫實例 21.4 運行期檢查 21.4.1 自動的運行期檢查 21.4.2 斷言 21.4.3 _RPT 宏 21.5 報告運行期檢查錯誤 21.5.1 _CrtDbgReport 21.5.2 _CrtSetReportMode 21.5.3 _CrtSetReportFile 21.

5.4 _CrtSetReportHook 493 21.5.5 _CrtSetReportHook2 21.5.6 使用其他函數報告RTC錯誤 21.6 本章總結 參考資料 第 22 章 棧和函式呼叫 22.1 簡介 22.1.1 用戶態棧和內核態棧 22.1.2 函數、過程和方法 22.2 棧的創建過程 22.2.1 內核態棧的創建 22.2.2 用戶態棧的創建 22.2.3 跟蹤用戶態棧的創建過程 22.3 CALL 和RET 指令 22.3.1 CALL 指令 22.3.2 RET 指令 22.3.3 觀察函式呼叫和返回過程 22.3.4 跨特權級調用 22.4 區域變數和棧幀 22.

4.1 區域變數的分配和釋放 22.4.2 EBP 寄存器和棧幀 22.4.3 幀指針和棧幀的遍歷 22.5 幀指針省略 22.6 棧指針檢查 22.7 調用協定 22.7.1 C 調用協定 22.7.2 標準調用協定 22.7.3 快速調用協定 22.7.4 This 調用協定 22.7.5 CLR 調用協定 22.7.6 x64 調用協定 22.7.7 通過編譯器開關改變預設調用協定 22.7.8 函數返回值 22.7.9 歸納和補充 22.8 棧空間的增長和溢出 22.8.1 棧空間的自動增長 22.8.2 棧溢出 22.8.3 分配檢查 22.9 棧下溢 22.10 緩衝區溢位 22.

10.1 感受緩衝區溢位 22.10.2 緩衝區溢位攻擊 22.11 變數檢查 22.12 基於Cookie 的安全檢查 22.12.1 安全Cookie 的產生、植入和檢查 22.12.2 報告安全檢查失敗 22.12.3 編寫安全的代碼 22.13 本章總結 參考資料 第 23 章 堆和堆檢查 23.1 理解堆 23.2 堆的創建和銷毀 23.2.1 進程的預設堆 23.2.2 創建私有堆 23.2.3 堆列表 23.2.4 銷毀堆 23.3 分配和釋放堆塊 23.3.1 HeapAlloc 23.3.2 CRT 分配函數 23.3.3 釋放從堆中分配的記憶體 23.3.4 GlobalA

lloc 和LocalAlloc 23.3.5 解除提交 23.4 堆的內部結構 23.4.1 結構和佈局 23.4.2 HEAP 結構 23.4.3 HEAP_SEGMENT結構 23.4.4 HEAP_ENTRY結構 23.4.5 分析堆塊的分配和釋放過程 23.4.6 使用!heap 命令觀察堆塊資訊 23.5 低碎片堆 23.6 堆的調試支持 23.6.1 全域標誌 23.6.2 堆釋放檢查 23.7 棧回溯資料庫 23.7.1 工作原理 23.7.2 DH 和UMDH工具 23.7.3 定位記憶體洩漏 23.8 堆溢出和檢測 23.8.1 堆緩衝區溢位 23.8.2 調用時驗證 23

.8.3 堆尾檢查 23.9 頁堆 23.9.1 總體結構 23.9.2 啟用和觀察頁堆 23.9.3 堆塊結構 23.9.4 檢測溢出 23.10 准頁堆 23.10.1 啟用准頁堆 23.10.2 結構佈局 23.10.3 檢測溢出 23.11 CRT 堆 23.11.1 CRT 堆的3 種模式 23.11.2 SBH 簡介 23.11.3 創建和選擇模式 23.11.4 CRT 堆的終止 23.12 CRT 堆的調試堆塊 23.12.1 _CrtMemBlockHeader結構 23.12.2 塊類型 23.12.3 分配堆塊 23.13 CRT 堆的調試功能 23.13.1 記憶體分配

序號中斷點 23.13.2 分配掛鉤 23.13.3 自動和手動檢查 23.14 堆塊轉儲 23.14.1 記憶體狀態和檢查點 23.14.2 _CrtMemDumpAllObjectsSince 23.14.3 轉儲掛鉤 23.15 洩漏轉儲 23.15.1 _CrtDumpMemoryLeaks 23.15.2 何時調用 23.15.3 定位導致洩漏的原始程式碼 23.16 本章總結 參考資料 第 24 章 異常處理代碼的編譯 24.1 概覽 24.2 FS:[0]鏈條 24.2.1 TEB 和TIB 結構 24.2.2 ExceptionList 欄位 24.2.3 登記異常處理器 24

.3 遍歷FS:[0]鏈條 24.3.1 RtlDispatchException 24.3.2 KiUserExceptionDispatcher 24.4 執行異常處理函數 24.4.1 SehRaw 實例 24.4.2 執行異常處理函數 24.5 _ _ try{}_ _ except()結構 24.5.1 與手工方法的對應關係 24.5.2 _ _ try{}_ _ except()結構的編譯 24.5.3 範圍表 24.5.4 TryLevel 24.5.5 _ _ try{}_ _ except()結構的執行 24.5.6 _SEH_prolog 和_SEH_epilog 24.6

安全問題 24.6.1 安全Cookie 24.6.2 SAFESEH 24.6.3 基於表的異常處理 24.7 本章總結 參考資料 第 25 章 調試符號 25.1 名稱修飾 25.1.1 C 和C++ 25.1.2 C 的名稱修飾規則 25.1.3 C++的名稱修飾規則 25.2 調試資訊的存儲格式 25.2.1 COFF格式 25.2.2 CodeView 格式 25.2.3 PDB格式 25.2.4 DWARF格式 25.3 目的檔案中的調試資訊 25.3.1 IMAGE_FILE_HEADER結構 25.3.2 IMAGE_SECTION_HEADER結構 25.3.3 節的重定位

資訊和行號資訊 25.3.4 存儲調試資料的節 25.3.5 調試符號表 25.3.6 COFF 字串表 25.3.7 COFF 符號例析 25.4 PE 檔中的調試資訊 25.4.1 PE 文件佈局 25.4.2 IMAGE_OPTIONAL_HEADER結構 25.4.3 調試資料目錄 25.4.4 調試數據 25.4.5 使用WinDBG 觀察PE 檔中的調試資訊 25.4.6 調試資訊的產生過程 25.5 DBG 文件 25.5.1 從PE 檔產生DBG 檔 25.5.2 DBG 文件的佈局 25.6 PDB 文件 25.6.1 複合檔案 25.6.2 PDB 文件佈局 25.6.3

PDB 簽名 25.6.4 Magic 代碼 25.6.5 PDB_HEADER 25.6.6 根資料流程——流目錄 25.6.7 頁分配表 25.6.8 訪問PDB 檔的方式 25.6.9 PDB 檔的產生過程 25.7 有關的編譯和連結選項 25.7.1 控制調試資訊的編譯選項 25.7.2 控制調試資訊的連結選項 25.7.3 不同連結和編譯選項的比較 25.8 PDB 文件中的資料表 25.8.1 符號表 25.8.2 原始檔案表 25.8.3 節貢獻表 25.8.4 段信息表 25.8.5 注入原始程式碼表 25.8.6 幀資料表 25.9 本章總結 參考資料 第五篇 調 試 器

第 26 章 調試器概覽 26.1 TX-0 電腦和FLIT調試器 26.2 小型機和DDT調試器 26.2.1 PDP-1 26.2.2 TOPS-10 作業系統和 DDT-10 26.3 個人電腦和它的調試器 26.3.1 8086 Monitor 26.3.2 SYMDEB 26.3.3 CodeView調試器 26.3.4 Turbo Debugger 26.3.5 SoftICE 26.4 調試器的功能 26.4.1 建立和終止調試會話 26.4.2 控制被偵錯工具執行 26.4.3 訪問記憶體 26.4.4 訪問寄存器 26.4.5 中斷點 26.4.6 跟蹤執行 26.4.7 觀

察棧和棧回溯 26.4.8 彙編和反彙編 26.4.9 原始程式碼級調試..685 26.4.10 EnC 26.4.11 文件管理 26.4.12 接收和顯示調試資訊 26.4.13 轉儲 26.5 分類標準 26.5.1 特權級別 26.5.2 作業系統 26.5.3 執行方式 26.5.4 處理器架構 26.5.5 程式設計語言688 26.6 實現模型 26.6.1 進程內調試模型 26.6.2 進程外調試模型 26.6.3 混合調試模型 26.6.4 內核調試模型 26.7 經典架構 26.7.1 基本單元 26.7.2 遠程調試 26.7.3 多語言和多處理器架構調試 26.8 H

PD 標準 26.8.1 HPD 標準簡介 26.8.2 動作點 26.8.3 進程和執行緒的表示和命名 26.8.4 命令 26.9 本章總結 參考資料 第 27 章 VsDebug 27.1 架構和調試模型 27.1.1 架構概覽 27.1.2 遠程調試器 27.1.3 本地調試器 27.2 VS 調試引擎 27.2.1 一套介面,多種實現 27.2.2 核心類 27.3 工作過程 27.3.1 開始調試32 位元本地程式 27.3.2 開始調試64 位元本地程式 27.3.3 訪問調試目標 27.4 使用中斷點 27.4.1 根據名稱設置中斷點 27.4.2 數據中斷點 27.4.3 附

加條件 27.4.4 附加操作 27.5 多執行緒調試 27.5.1 並行棧回溯 27.5.2 並行監視 27.5.3 凍結執行緒 27.6 EnC 27.6.1 應用過程 27.6.2 要求/ZI 編譯選項 27.6.3 下次調用生效 27.6.4 應用失敗 27.7 設計期調試 27.8 使用符號伺服器 27.9 定制調試事件 27.9.1 初始中斷點 27.9.2 異常設置 27.10 本章總結 參考資料 第 28 章 VS Code 的調試擴展 28.1 簡介 28.2 四大技術 28.3 理解“擴展包” 28.3.1 包類型 28.3.2 安裝 28.3.3 工作原理 28.4 擴展

包API 28.4.1 貢獻點 28.4.2 命令 28.4.3 啟動事件 28.5 調試模型 28.5.1 貢獻調試器 28.5.2 宏觀架構 28.6 調試適配器 28.6.1 DA 描述符工廠 28.6.2 進程內DA 28.6.3 vsdbg 28.6.4 OpenDebugAD7 28.7 機器介面 28.7.1 啟用用法 28.7.2 對話示例 28.7.3 MIEngine 28.8 調試Python 程式 28.8.1 PTVSD 28.8.2 發起異常時中斷 28.9 本章總結 參考資料 第 29 章 WinDBG 及其實現 29.1 WinDBG 溯源 29.1.1 KD

和NTSD 誕生 29.1.2 WinDBG 誕生 29.1.3 發行方式 29.1.4 版本歷史 29.2 C 階段的架構 29.2.1 功能模組 29.2.2 遠程調試 29.3 重構 29.3.1 版本歷史 29.3.2 介面變化 29.3.3 模組變化 29.3.4 發佈方式和NTSD 問題 29.3.5 文件 29.4 調試器引擎的架構 29.4.1 概覽 29.4.2 對外介面 29.4.3 DebugClient 類 29.4.4 中間層 29.4.5 服務層 29.4.6 傳輸和連接層 29.5 調試目標 29.5.1 TargetInfo 類 29.5.2 使用者態目標 29

.5.3 內核態目標 29.5.4 轉儲檔目標 29.6 調試會話 29.6.1 建立調試會話 29.6.2 調試迴圈 29.6.3 等待和處理調試事件 29.6.4 繼續調試事件 29.6.5 結束調試會話 29.7 接收和處理命令 29.7.1 調試器的兩種工作狀態 29.7.2 進入命令狀態 29.7.3 執行命令 29.7.4 結束命令狀態 29.8 擴展命令的工作原理 29.9 本章總結 參考資料 第30 章 WinDBG 用法詳解 30.1 工作空間 30.2 命令概覽 30.2.1 標準命令 30.2.2 元命令 30.2.3 擴展命令 30.3 使用者介面 30.3.1 窗口概

覽 30.3.2 命令窗口和命令提示符 30.4 輸入和執行命令 30.4.1 要點 30.4.2 運算式 30.4.3 偽寄存器 30.4.4 別名 30.4.5 迴圈和條件執行 30.4.6 進程限定詞和執行緒限定詞 30.4.7 記錄到檔 30.5 建立調試會話 30.5.1 附加到已經運行的進程 30.5.2 創建並調試新的進程 30.5.3 非入侵式調試 30.5.4 雙機內核調試 30.5.5 本地內核調試 30.5.6 調試轉儲文件 30.5.7 遠程調試 30.6 終止調試會話 30.6.1 停止調試 30.6.2 分離調試目標 30.6.3 拋棄被調試進程 30.6.4 終止

被調試進程 30.6.5 調試器終止或僵死 30.6.6 重新開始調試 30.7 理解上下文 30.7.1 登錄會話上下文 30.7.2 進程上下文 30.7.3 寄存器上下文 30.7.4 局部(變數)上下文 30.8 調試符號 30.8.1 重要意義 30.8.2 符號搜索路徑 30.8.3 符號伺服器 30.8.4 載入符號檔 30.8.5 觀察模組資訊 30.8.6 檢查符號 30.8.7 搜索符號 30.8.8 設置符號選項 30.8.9 載入不嚴格匹配的符號檔 30.9 事件處理 30.9.1 調試事件與異常的關係 30.9.2 兩輪機會 30.9.3 定制事件處理方式 30.9.

4 GH 和GN 命令 30.9.5 實驗 30.10 控制調試目標 30.10.1 初始中斷點 30.10.2 俘獲調試目標 30.10.3 繼續運行 30.11 單步執行 30.11.1 概覽 30.11.2 單步執行到指定位址 30.11.3 單步執行到下一個函式呼叫 30.11.4 單步執行到下一分支 30.11.5 追蹤並監視 30.11.6 程式指標飛躍 30.11.7 歸納 30.12 使用中斷點 30.12.1 軟體中斷點 30.12.2 硬體中斷點 30.12.3 條件中斷點 30.12.4 位址表達方法 30.12.5 設置針對執行緒的中斷點 30.12.6 管理中斷點 3

0.13 控制進程和執行緒 30.13.1 MulThrds 程式 30.13.2 控制執行緒執行824 30.13.3 多進程調試 30.14 觀察棧 30.14.1 顯示棧回溯 30.14.2 觀察棧變數 30.15 分析記憶體 30.15.1 顯示記憶體區域 30.15.2 顯示字串 30.15.3 顯示資料類型 30.15.4 搜索記憶體 30.15.5 修改記憶體 30.15.6 使用實體記憶體位址 30.15.7 觀察記憶體屬性 30.16 遍歷鏈表 30.16.1 結構定義 30.16.2 雙向鏈表示例 30.16.3 單向鏈表示例 30.16.4 dl 命令 30.16.5 !

list 命令 30.17 調用目的程式的函數 30.17.1 調用示例 30.17.2 工作原理 30.17.3 限制條件和常見錯誤. 30.18 命令程式 30.18.1 流程控制符號 30.18.2 變數 30.18.3 命令程式示例 30.18.4 執行命令程式 30.19 本章總結 參考資料 附錄A 示例程式清單 附錄B WinDBG 標準命令列表 附錄C NT 內核部件縮寫列表 持之若癡——代跋

應用於工業馬達系統之基於類神經網路異常信號檢測架構設計

為了解決端點到端點延遲的運算式的問題,作者梁靖玟 這樣論述:

在現今全球製造業推廣工業4.0的趨勢下,製造業開始往智慧製造方向發展。其中,轉動機械為現今工廠中大部分生產設備的主要動力來源,其中包括馬達、軸承、齒輪等重要零件。然而,工廠經常會因為各種因素導致零件的損耗進而造成系統故障或是影響產品的精細度。因此透過分析感測器所收集到的振動訊號並配合人工智慧的方法,在故障發生時識別並準確地指出故障發生的種類及故障位置,使得相關管理人員可以立即得知機械的運行狀況以進行修繕。由於近年來快速成長的人工智慧 (Artificial Intelligence),使得類神經網路 (Neural Network) 的研究再度成為學術界中的主流,並普遍被視為未來處理大數據的

處理模型。儘管傳統類神經網路能提供有效的資料處理,在實際應用上會面臨到與預期對象不符合的資料,若將此種未知資料分類至預先定義的類別中,將嚴重影響類神經網路模型在處理任務的準確率,進而導致不可預期的後果。為了解決類神經網路無法處理未知資料之問題,本文提出基於核密度估計 (Kernel Density Estimation)的異常檢測流程,透過建立機率密度模型分析當前輸入是否為未知資料,能有效地避免機械中未知訊號進入後續分類器中而降低分類器效能。此外,利用邊緣運算(edge computing)將可以更貼近檢測來源進行處理和分析,將運算、儲存等資源靠近端點的位置以減輕頻寬限制並減少數據誤差與傳送延

遲。因此,考量到終端裝置的硬體資源以及能源使用量,本文提出一套完整應用於工業馬達系統之高可靠度異常檢測架構設計,以階段式分析監測健康軸承狀態並加以分類錯誤軸承訊號或未知訊號之問題,並且利用訓練激勵函數,在硬體資源有限的情況下可以保持相當水準的準確度。由於所提出設計可以避免未知訊號干擾,因此所提出的方法與相關研究相比,將可以提升準確度82.6%至94.68%。本作品先行透過Xilinx Zynq-ZC706 FPGA板上進行驗證,實驗結果顯示93.56%的準確度。最後,本作品使用TSMC 40nm製程進行合成,面積為原先的26.9%,且功率消耗減少了16.5%。

決斷的演算:預測、分析與好決定的11堂邏輯課

為了解決端點到端點延遲的運算式的問題,作者BrianChristian 這樣論述:

亞馬遜書店 認知科學類第1名、電腦科學類第1名 長踞「商務決策與問題解決類Top 3」,與《快思慢想》並列 《大腦解密手冊》作者伊葛門稱許:「寫得遠超乎我的期望!」   訪問近五十年來最知名演算法的設計者,   了解工程師如何教電腦發揮最大效用,並將所學用於生活。   讀者大推:「真是過癮!」   在《人工智慧來了》這本書中,作者提出「主動向機器學習」是這時代最核心、最有效的學習方法之一,在《決斷的演算》裡,各具心理學與電腦科學背景的兩位作者則揭櫫:為何跟電腦學決策你不僅不會變成理性魔人,反而會更加明智且善體人意。   ▎說到演算法,你想到的是政府和大企業如何利用數學模型算計你?

  其實,演算法的本質是「解決問題的一連串步驟」,它的發展遠遠早於電腦,不只長期為各研究領域與產業實務帶來重大變革,更能幫助個人跳脫盲點與錯誤直覺,明快地解決問題。   ▎說到機器學習,你以為考慮因素越多越好、比較複雜的模型較佳?   其實,當今電腦運算時並非套用死板的演繹邏輯,點滴不漏地羅列所有選擇,琢磨出正確答案。它們會捨棄不必要的資料,偏向選擇較簡單的解答,權衡誤差或延遲的代價,接著冒險一試。   ▎說到電腦,你認為它冰冷且毫無彈性,思考方式跟人腦南轅北轍?   事實上,我們面臨的許多挑戰,跟電腦科學家一樣都源於:要運用有限的空間、時間和注意力,因應未知事物和不完整的資訊,因此電腦解

決問題的方式,能在極大程度上與人們的作法融合。   《決斷的演算》各章以常見的日常問題開場,從釐清它們的演算結構著手,以問題所屬類型為骨架(副章名),紮實的電腦科學發展史為血肉(章名),探討一代代的研究者為這類問題找出什麼解決方案,這些收穫顛覆了我們對於「合理」的看法,不僅幫助其他領域獲得新進展,也為個人生活帶來實用啟示,像是:   ❖自動駕駛汽車能改善交通阻塞,打造交通天堂?你可能要失望了。現在自私駕駛人各行其是的情形其實已接近最佳狀態。(演算法賽局理論,自主行為代價)   ❖證明「所有雙人賽局至少有一個均衡狀態」的奈許均衡,讓約翰.奈許拿下了諾貝爾經濟獎,但它的地位可能言過其實。為什麼

?(賽局理論)   ❖棉花糖實驗證明了意志力對日後的成就有深遠影響?事情沒這麼簡單。抵擋得住誘惑的另一個關鍵可能是「期望」……(貝氏法則)   ❖以現代投資組合理論榮獲諾貝爾經濟獎的馬可維茲,居然把自己的退休金平均投資在債券和股票上!這未免太不聰明了?未必。(過度配適)   ❖歐巴馬競選總統時,他的新媒體分析團隊靠什麼方法設計與經營網站,幫他多募得五千七百萬美元?(開發與善用)   ❖安排球季賽程真麻煩!怎麼樣既符合聯盟基本結構產生的規定,又顧及聯盟和轉播電視台的特殊考量和限制?(鬆弛)   ❖2010年5月6日,美國股市發生閃電崩盤,短短幾分鐘內有幾家公司股價飆漲、另幾家則直線崩跌,這是怎麼

回事?(賽局理論,資訊瀑布)   ❖一般認為年老健忘是認知衰退,但電腦科學家判斷,那是整理、取捨越來越多記憶的必然結果——人的腦袋可靈光了!(快取)   ❖你打算在十八歲到四十歲期間覓得人生伴侶,那麼幾歲時選定的對象可能最好?答案是二十六歲。(最佳停止點,37%法則)   ❖紙本資料用完隨手往旁邊疊,既沒條理又沒效率?不,根據演算法原理,這是目前已知最精良、效率最佳的資料結構。(快取)   ❖什麼情況下,隨便挑一封電子郵件回覆,會好過先回覆最重要的郵件?(排程,往復移動)   ❖為什麼玩吃角子老虎時,贏錢繼續玩同一台是好策略,但是輸錢就換一台則太過輕率?(開發與善用)……………   電腦科學

還能協助我們清楚劃分哪些問題有明確解答、哪些則無,從而選擇自己要面對什麼,以及要讓其他人面對什麼——這種「運算的善意」可以改變人們的認知問題類型,減輕認知負擔,增進互動的效率。   ◎本書用法:   這本書既適合一般讀者,也適合教學使用,版面設計兼顧兩者需求,使用方法詳見書中建議。各章內容提示詳見〈目錄〉的引文。 名人推薦     ▎陳昇瑋/台灣人工智慧學校執行長、資料科學協會理事長   ▎洪士灝/台灣大學資訊工程系教授   ▎賴以威/數感實驗室共同創辦人、台師大電機系助理教授   ▎林錦宏/高醫大心理系「決策神經科學實驗室」助理教授   ▎鄭國威/科學知識社群「泛科學」總編輯   ▎黃

貞祥/清華大學生命科學系助理教授/泛科學專欄作者   ▎雷浩斯/專職投資人及投資講師   ▎冏星人/說書節目製作人   ▎羅輯思維、「得到」App萬維鋼老師書評介紹《指導生活的算法》   ▎《大腦解密手冊》作者伊葛門:   我一直期待有書能把運算模型和人類心理學結合起來,這本書遠超乎我的期望,寫得精彩極了,而且淺顯易懂,讓所有讀者都能輕鬆理解掌控世界運作的電腦科學,更重要的是,了解電腦科學對我們的生活有何影響。     ▎林錦宏,高醫大心理系「決策神經科學實驗室」助理教授:   這是一本整合心理學、統計學、經濟學、賽局理論、電腦科學重要概念與生活議題的跨領域參考書。   ▎科技網站Boin

g Boing創辦人,《資訊分享,鎖得住?》作者柯利‧多克托羅:   非常出色。除了行文中解釋的電腦科學對於個人和管理都很實用,本書也是演算法和電腦科學以及作者所稱的「運算的斯多葛派」和「運算的善意」這種哲學論述的極佳入門書。   ▎《為什麼我們這樣生活,那樣工作》作者查爾斯‧杜希格:   精彩有趣而且提供許多實用建議,告訴我們如何更有效率地運用時間、空間和心力,寫得趣味橫生。   ▎《搖籃裡的科學家》共同作者艾莉森‧戈普尼克(Alison Gopnik):   深入淺出又有趣,讓人讀得欲罷不能。我們都聽說過演算法威力強大,但《決斷的演算》深入淺出地解說它們的運作方式,以及我們可以如何運用

它們,在日常生活中做出更好的決定。   ▎《富比世》雜誌:   年度必讀大腦類書籍。這是一本以學術研究為基礎,又可應用在實際生活上的好書。作者探討的演算法在生活上的實用程度,超乎我的預期,值得好好研讀。   ▎《大眾科學》雜誌英國版:   我超迷這本書!年輕學生學數學時常說:「數學有什麼用?實際生活上又用不到!」這本書就是最好的答案。書中的概念,無論是37%法則的相對單純性或賽局理論中讓人費解的機率,都相當實用,而且寫得十分有趣,大推!   ▎亞馬遜書店多位讀者評價   醍醐灌頂!我學的是經濟,讀了這本書之後超想去讀個電腦科學學位。可以的話,我想給這本書十顆星。/好驚人的書,它改變我對許

多真實日常問題的看法。/了不起的書。不論是一般人或高科技迷都會讀得津津有味。/很有意思。讀完這本書過了幾個月,我還不時想到它,它提供了很棒的觀點看待世界。/有趣極了,我已經借給好幾個同事讀。/超讚。我重讀這本書好幾次,裡頭有很多很棒的資訊!/真是過癮!  

雲霧端網路中的延遲感知虛擬網路嵌入問題

為了解決端點到端點延遲的運算式的問題,作者陳維哲 這樣論述:

霧運算是一個將雲端的運算負載分佈到網路邊緣的一個全新 的概念,並可用來滿足逐漸興起的嶄新應用(像是擴充/虛擬實境 和車聯網)在低延遲上的需求,為了能夠實現霧運算的概念,網路 功能虛擬化是其中一個關鍵的技術,令服務(像是網路功能或第三 方應用)能夠被配置在網路中的任何地方。因為網路功能虛擬化的興起,如何根據應用的各種需求來決定 將它們佈建在網路中的哪個地方是未來一個很重要的議題,至今 已經有多種不同方面的研究在這個議題上,其中一種研究是虛擬 網路嵌入問題,它是一個探討在網路營運者所管控的實體網路中, 在能夠滿足虛擬網路請求的前提下,來決定服務端點配置的地方 和端點間資料傳輸路徑的資源分配策略。

因為虛擬網路嵌入問題 的相關研究在延遲方面的領域還不夠成熟,所以在這個碩士論文 中我們主要探討這個問題,並定義了一個延遲感知虛擬網路嵌入 最佳化問題,目標是在能夠滿足應用的延遲需求的前提下,去最小 化因配置這個應用所花費的成本。因為虛擬網路嵌入問題的複雜度相當高,我們提出了一個命名 為 CN-based LA-VNE 的啟發式演算法,這個演算法充分的利用了 雲霧端網路中在實際情況下佈建運算節點的性質,其性質是指越 遠的運算節點會擁有越強的運算能力。在這個演算法中,我們會將 這些運算節點以階層式的分成多個群集,並用這些群集來初步評 估延遲和成本,根據這個初步評估的結果,我們可預判哪些區域可 能有

較好的解,並在這些區域中使用粒子群最佳化演算法來找可 行解。如此一來,我們的演算法能夠有效率地在較小規模且包含較 好可行解的搜尋空間中去尋找次解,來改善可擴充性的問題。我們將所提出的演算法和窮舉法以及現有的粒子群最佳化演 算法來去比較成本、接受率和搜尋時間等效能,結果呈現出在小規 模網路下我們的方法能夠趨近於最佳解,而在大規模網路下我們 的方法於成本(約 33%)、接受率(約 7%)和執行時間(約 37%) 都優於現有的粒子群最佳化演算法。