研究生: |
廖允誠 Liao, Yun-Cheng |
---|---|
論文名稱: |
提供在圖形上以類試算表互動方式操作的圖形代數 Graph Algebra for Enabling Spreadsheet-like Interactive Operations on Graphs |
指導教授: |
周百祥
Chou, Pai H. |
口試委員: |
韓永楷
Hon, Wing-Kai 謝孫源 Hsieh, Sun-Yuan |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2021 |
畢業學年度: | 109 |
語文別: | 英文 |
論文頁數: | 34 |
中文關鍵詞: | 圖形代數 、計算機代數系統 、試算表模型 、信號圖 |
外文關鍵詞: | Graph Algebra, Computer Algebra System, Spreadsheet Model, Semagraph |
相關次數: | 點閱:1 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文提出一種圖形代數系統,讓使用者能夠以類似試算表的方式,對圖形做互動式的運算。目前,使用者只能把所有的運算用程式語言,透過相對低階、易出錯的陳述方式表達,而沒有一套工具能支援使用者熟悉的模式,提供即時的運算的回饋與圖形的視覺化。當今的試算表支援的圖形限於如曲線圖、長條圖、圓餅圖等等反映出數值的視覺模式,而非資工領域的基礎概念,即以頂點與邊組合成的離散式資料結構。試算表之所以可行,是因為早有使用代數的表達式,可表達純量、向量、矩陣、字串、變數、與之間的運算元。但是,如果要把類似代數的概念套用於圖形,雖然有一些初步的研究,目前並沒有已廣泛被接受的一套表達式,因為許多基本運算元概念包括基本的加減乘除、邏輯、集合的運算元對於圖形的運算會有不直觀的解讀。為解決這個問題,我們提出一種名為旗號圖(semagraph)的資料結構,做為我們圖形代數的內在表徵。旗號圖對圖形的每個元素(即頂點與邊)附著一個相對應的係數,以便追蹤運算狀態,再透過係數間的運算與投射,還原為一般的圖形,不需要使用者額外知道。優點是以這種模式的運算,符合使用者的直觀、有嚴謹的定義、同時又能提供高階關係以便日後套用類似代數恆等式(algebraic identity)對運算做最佳化。本研究成果預期會為遲來已久新一代互動式圖形運算工具打下基礎,讓使用者不只能把試算表的數字視覺化,更能以圖形把資料表內的關係視覺化,同時輔助圖形演算法的開發與測試。
This thesis proposes a computer algebra system for graphs to enable a spreadsheet-like way to interactively apply operations on graph data structures. Today, to develop graph algorithms, one commonly writes imperative code while sketching graphs manually, but it is very low level and does not allow the convenience and instant feedback users are accustomed to in spreadsheets. The support of data visualization is limited to charts that render numeric quantities but not graphs in computer science, i.e., in terms of vertices and edges. What made spreadsheets possible in the first place was the use of algebraic expressions in terms of scalar, vector, matrix, string literals, variables, and operators on them. Although some graph algebras have been proposed, they have not been widely used due to a number of counterintuitive properties. To address this problem, we propose a new computer algebra system based on a novel data structure called semagraph: It maintains additional coefficients on graph elements (i.e., vertices and edges) to track the state of evaluation so that they enable intuitive expression on graphs transparently while also allowing the possibility of optimization by applying algebraic identities. This work is expected to set the foundation for a new, perhaps long overdue, computation tool that will enable interactive visualization of relations as graphs, not just visualization of data values as charts, while aiding development of graph algorithms.
[1] B. W. Char, K. O. Geddes, W. M. Gentleman, and G. H. Gonnet, “The design of Maple: A compact, portable, and powerful computer algebra system,” in Computer Algebra (J. A. van Hulzen, ed.), (Berlin, Heidelberg), pp. 101–115, Springer Berlin Heidelberg, 1983.
[2] Wolfram, Stephen, et al., The MATHEMATICA® book, version 4. Cambridge University Press, 1999.
[3] D. Joyner, O. Cˇ ertík, A. Meurer, and B. E. Granger, “Open source computer algebra systems: Sympy,” ACM Commun. Comput. Algebra, vol. 45, p. 225–234, Jan. 2012.
[4] A. Meurer, C. Smith, M. Paprocki, O. Cˇ ertík, S. Kirpichev, M. Rocklin, A. Kumar, S. Ivanov,
J. Moore, S. Singh, T. Rathnayake, S. Vig, B. Granger, R. Muller, F. Bonazzi, H. Gupta, S. Vats,
F. Johansson, F. Pedregosa, and A. Scopatz, “Sympy: Symbolic computing in Python,” PeerJ Computer Science, vol. 3, p. e103, 01 2017.
[5] M. Bendre, T. Wattanawaroon, K. Mack, K. Chang, and A. Parameswaran, “Anti-freeze for large and complex spreadsheets: Asynchronous formula computation,” in Proceedings of the 2019 International Conference on Management of Data, SIGMOD ’19, (New York, NY, USA),
p. 1277–1294, Association for Computing Machinery, 2019.
[6] F. Hermans, M. Pinzger, and A. Deursen, “Detecting and refactoring code smells in spreadsheet formulas,” Empirical Software Engineering, vol. 20, 04 2014