帳號:guest(18.221.101.3)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):廖允誠
作者(外文):Liao, Yun-Cheng
論文名稱(中文):提供在圖形上以類試算表互動方式操作的圖形代數
論文名稱(外文):Graph Algebra for Enabling Spreadsheet-like Interactive Operations on Graphs
指導教授(中文):周百祥
指導教授(外文):Chou, Pai H.
口試委員(中文):韓永楷
謝孫源
口試委員(外文):Hon, Wing-Kai
Hsieh, Sun-Yuan
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:108062535
出版年(民國):110
畢業學年度:109
語文別:英文
論文頁數:34
中文關鍵詞:圖形代數計算機代數系統試算表模型信號圖
外文關鍵詞:Graph AlgebraComputer Algebra SystemSpreadsheet ModelSemagraph
相關次數:
  • 推薦推薦:0
  • 點閱點閱:467
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏: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.
Contents i
Acknowledgments v
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Related Work 4
2.1 Computer Algebra System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Symbolic Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Symbolic Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Expression Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Spreadsheet Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Compressed Dependency Table . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Formula Smells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Problem Statement 8
3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Problem Formulation 13
4.1 Semagraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 Semagraph and Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.2 Operations on Directed Graphs as Semagraphs . . . . . . . . . . . . . . . . . . . . 14
4.1.3 Algebraic Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.4 Illustrative Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Dependency Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5 Technical Approach 23
5.1 Static Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.1 Canonicalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.2 Algebraic Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Dynamic Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.1 Re-evaluation through dependency graph . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.2 Common Value Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6 Evaluation 28
6.1 Re-evaluation function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 System functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7 Conclusions and Future Work 32
7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
[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
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *