A-level 計算機科學/AQA/試卷 1/計算理論/抽象和自動化
抽象是指過濾掉 - 忽略 - 我們不需要的模式特徵,以便集中關注我們需要的特徵。它也是過濾掉特定細節的過程。透過這種方式,我們建立了一個我們想要解決的問題的表示(想法)。在計算思維中,當我們分解問題時,我們會尋找構成複雜問題的小問題的模式。哪些是特定細節或特徵呢?
在模式識別中,我們研究了必須繪製一系列貓的問題。
我們注意到所有貓都有一些共同的特徵,這些特徵是所有貓共有的,例如眼睛、尾巴、毛髮、喜歡魚以及發出喵喵叫的聲音的能力。此外,每隻貓都有其特定的特徵,例如黑色的毛髮、長尾巴、綠色的眼睛、喜歡三文魚,以及大聲的喵喵叫。這些細節被稱為特定特徵。
為了繪製一隻基本的貓,我們需要知道它有尾巴、毛髮和眼睛。這些特徵是相關的。我們不需要知道貓發出什麼聲音,也不需要知道它是否喜歡魚。這些特徵是不相關的,可以過濾掉。我們需要知道貓有尾巴、毛髮和眼睛,但我們不需要知道它們的尺寸和顏色。這些特定特徵可以過濾掉。
從我們擁有的通用特徵(尾巴、毛髮、眼睛)出發,我們可以建立一個貓的基本想法,即貓的基本外觀。一旦我們知道了貓的樣子,我們就可以描述如何繪製一隻基本的貓。為什麼抽象很重要?抽象使我們能夠建立一個關於問題是什麼以及如何解決問題的概括性想法。這個過程指示我們刪除所有特定細節以及任何不能幫助我們解決問題的模式。這有助於我們形成對問題的想法。這個想法被稱為“模型”。
如果我們不抽象,我們可能會得到我們試圖解決的錯誤問題的解決方案。以我們的貓為例,如果我們不抽象,我們可能會認為所有貓都有一條長尾巴和短毛。透過抽象,我們知道盡管貓有尾巴和毛髮,但並非所有尾巴都是長的,也並非所有毛髮都是短的。在這種情況下,抽象幫助我們形成了一個更清晰的貓模型。
抽象是收集我們需要的通用特徵,並過濾掉我們不需要的細節和特徵。模型是我們試圖解決問題的概括性想法。
例如,一個模型貓將是任何貓。而不是一隻具有長尾巴和短毛的特定貓 - 模型代表所有貓。從我們對貓的模型中,我們可以學習任何貓的樣子,利用所有貓共有的模式。
類似地,在烘焙蛋糕時,一個模型蛋糕將不會是一個特定的蛋糕,比如海綿蛋糕或水果蛋糕。相反,這個模型將代表所有蛋糕。從這個模型中,我們可以學習如何烘焙任何蛋糕,使用適用於所有蛋糕的模式。
一旦我們有了問題的模型,我們就可以設計一個演算法來解決它。