奧維爾號(hào)量子計(jì)算機(jī)發(fā)布視頻,基礎(chǔ)知識(shí),構(gòu)想和實(shí)現(xiàn)
奧維爾號(hào)量子計(jì)算機(jī)發(fā)布視頻,基礎(chǔ)知識(shí),構(gòu)想和實(shí)現(xiàn)
奧維爾量子計(jì)算機(jī)已發(fā)布介紹視頻,介紹了此量子計(jì)算機(jī)的基礎(chǔ)知識(shí),構(gòu)想和實(shí)現(xiàn)。歡迎大家共同探討。這是一個(gè)探索式項(xiàng)目,歡迎大家的反饋。
新的視頻有其他 UP 主對(duì)量子計(jì)算,量子算法和量子力學(xué)的理論介紹,歡迎大家共同探討。
視頻請(qǐng)見(jiàn):
https://www.bilibili.com/video/BV1nw411z7D5/
https://www.bilibili.com/video/BV1LG41117uf/
奧維爾號(hào)正在開(kāi)發(fā)之中,尚未可用,但已經(jīng)可以運(yùn)行。并測(cè)試所有已實(shí)現(xiàn)的功能。歡迎大家試用。
項(xiàng)目地址:https://gitee.com/jerryshensjf/Orville
奧維爾號(hào)量子計(jì)算機(jī)
簡(jiǎn)介
采用擴(kuò)展的量子二進(jìn)制算法。在經(jīng)典計(jì)算機(jī)上實(shí)現(xiàn)量子計(jì)算機(jī)。我們的景愿是在個(gè)人計(jì)算機(jī)上實(shí)現(xiàn)量子霸權(quán)。 此計(jì)算機(jī)的字長(zhǎng)是 64 位,等效數(shù)據(jù)位為 32 位字長(zhǎng)的量子計(jì)算機(jī)。我們采用量子擴(kuò)展二進(jìn)制,共有4個(gè)字符:0,1,Q,P 可以進(jìn)行經(jīng)典和量子算法。我們將在匯編層實(shí)現(xiàn)字符界面的量子計(jì)算機(jī)。
可能性
除了量子計(jì)算,還存在其他的超級(jí)并行計(jì)算的可能性。比如說(shuō)人腦,說(shuō)人腦擁有量子計(jì)算能力是可笑的。但是人腦也有類(lèi)似于量子計(jì)算機(jī)的超級(jí)并行能力。這說(shuō)明,邁向超級(jí)并行的道路并非一條。我們的想法是在經(jīng)典計(jì)算機(jī)通過(guò)模擬量子算法得到超級(jí)并行能力,也可能比真正的量子計(jì)算機(jī)差一個(gè)層級(jí),但是優(yōu)越于經(jīng)典計(jì)算機(jī)??紤]到經(jīng)典計(jì)算機(jī)的低成本,即便如此也是值得追求的。
項(xiàng)目圖片:奧維爾號(hào)


