Spelling suggestions: "subject:"sarjan""
1 |
A software visualization-based approach for understanding and analyzing incremental implementations of complex graph-based algorithmsJiaxin Sun (8802671) 06 May 2020 (has links)
Algorithm has always been a challenging topic for students to learn because of its high level of abstraction. To provide visual aid for algorithm education, many algorithm visualization systems have been designed, developed, and evaluated for the last two decades. However, neither the topics covered nor the interactivity of most AV systems are satisfying. This problem is presented in detail in chapter 2. As a result, this research aims to design, implement and evaluate a compiler-based algorithm visualization system on complex graph algorithm implementation with the assumption that it can help students build both confidence and competence in understanding it. This system is designed and developed according to the method in chapter 3. To test the hypothesis, a comparison experiment on 10 students in the Computer Graphics Technology department is conducted. The complete test protocol can be found in chapter 3.4, and the result can be found in chapter 4. Based on the limited number of subjects’ testing data, a rough conclusion is made that this AV system has only a slight positive effect on subjects’ confidence and competence in understanding complex graph algorithm’s implementation, and its usability is acceptable. However, a concrete conclusion can only be reached if the testing is conducted to a larger group of subjects. In addition to the objective testing data, some interesting subjective observations, which are listed in chapter 5.2 are also made while doing the test. These observations indicate that algorithm visualization may more of a tool to examine users’understanding of the implementation than a tool to help them learn it.
|
2 |
Detecting Cycles in GraphQL SchemasSoames, Kieron, Lind, Jonas January 2019 (has links)
GraphQL is a database handling API created by Facebook, that provides an effective al-ternative to REST-style architectures. GraphQL provides the ability for a client to spec-ify exactly what data it wishes to receive. A problem with GraphQL is that the freedomof creating customized requests allows data to be included several times in the response,growing the response’s size exponentially. The thesis contributes to the field of GraphQLanalysis by studying the prevalence of simple cycles in GraphQL schemas. We have im-plemented a locally-run tool and webtool using Tarjan’s and Johnson’s algorithms, thatparses the schemas, creates a directed graph and enumerates all simple cycles in the graph.A collection of schemas was analysed with the tool to collect empirical data. It was foundthat 39.73 % of the total 2094 schemas contained at least one simple cycle, with the averagenumber of cycles per schema being 4. The runtime was found to be on average 11 mil-liseconds, most of which consisted of the time for parsing the schemas. It was found that44 out of the considered schemas could not be enumerated due to containing a staggeringamount of simple cycles. It can be concluded that it is possible to test schemas for cyclicityand enumerate all simple cycles in a given schema efficiently.
|
3 |
Modelování elektrických obvodů s využitím diferenciálního počtu / Taylor Series Numerical Integration for Electronic Circuits SimulationMinárik, Michal January 2010 (has links)
This master's thesis deals with modeling of linear electrical circuits through the differential algebraical equation systems. It describes methods of numerical solving, discusses the need of algebraical conversions and possibility of minimalization through the use of parasitic components. In addition, it involves the design and implementation of extension of available simulation tool.
|
4 |
Efficient Minimum Cycle Mean Algorithms And Their ApplicationsSupriyo Maji (9158723) 23 July 2020 (has links)
<p>Minimum cycle mean (MCM) is an important concept in directed graphs. From clock period optimization, timing analysis to layout optimization, minimum cycle mean algorithms have found widespread use in VLSI system design optimization. With transistor size scaling to 10nm and below, complexities and size of the systems have grown rapidly over the last decade. Scalability of the algorithms both in terms of their runtime and memory usage is therefore important. </p>
<p><br></p>
<p>Among the few classical MCM algorithms, the algorithm by Young, Tarjan, and Orlin (YTO), has been particularly popular. When implemented with a binary heap, the YTO algorithm has the best runtime performance although it has higher asymptotic time complexity than Karp's algorithm. However, as an efficient implementation of YTO relies on data redundancy, its memory usage is higher and could be a prohibitive factor in large size problems. On the other hand, a typical implementation of Karp's algorithm can also be memory hungry. An early termination technique from Hartmann and Orlin (HO) can be directly applied to Karp's algorithm to improve its runtime performance and memory usage. Although not as efficient as YTO in runtime, HO algorithm has much less memory usage than YTO. We propose several improvements to HO algorithm. The proposed algorithm has comparable runtime performance to YTO for circuit graphs and dense random graphs while being better than HO algorithm in memory usage. </p>
<p><br></p>
<p>Minimum balancing of a directed graph is an application of the minimum cycle mean algorithm. Minimum balance algorithms have been used to optimally distribute slack for mitigating process variation induced timing violation issues in clock network. In a conventional minimum balance algorithm, the principal subroutine is that of finding MCM in a graph. In particular, the minimum balance algorithm iteratively finds the minimum cycle mean and the corresponding minimum-mean cycle, and uses the mean and cycle to update the graph by changing edge weights and reducing the graph size. The iterations terminate when the updated graph is a single node. Studies have shown that the bottleneck of the iterative process is the graph update operation as previous approaches involved updating the entire graph. We propose an improvement to the minimum balance algorithm by performing fewer changes to the edge weights in each iteration, resulting in better efficiency.</p>
<p><br></p>
<p>We also apply the minimum cycle mean algorithm in latency insensitive system design. Timing violations can occur in high performance communication links in system-on-chips (SoCs) in the late stages of the physical design process. To address the issues, latency insensitive systems (LISs) employ pipelining in the communication channels through insertion of the relay stations. Although the functionality of a LIS is robust with respect to the communication latencies, such insertion can degrade system throughput performance. Earlier studies have shown that the proper sizing of buffer queues after relay station insertion could eliminate such performance loss. However, solving the problem of maximum performance buffer queue sizing requires use of mixed integer linear programming (MILP) of which runtime is not scalable. We formulate the problem as a parameterized graph optimization problem where for every communication channel there is a parameterized edge with buffer counts as the edge weight. We then use minimum cycle mean algorithm to determine from which edges buffers can be removed safely without creating negative cycles. This is done iteratively in the similar style as the minimum balance algorithm. Experimental results suggest that the proposed approach is scalable. Moreover, quality of the solution is observed to be as good as that of the MILP based approach.</p><p><br></p>
|
Page generated in 0.0188 seconds