Functional Data Structures and Algorithms: A Proof Assistant Approach
暫譯: 函數式資料結構與演算法:證明助手方法

Nipkow, Tobias

  • 出版商: ACM Books
  • 出版日期: 2025-09-30
  • 售價: $2,180
  • 貴賓價: 9.5$2,071
  • 語言: 英文
  • 頁數: 418
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 9798400731594
  • ISBN-13: 9798400731594
  • 相關分類: Functional-programmingFunctional-programming
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman's algorithm for generating optimal codes and alpha-beta pruning of game trees.

The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions.

What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants!, the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments.

This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified!) details of some algorithm or proof.

商品描述(中文翻譯)

這本書是針對函數式程式語言中的資料結構和演算法的入門介紹,重點在於證明。從排序和搜尋開始,接著介紹優先佇列以及進階的設計和分析技術:動態規劃、攤銷分析、擺樹、偏斜堆和配對堆。書的最後部分涵蓋了一些選定的有趣主題:圖演算法、字串搜尋、霍夫曼演算法(Huffman's algorithm)用於生成最佳碼,以及遊戲樹的α-β剪枝(alpha-beta pruning)。

本書涵蓋了正確性(演算法是否如預期運作?)和執行時間分析(演算法是否在指定步驟內終止?)。它以統一的方式進行,透過對函數式程式和其執行時間函數的歸納證明來實現。

本書與現有的演算法書籍不同之處在於,所有證明都經過機器檢查,由證明助手Isabelle進行。也就是說,除了書中的文字外,這些證明不需要對證明助手的知識,Isabelle的定義和證明也可以在線上獲得。Isabelle證明的結構化特性使得即使是初學者也能跟隨高層次的論證。

本書的目標讀者是教師和學生(已在課堂上測試多年),但同時也是對於有興趣於某些演算法或證明的(經過驗證的!)細節的程式設計師和研究人員的參考書。

最後瀏覽商品 (20)