91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
這篇罕見的符號編程論文,讓你在JupyterNotebook中手繪草圖并變成代碼

當今,打字系統(tǒng)形成了計算機編程的事實標準和主導范式。然而,在編程出現時,最早的計算機編程符號是手寫的,而非打出來的。例如,在著名的 1945 年第一份 EDVAC 報告中,馮 · 諾伊曼將圖表與文本視作等同。實際上,當打字機界面被用于編程時,符號才被序列化并被稱為編程「語言」。

專注于為中小企業(yè)提供成都網站設計、成都網站制作、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)無錫免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

最近,康奈爾大學研究團隊創(chuàng)建了一個界面,允許用戶在計算機代碼中手寫和畫圖,這是對傳統(tǒng)打字型編程的挑戰(zhàn)。

這個筆式界面被稱為 Notate,它讓基于網絡和交互型計算數字筆記本(如 Jupyter notebooks)打開繪圖畫布,在傳統(tǒng)的數字化計算機代碼行中手寫圖。

就運行原理而言,在一個深度學習模型的加持下,Notate 界面連接了手寫和文本編程上下文,即手寫圖中的符號可以引用文本代碼,反之亦然。例如,Notate 能識別手寫編程符號如「n」,然后將這些符號連接到它們的打字代碼。

在具體的案例研究中,研究者演示了在 Jupyter notebook 代碼單元內手繪量子電路圖。詳細介紹視頻如下。

視頻地址:https://dl.acm.org/doi/10.1145/3526113.3545619

在 10 月 29 日至 11 月 2 日舉行的 ACM 用戶界面軟件和技術研討會上,Notate 的論文《Notational Programming for Notebook Environments: A Case Study with Quantum Circuits》獲得了榮譽提名獎。論文一作為康奈爾大學信息科學博士生 Ian Arawjo。

他表示,「這樣一個系統(tǒng)對于數據科學非常有用,尤其適用于繪制草圖和圖表,然后與文本代碼進行互操作。」

論文地址:https://ianarawjo.therottingcartridge.com/docs/Arawjo-Notational-Programming-UIST-2022.pdf

研究概覽

本文中,研究者探討了筆式硬件和機器學習的最新進展如何對一些編程實踐進行重新配置。他們表達了這樣一個愿景,即稱之為符號編程(notational programming)的范式可以支持手寫和打出符號之間的連通。

因此,研究者認為可能不僅需要開發(fā)新的用戶界面或者改進對流程圖等現有符號的識別,還需要對歷史上圍繞編程出現的文化實踐、表示和觀念進行積極的重新配置。

為了探索符號編程,研究者設計了一個 Jupyter notebooks 的擴展——Notate,它能夠在代碼行內打開繪圖畫布,并允許函數在本地將畫布中的對象接收為參數。Notate 架構傳遞這些對象作為局部作用域的參考,使得打字變量在手寫上下文中被引用,反之亦然。他們將這種交互稱為隱式跨上下文引用,通過進一步模糊「輸入」和「輸出」之間的區(qū)域對雙峰編程(bimodal programming)以往的工作進行了擴展。

下圖為嵌入在 Jupyter notebook 中的系統(tǒng)的主界面,圖①為繪圖畫布在一行代碼單元內打開,圖②為全屏模式,通過觸摸或點擊繪圖畫布訪問,圖③為基本工具欄。

為了測試具體域中的符號編程界面和隱式跨上下文引用,研究者選擇了量子計算,原因在于:量子計算的編程人員即使在打出代碼時,也會經常在電路圖和文本之間進行轉換。Ashktorab 等人的一篇探索性論文注意到了筆式計算在量子計算領域中的應用潛力,但目前并沒有出現這樣的系統(tǒng)。

Ashktorab 等人論文地址:https://dl.acm.org/doi/10.1145/3290605.3300486

因此,研究者引入了一種 toy 符號 Qaw,它通過自定義門釋義、捆綁線和遞歸等抽象功能增強了量子電路符號。下圖為用來編寫量子電路的一些常見符號。

研究者使用深度學習和經典計算機視覺技術為 Qaw 的子集實現了一個解釋器,如下為 Notate 系統(tǒng)中解釋手寫量子電路的過程,分為五步完成。

為了驗證 Notate 和 Qaw 原型的效果,研究者對 12 名熟悉 Python 和 notebook、但初學量子編程的程序員展開了一項研究。他們給參與者六個復雜度不斷增加的電路,并讓參與者將它們編寫到機器中。研究者發(fā)現,幾乎所有參與者都認為隱式跨上下文引用概念很直觀,但得到的反饋表明還可以進一步改進調試基礎設施、界面設計和識別率。

下圖為其中一位參與者生成了類似于量子傅里葉變換主體的模式。電路 A 和 C 使用 Qaw 斜杠符號和隱式跨上下文引用實現遞歸定義。

研究者還將 Notate 和 Qaw 與使用 IBM Qiskit API 進行量子編程的工作流程進行了比較,以驗證自己方法的效果。結果表明,對于 Python 程序員而言,Qaw 在性能時間方面能夠與 Qiskit 媲美,但仍需進一步研究以了解這些方法的相對優(yōu)勢。

更多技術細節(jié)請參閱原論文。


本文題目:這篇罕見的符號編程論文,讓你在JupyterNotebook中手繪草圖并變成代碼
分享鏈接:http://m.jiaoqi3.com/article/dpgjhhc.html