304 research outputs found

    Topology design and performance analysis of an integrated communication network

    Get PDF
    A research study on the topology design and performance analysis for the Space Station Information System (SSIS) network is conducted. It is begun with a survey of existing research efforts in network topology design. Then a new approach for topology design is presented. It uses an efficient algorithm to generate candidate network designs (consisting of subsets of the set of all network components) in increasing order of their total costs, and checks each design to see if it forms an acceptable network. This technique gives the true cost-optimal network, and is particularly useful when the network has many constraints and not too many components. The algorithm for generating subsets is described in detail, and various aspects of the overall design procedure are discussed. Two more efficient versions of this algorithm (applicable in specific situations) are also given. Next, two important aspects of network performance analysis: network reliability and message delays are discussed. A new model is introduced to study the reliability of a network with dependent failures. For message delays, a collection of formulas from existing research results is given to compute or estimate the delays of messages in a communication network without making the independence assumption. The design algorithm coded in PASCAL is included as an appendix

    Investigating the Effectiveness of Active Interaction Tools on Student Learning

    Get PDF
    In this project, we investigate the effectiveness of active interaction animation tools for learning. We limit our scope to a particular computer science course that teaches graph algorithms on an undergraduate level. More specifically, we evaluate student understanding of basic graph algorithms when two kinds of interactive animation tools are used by the students to learn the algorithms: active interaction and passive interaction. We hypothesize that animations which engage students in active interaction are more effective and more beneficial to learning and comprehension than the animations which do not explicitly engage students in active interaction. We conduct an experiment and study the effects of these two kinds of interactive animation on learning effectiveness

    OBLIGATION RULES

    Get PDF
    We provide a characterization of the obligation rules in the context of minimum cost spanning tree games. We also explore the relation between obligation rules and random order values of the irreducible cost game - it is shown that the later is a subset of the obligation rules. Moreover we provide a necessary and sucient condition on obligation function such that the corresponding obligation rule coincides with a random order value.

    HAMSTER: visualizing microarray experiments as a set of minimum spanning trees

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>Visualization tools allow researchers to obtain a global view of the interrelationships between the probes or experiments of a gene expression (<it>e.g. microarray</it>) data set. Some existing methods include hierarchical clustering and k-means. In recent years, others have proposed applying minimum spanning trees (MST) for microarray clustering. Although MST-based clustering is formally equivalent to the dendrograms produced by hierarchical clustering under certain conditions; visually they can be quite different.</p> <p>Methods</p> <p>HAMSTER (Helpful Abstraction using Minimum Spanning Trees for Expression Relations) is an open source system for generating a <b>set </b>of MSTs from the experiments of a microarray data set. While previous works have generated a single MST from a data set for data clustering, we recursively merge experiments and repeat this process to obtain a set of MSTs for data visualization. Depending on the parameters chosen, each tree is analogous to a snapshot of one step of the hierarchical clustering process. We scored and ranked these trees using one of three proposed schemes. HAMSTER is implemented in C++ and makes use of Graphviz for laying out each MST.</p> <p>Results</p> <p>We report on the running time of HAMSTER and demonstrate using data sets from the NCBI Gene Expression Omnibus (GEO) that the images created by HAMSTER offer insights that differ from the dendrograms of hierarchical clustering. In addition to the C++ program which is available as open source, we also provided a web-based version (HAMSTER<sup>+</sup>) which allows users to apply our system through a web browser without any computer programming knowledge.</p> <p>Conclusion</p> <p>Researchers may find it helpful to include HAMSTER in their microarray analysis workflow as it can offer insights that differ from hierarchical clustering. We believe that HAMSTER would be useful for certain types of gradient data sets (e.g time-series data) and data that indicate relationships between cells/tissues. Both the source and the web server variant of HAMSTER are available from <url>http://hamster.cbrc.jp/</url>.</p

    Experimental study of performance of minimum spanning tree algorithms

    Get PDF
    Throughout the study of various theories of algorithms much work has been done in the area of traversal and solving optimization problems on graphs. Some of this work includes studies of finding the Minimal-Cost Spanning Trees (MST) in directed and undirected connected graphs. Several algorithms have been developed for such task. These algorithms tend to differ in performance based on various factors, such as graph density, size of problem spaces, range of weights that can be assigned to the edges of the graphs, edge weight distributions, etc. The data structures used by an algorithm can have a significant impact on algorithm\u27s performance, for each of the aforementioned factors. This thesis presents the results of the experimental study of the impact the data structures have on performances of Kruskal\u27s and Prim\u27s algorithms for finding Minimum-Cost Spanning Trees in connected undirected graphs. The goal of this study is to compare performance of the practical implementations of Kruskal\u27s and Prim\u27s algorithms to their theoretical counterparts, as well as to measure and compare the differences in performances for various implementations of one algorithm, with respect to different implementation of the essential data structures. Performances of different algorithms are studied with respect to each-other for several variations of the types of data. As a result, a table depicting a schedule for use of the various implementations of either of the algorithms, as related to the type of graph used, is presented. The algorithms are implemented and executed on a single Sun UltraSparc workstation, in order to eliminate the discrepancies, which may result from the differences in the processor speeds and variable CPU loads on multiple test machines. The following implementations are studied: Kruskal\u27s Algorithm with heapsort, and disjoint-sets using union-by-rank and path-compression heuristic Kruskal\u27s Algorithm with counting sort and disjoint-sets using union-by-rank and path-compression heuristic Prim\u27s Algorithm with brute force implementation of priority queues Prim\u27s Algorithm with priority queue implemented using a proper implementation of binary heap with bubble-up performed each time a decrease-key operation is performed for a vertex Prim\u27s Algorithm with priority queue implemented using a lazy implementation of binary heap with bubble-up performed after all decrease-key operations are performed for a vertex Prim\u27s Algorithm with priority queue implemented using a binomial heap Prim\u27s Algorithm with priority queue implemented using a Fibonacci heap Upon the conclusion of the experiment, the best results were obtained from the implementation of Prim\u27s algorithm using the lazy heap implementation of a priority queue. For sparse graphs, Kruskal\u27s algorithm with counting sort performed very well, while for higher density graphs, Prim\u27s algorithm with binomial heap performed very well

    Compressing DNA sequence databases with coil

    Get PDF
    Background: Publicly available DNA sequence databases such as GenBank are large, and are growing at an exponential rate. The sheer volume of data being dealt with presents serious storage and data communications problems. Currently, sequence data is usually kept in large "flat files," which are then compressed using standard Lempel-Ziv (gzip) compression – an approach which rarely achieves good compression ratios. While much research has been done on compressing individual DNA sequences, surprisingly little has focused on the compression of entire databases of such sequences. In this study we introduce the sequence database compression software coil. Results: We have designed and implemented a portable software package, coil, for compressing and decompressing DNA sequence databases based on the idea of edit-tree coding. coil is geared towards achieving high compression ratios at the expense of execution time and memory usage during compression – the compression time represents a "one-off investment" whose cost is quickly amortised if the resulting compressed file is transmitted many times. Decompression requires little memory and is extremely fast. We demonstrate a 5% improvement in compression ratio over state-of-the-art general-purpose compression tools for a large GenBank database file containing Expressed Sequence Tag (EST) data. Finally, coil can efficiently encode incremental additions to a sequence database. Conclusion: coil presents a compelling alternative to conventional compression of flat files for the storage and distribution of DNA sequence databases having a narrow distribution of sequence lengths, such as EST data. Increasing compression levels for databases having a wide distribution of sequence lengths is a direction for future work

    Optimisation of a tree structured centralized data network using an evolutionary algorithm

    Get PDF
    This thesis attempts to solve the problem of optimising the design of tree structured centralized data network using an Evolutionary Algorithm. A centralized data network is also known as a client-server network. In this type of network, the client, which is usually a terminal connected to the network, would send a request for information to the server. The server would then download the reply back to the client. An example of such a network would be a bank's ATM network. Each ATM machine would be a client and the central server would store information relating to all the bank's customers. The idea was that once this was done the fitness function used in the above problem would be modified to suite the design of a network used to interconnect LANs that would also form a tree structure. Each of the nodes in this network would be a LAN connected to the network via a bridge or router. Unfortunately the results obtained in attempting to optimise the topology of the centralized data network were very poor. A heuristic normally used to solve this problem outperformed the Evolutionary Algorithm on all the three counts that the comparison was performed. Therefore another method using an Evolutionary Algorithm that can optimise the network interconnecting LANs was introduced. The first chapter in this thesis is an introduction to the thesis and all the terms and concepts that are used in it. The second chapter explains the heuristic used. The third chapter discusses what particular properties are needed by a coding scheme used in an Evolutionary Algorithm to solve this problem. It introduces a few alternatives that have been used in the past but do not meet all the requirements. Then it introduces the coding scheme that was used in this thesis and the fitness function used to evaluate each candidate solution. The next chapter tabulates the results and draws conclusions from these results. The final chapter discusses areas of future research possibilities. There are also several appendices. The first introduces the Genetic Algorithm (GA) and discusses some hypotheses that attempt to explain why it is so successful at problem solving. The next appendix introduces Population Based Incremental Learning (PBIL). This is the Evolutionary Algorithm that is used in attempting to solve this problem. Appendix C explains a method of converting between real and binary numbers; this method is not used in this thesis but is important to know when dealing with Evolutionary Algorithms that are only capable of manipulating binary values. The next two appendices discuss Prim's algorithm and Competitive Learning. Prim's algorithm is an MST algorithm that is used in the coding scheme. Competitive Learning is a classification technique that PBIL is partly based on. An explanation of each function used to implement the heuristic and PBIL is given in Appendix F. This is followed by a listing of the Matlab code of each function
    corecore