significant challenges feel like emotional barriers to progress
Published 2020-08-23T17:16:00.001Z by Physics Derivation Graph
The current form of the Physics Derivation Graph has served to validate my claim of feasibility. There are a number of significant challenges that inhibit scalability, regardless of whether I generate more content or other people contribute.
Input complexity: the current multi-step webform process is tedious and burdensome. There are many steps, resulting in a burdensome workload for both the backend developer (many features are necessary) and the front-end user (using all those features). Alternative interaction mechanisms are technically feasible but not in my current skillset.
Display complexity: the graph with hundreds of nodes exceeds the ability to visually navigate given the current d3.js and Graphviz interfaces. Rendering the graph in 3D might help, but the readability of node labels is important.
Limited ability to query: the graph is presented visually but lacks support for responding to user queries. Currently writing custom analysis scripts that read the JSON is the only access.
Use correct symbol IDs: the current JSON database is populated with incorrect symbol references and a mixture of SymPy+text symbols.
Validation of steps: the current JSON database is populated with incorrect steps. Inference rules are used but either are not feasible in SymPy or are implemented incorrectly.
Validation of dimension: after correcting the symbols and the steps, each expression needs to be verified to have the correct dimension.
The last three are listed in dependency order. The symbols need to be fixed, then validation of steps and dimension are possible.
I don't currently have attacks planned on either display complexity or query capability.
My current task list:
Correct the symbol IDs in data.json
Change layout of expression input table to distinguish input, output, and feed relation to inference rule
add capability to edit SymPy from web interface
functionally, separate symbol replacement from expression-as-sympy. For the web interface, insert new steps: Latex math expression -> symbols -> SymPy expression
web interface for reviewing correctness of Latex -> SymPy -> Latex for expressions