介紹視頻
關(guān)于奧維爾號(hào)量子計(jì)算機(jī)的知識(shí),原理設(shè)計(jì)與實(shí)現(xiàn),請(qǐng)見(jiàn)視頻:
https://www.bilibili.com/video/BV1nw411z7D5/
https://www.bilibili.com/video/BV1LG41117uf/
文檔,更新中
已完成的功能
現(xiàn)在已支持運(yùn)行量子匯編語(yǔ)言腳本 Quantum Assembly(.qa)和加載數(shù)據(jù)文件(.data)功能,支持各種賦值語(yǔ)言, 例如:
let a = monkeyTest.monkeyWordlet b = halfProject ashow b
?
更多功能請(qǐng)見(jiàn) Core 的源碼和示例的腳本文件。
開(kāi)發(fā)版中的 Core 和 Shell 已可以使用。
目前支持如下的命令
設(shè)置提示符
setPrompt Star Trek:>
重置提示符
resetPrompt
編碼 word
codeWord 0xffffffff
生成隨機(jī)字
monkeyTest.monkeyWord
生成隨機(jī)窄字
monkeyTest.monkeyNarrowWord
編碼字符串
code 0x11
code 0x1111111111
退出
quit
各種 賦值語(yǔ)言
let a = b 等等
運(yùn)行腳本
run scripts/sample1.qa
run scripts/QARobot.qa
加載文本數(shù)據(jù)
let c = loadData scripts/sampleData1.data
和各種經(jīng)典與量子算法
啟動(dòng) Core 即可啟動(dòng)奧維爾號(hào)。
操作流程【想定】
奧維爾號(hào)支持 2 種數(shù)據(jù)
字 Word 64 位擴(kuò)展二進(jìn)制,其實(shí)字寬為 32 位,每位擴(kuò)展二進(jìn)制占兩位
窄字 NarrowWord 32 位二進(jìn)制
奧維爾號(hào)載入數(shù)據(jù)采用窄字。
運(yùn)算時(shí)將窄字 codeWord 成字
字可以進(jìn)行量子運(yùn)算
運(yùn)算結(jié)果經(jīng)過(guò)投影成為字的數(shù)組
運(yùn)算結(jié)果字的數(shù)組會(huì)逐一進(jìn)行驗(yàn)證,通過(guò)驗(yàn)證的即為結(jié)果
運(yùn)算結(jié)果的字不可以包含 Q 和 P
隨后這些結(jié)果會(huì) decode 成為窄字?jǐn)?shù)組,即為最終的結(jié)果
加量子與消量子
在奧維爾號(hào)的運(yùn)算中 Q 在投影操作中會(huì)被分支為0和1
所以結(jié)果中 Q 越多,結(jié)果膨脹的厲害。
這里引入加量子與消量子概念
加量子:運(yùn)算結(jié)果中使 Q 增多的運(yùn)算,可能是和 Q 運(yùn)算或者是量子進(jìn)位。
消量子:運(yùn)算中使 Q 減少的運(yùn)算,主要有如下兩種
and 0
Q and 0 = 0
or 1
Q or 1 = 1
近期計(jì)劃
實(shí)現(xiàn) Shell
實(shí)現(xiàn) Core
實(shí)現(xiàn)最基礎(chǔ)的功能
使計(jì)算機(jī)可以測(cè)試
界面想定
Orville:> cod var a = 'myTest'
Orville:> a = XXXX
Oraville:> binShow a
Orville:> a = '0b11011101'
基本字符及其含義
0 經(jīng)典 0
1 經(jīng)典 1
Q 量子糾纏態(tài)
P 投影動(dòng)作,會(huì)把糾纏態(tài)度分解成經(jīng)典 0 或者 1, 對(duì)經(jīng)典狀態(tài)沒(méi)有影響。
在編碼時(shí),這4個(gè)字會(huì)被編碼為 00,01,10 和 11
相關(guān)運(yùn)算
Code 將經(jīng)典字符串編碼成量子擴(kuò)展字符串
Decode 將量子擴(kuò)展字符串中符合經(jīng)典要求的字串解碼為經(jīng)典字符串
Project 投影運(yùn)算,即加上 32 位寬的 P
經(jīng)典運(yùn)算,經(jīng)典字符串使用的經(jīng)典運(yùn)算
qAdd 量子擴(kuò)展加法,為兩個(gè) 64 位擴(kuò)展字符串的運(yùn)算,結(jié)果是一個(gè) 64 位擴(kuò)展量子字符串,經(jīng)投影運(yùn)算,可以得到結(jié)果。
qShow 顯示一個(gè)量子擴(kuò)展字面量,使用 0,1,Q,P
qBinShow 顯示量子擴(kuò)展字符串的二進(jìn)制編碼 64 位寬
qHexShow 使用 16 進(jìn)制顯示量子擴(kuò)展字符串,為 16 位字符串
量子擴(kuò)展加法規(guī)則
不考慮量子進(jìn)位字符串 qBitAdd
0+0 = 0
0+1 = 1
0+Q = Q
0+P = 0
1+0 = 1
1+1 = 10
1+Q = Q
1+P = 1
Q+0 = Q
Q+1 = Q
Q+Q = Q
Q+P = (0)(1)
P+0 = 0
P+1 = 1
P+Q = (0)(1)
P+P = P
考慮量子進(jìn)位 qAdd
0+0 = 0
0+1 = 1
0+Q = Q
0+P = 0
1+0 = 1
1+1 = 10
1+Q = QQ
1+P = 1
Q+0 = Q
Q+1 = LL (10 或 01 量子糾纏態(tài))
Q+Q = LL (10 或 01 量子糾纏態(tài))
Q+P = (0)(1)
P+0 = 0
P+1 = 1
P+Q = (0)(1)
P+P = P
量子擴(kuò)展位運(yùn)算規(guī)則
qAnd
0 qAnd 0 = 0
0 qAnd 1 = 0
0 qAnd Q = 0
0 qAnd P = 0
1 qAnd 0 = 0
1 qAnd 1 = 1
1 qAnd Q = Q
1 qAnd P = 1
Q qAnd 0 = 0
Q qAnd 1 = Q
Q qAnd Q = Q
Q qAnd P = (0)(1)
P qAnd 0 = 0
P qAnd 1 = 1
P qAnd Q = (0)(1)
P qAnd P = P
qOr
0 qOr 0 = 0
0 qOr 1 = 1
0 qOr Q = Q
0 qOr P = 0
1 qOr 0 = 1
1 qOr 1 = 1
1 qOr Q = 1
1 qOr P = 1
Q qOr 0 = Q
Q qOr 1 = 1
Q qOr Q = Q
Q qOr P = (0)(1)
P qOr 0 = 0
P qOr 1 = 1
P qOr Q = (0)(1)
P qOr P = P
qNot
qNot 0 = 1
qNot 1 = 0
qNot Q = Q
qNot P = P
Project
0 Project 0
1 Project 1
Q Project (0)(1)
P project P 、 對(duì)字的投影將 Q 分支,對(duì) P 的替換需指定 0 或 1
halfProject
對(duì)字的半投影將 Q 分支,而 P 保持為 P
標(biāo)準(zhǔn)測(cè)試案例
量子匯編的示例程序放在 scripts 目錄下。
使用掃雷游戲做為通用程序的標(biāo)準(zhǔn)測(cè)試案例。見(jiàn)?https://gitee.com/jerryshensjf/JMine
使用路徑搜索算法作為 NP 問(wèn)題標(biāo)準(zhǔn)測(cè)試床。見(jiàn)本站附件。