2013年5月26日 星期日

量子電腦(二)

上文提到量子電腦有超越現時電腦多個級別的計算力,而這樣的計算力,是會完全顛覆現時很多概念的。今次,我便嘗計一下解釋箇中的原理。但有一點是必需事先聲明,我所寫的都是基於公開資料,這是項先進科技,很多細節都是高度機密。這些都是我無法得知的。

或讓我先解釋一下計算力的基本概念。假設,我們有一堆資料,它們無序地排列,而其中一筆是我們需要的,任務就是要找出這筆資料。由於,資料是無序的排列,找出這筆資料的唯一方法就是逐筆對比。若運氣好,就是第一筆便是需要的,而若運氣最差時,可能就是要找到最後一筆才找到。

若用一點數學,假設資料有n筆,最佳情況就是比對1筆,而最差情況就是要比對n筆,跳去一點嚴謹,可以想像平均就是要比對(n+1)/2筆的資料。仔細是否加一或又為何要除二不用太執著,反正你可能不是數學家。但有一個概念這樣的搜索所用的平均時間,就是與n成線性正比例。我們會把這個難度記成o(n),這裏的o是order的簡寫。

想想,若每個比對可以在一百萬份之一秒內完成,那麼當n=2,000,000時,任務就需約1秒去完成,而當n=20,000,000時就需時約10秒,如此類推。

所謂計算力也者,就是可以在多短的時間內,完成一個特定的任務,若在上例中,完成每個對比的時間不是一百萬份一秒,而是一秒,你想想這個任務要多少時間去完成呢?

講一件小事給大家參考,十多年前,流行過一些廉價賀卡,當你打開賀卡時,會自動播放音樂和閃燈,幾’得意’,節日一過,大家可能都會隨手拋掉。但大家可有想過,這張賀卡其實就是部極小型電腦,而其計算力,已遠超二次大戰時,盟軍所擁有的計算力總和!當年傾多國的全力搞出來的,今天我們會毫不猶疑地放進垃圾桶!

電腦界有一個應用定律,就是說計算力每十八個月會增長一倍。但最近這個定律已受一些物理和技術的基本困難所限制,計算力的增長開始遇到了瓶頸,電腦處理事情的速度無法再任意加快。所以,工程師就想出了其他的方法。

又再回到上面的例子,假設我們已沒法再加快一百萬份之一這個速度,那麼,我們就把資料分成二堆,例如,當n=2,000,000,我們便得到每堆一百萬筆的兩堆,然後交給兩部’獨立’的電腦去進行搜索,理論上平均搜索時間每祗需原來的一半,即0.5秒。

所謂超級電腦也者,就是把極多的電腦結合在一起,’平行’處理問題,理論上,若我們有n部電腦,最理想的情況,計算力便可提高n倍。為甚麼是最理想呢?不是所有處理都可以這樣分割的。而且把任務分割都要用上計算力。超級電腦的編程就是一門高深學問。

但我們可以想像可以將多少部電腦連接,組成一部超級電腦呢?1千!?1萬!?10萬!?還是100萬!?

但就是我們可以把100萬部電腦連起來,其計算力仍是不可與量子電腦相題並論,下文我會介紹平行宇宙和qbit,這些就構成了量子電腦的概念飛躍!下文再續。

沒有留言: