您不需要成為數學家就可以掌握量子計算 - Frank Zickert

banq發表於2020-10-08

數學並不是我們唯一的精確語言。我們擁有與數學公式一樣精確的語言:如今,這些語言對許多人來說幾乎是自然的,這些語言就是程式語言。
我的意思不是特定程式語言的語法。相反,我指的是一種思維方式,幾乎所有程式語言都共享。從Python到Java,從Javascript到Ruby,甚至從C到Cobol。所有這些語言都基於布林邏輯。無論使用哪種程式語言,程式設計師都可以使用布林邏輯進行大量工作。
最重要的是,布林邏輯出現在條件語句中:if then else。

if x and y:# A statement to evaluate in boolean logic
    doSomething () # if the statement evaluiates to True
else:
    doSomethingElse () otherwise


Python:

P = True
Q = False

print('not P is {}'.format(not P))
print('P and Q is {}'.format(P and Q))
print('P or Q is {}'.format(P or Q))
print('P and not Q is {}'.format(P and not Q))


not P is False
P and Q is False
P or Q is True
P and not Q is True


雖然Python使用這些確切的關鍵字,但在數學中,符號表示這些運算子:
  • ¬表示 not
  • ∧表示 and
  • ∨表示 or

如果您不是數學家,那麼這些符號以及您在量子機器學習過程中遇到的所有其他符號可能看起來是神秘的。但是,當用Python或數學描述概念時,概念的表示可能有所不同,但是概念本身是相同的。
您無需成為數學家即可瞭解布林邏輯。實際上,您也不必成為程式設計師,因為我們甚至可以透過真值表來描述布林邏輯。
這就是程式設計的全部意義。程式設計師編寫會產生某種行為的函式。他們使用並結合了這些功能,以建立更多甚至表現出複雜行為的功能。他們編寫的整個程式歸結為一系列巧妙組合的功能。程式設計師使用他們的編譯器(或直譯器)將高層功能轉換為非常基本的布林邏輯。而且這種基本的布林邏輯可以使用電氣開關來執行。開關及其組合稱為門。當我們連線門時,它們形成一個電路。
計算機以不連續的時間間隔透過電路傳送電脈衝。如果在適當的時間收到電脈衝,則將其解釋為1(true)。如果未收到脈衝,則將其解釋為0(false)。
儘管有名稱,但關於電路沒有任何通告。它們是線性的,從左到右讀取。讓我們看一個與我們之前看過的布林函式相對應的例子
.....
詳細點選標題見原文

相關文章