Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content
Charles Cusack

    Charles Cusack

    5 2 Introduction 6 2.1 Design Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Group Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Large Sets . . . . . . . . . . . . . . . . . . . . .... more
    5 2 Introduction 6 2.1 Design Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Group Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Large Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 Some results on PSL(2,q) 12 4 PSL(2,q) As An Automorphism Group Of A 3-Design With Blocksize 5 21 4.1 The Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 The Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5 Further Research and Other Results 27 6 Bibliography 28 4 1 ABSTRACT A t - (v, k, #) design (X, B) is a v-element set X of points and a collection B of k- element subsets of X called blocks such that every t-element subset of X is contained in precisely # blocks. If every k--element subset of X is chosen to be in B, then (X, B) is a t - (v, k, #(t, k, v)) design, where #(t, k, v) = # v-t k-t # . In this case it is said to be the complete de...
    Logarithmic signatures of permutation groups and their applications in private-key cryptography have been studied since the early 1980s. More recently, Magliveras, Stinson, and Trung have done some preliminary work in creating two new... more
    Logarithmic signatures of permutation groups and their applications in private-key cryptography have been studied since the early 1980s. More recently, Magliveras, Stinson, and Trung have done some preliminary work in creating two new public-key cryptosystems, MST1, based on logarithmic signatures, and MST2, based on another type of group coverings called (r, s)-meshes. In this thesis, we discuss implementation and security issues relating to both cryptosystems. Our discussion of MST2 is rudimentary. We give an elementary proof that factoring with respect to an (s, r)-mesh is at least as hard as the discrete logarithm problem, and discuss what is known about the subgroup intersection problem and its relationship to MST2. The bulk of the thesis is devoted to logarithmic signatures and MST1. In order to implement MST1, we need two distinct types of logarithmic signatures; those for which factorization is easy, and those for which it is hard. In addition, we need a method of constructing hard-to-factor logarithmic signatures from easy-to-factor logarithmic signatures, so that the former can serve as public keys, and the latter as private keys. We provide a thorough analysis of several transformations that can be performed on logarithmic signatures. Every logarithmic signature of a group induces a permutation on SG. Furthermore, a consequence of the analysis of transformations in this thesis is the discovery that the set of permutations resulting from several classes of logarithmic signatures of a group is the union of cosets of several different groups. We show that a class of logarithmic signatures called transversal are easy to factor, and define and discuss the class of permutably transversal logarithmic signatures, which may help provide the trap-door needed for MST1. We define the class of canonical logarithmic signatures. We show that the permutations generated by logarithmic signatures are generated by just the canonical logarithmic signatures, and give bounds on the number of logarithmic signatures and induced permutations of certain classes.
    ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling step consists of removing two pebbles from a vertex and placing one on an adjacent vertex. A configuration is called solvable if it is possible... more
    ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling step consists of removing two pebbles from a vertex and placing one on an adjacent vertex. A configuration is called solvable if it is possible to place a pebble on any given vertex through a sequence of pebbling steps. A smallest number $t$ such that any configuration with $t$ pebbles is solvable is called the pebbling number of the graph. In this paper, we consider algorithms determining the solvability of a pebbling configuration on graphs of diameter two. We prove that if $k$ is the vertex connectivity of a diameter two graph $G$, then a configuration is solvable if there are at least $c(k)=\min\{k+4,3k-1\}$ vertices in $G$ with two or more pebbles. We use this result to construct an algorithm that has complexity $O(c(k)!\cdot n^{2c(k)-3}m)$, where $n$ is the number of vertices and $m$ is the number of edges. We also present an algorithm for diameter two graphs with pebbling number $n+1$, known as Class 1 graphs, which takes $O(nm)$ time.
    The object-oriented paradigm is the most popular programming paradigm in use today. The benefits of object-oriented programming, such as polymorphism, inheritance, and support for encapsulation are well-known. However, smaller... more
    The object-oriented paradigm is the most popular programming paradigm in use today. The benefits of object-oriented programming, such as polymorphism, inheritance, and support for encapsulation are well-known. However, smaller applications such as those typically assigned in a standard CS1 course cannot fully demonstrate the utility of the object-oriented approach. In this paper, we describe the use of an object-oriented ray-tracer in our CS1 course. This application is sufficiently large for the benefits of the object-oriented approach to be seen, and has the benefit of being intrinsically interesting and motivating to students. Students have successfully completed the tasks we have given them and have found the application to be challenging, yet interesting. The software and accompanying assignments are freely available to faculty wishing to use them in their courses.
    We introduce the idea of volunteer computing games– that is, casual games which are implementations of distributed algorithms. Volunteer computing (VC) is a form of distributed computing which seeks to harness the computational power of... more
    We introduce the idea of volunteer computing games– that is, casual games which are implementations of distributed algorithms. Volunteer computing (VC) is a form of distributed computing which seeks to harness the computational power of individuals from around the world for free. Although the numbers and types of VC projects has grown significantly over the past decade, the majority of participants in these projects are still from a limited demographic, and there are still many people who know nothing about these projects. On the other hand, most people know about casual games, and a majority of people play them. We propose that the use of casual gaming in volunteer computing projects can significantly increase participation, and therefore success, and we describe a prototype of a game that solves the maximum clique problem.
    We describe volunteer computing games, a new paradigm for computing which merges volunteer computing and online casual games. In volunteer computing, the main goal is to harness the computational power of many users’ computers to solve a... more
    We describe volunteer computing games, a new paradigm for computing which merges volunteer computing and online casual games. In volunteer computing, the main goal is to harness the computational power of many users’ computers to solve a large computational problem. Unfortunately, participants in volunteer computing come from a very limited demographic—primarily middle-aged male computer experts. Since casual games have an almost universal appeal and, consequentially, a broad player base, we argue that volunteer computing games will significantly impact volunteer computing efforts by attracting and retaining more users. We describe one framework for implementing volunteer computing games to solve problems whose solution space can be modeled as a search tree. Using our prototype game as an example, we discuss general design principles that are of particular importance with volunteer computing games. We argue that the full power of volunteer computing games occurs when human computati...
    Let G be a connected graph with the vertex set V and the edge set E, where |V | = n and |E| = m. Define a pebbling configuration as a function C : V → Z+ where C(v) represents the number of pebbles placed on vertex v. For any vertex v... more
    Let G be a connected graph with the vertex set V and the edge set E, where |V | = n and |E| = m. Define a pebbling configuration as a function C : V → Z+ where C(v) represents the number of pebbles placed on vertex v. For any vertex v such that C(v) ≥ 2 a pebbling step consists of placing a pebble on one of the vertices adjacent to v and discarding two pebbles from v. A configuration is called r-solvable if there is a sequence of pebbling steps that places at least one pebble on vertex r. Any such sequence is called an r-solution. A configuration is called solvable if it is r-solvable for any r ∈ V. We call an r-solution minimal if it contains the smallest number of pebbling steps. The pebbling number of a graph G, denoted π(G), is the minimum number of pebbles such that the configuration is solvable no matter how the pebbles are distriibuted on the vertices. For any two vertices u, v ∈ V , the distance between u and v (denoted d(u, v)) is the the number of edges on the shortest pat...
    Web sites such as Gmail, Facebook and other Web 2.0 applications have changed the way that we think about web functionality. These sites behave more like desktop applications than traditional document-centric sites. Developing these... more
    Web sites such as Gmail, Facebook and other Web 2.0 applications have changed the way that we think about web functionality. These sites behave more like desktop applications than traditional document-centric sites. Developing these interactive web applications using technologies such as AJAX is tedious, error prone and difficult to optimize. Development environments and tools for such applications lag behind the more mature tools available for languages such as Java. The Google Web Toolkit is an emerging technology that facilitates the integration of the powerful tools available for the Java platform into the interactive web world. The toolkit consists of tools that compile Java code into a combination of HTML and Javascript code; since the code is being written in Java, all of the tools available for Java development can be leveraged, such as the Eclipse IDE and testing tools such as JUnit. Utilizing a compiler to generate Javascript provides an opportunity for optimization that w...
    ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling step consists of removing two pebbles from a vertex and placing one on an adjacent vertex. A configuration is called solvable if it is possible... more
    ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling step consists of removing two pebbles from a vertex and placing one on an adjacent vertex. A configuration is called solvable if it is possible to place a pebble on any given vertex through a sequence of pebbling steps. A smallest number $t$ such that any configuration with $t$ pebbles is solvable is called the pebbling number of the graph. In this paper, we consider algorithms determining the solvability of a pebbling configuration on graphs of diameter two. We prove that if $k$ is the vertex connectivity of a diameter two graph $G$, then a configuration is solvable if there are at least $c(k)=\min\{k+4,3k-1\}$ vertices in $G$ with two or more pebbles. We use this result to construct an algorithm that has complexity $O(c(k)!\cdot n^{2c(k)-3}m)$, where $n$ is the number of vertices and $m$ is the number of edges. We also present an algorithm for diameter two graphs with pebbling number $n+1$, known as Class 1 graphs, which takes $O(nm)$ time.
    ... Charles A. Cusack Department of Computer Science, Hope College Holland, MI 49423 616-396-7952, 616-395-7271 mcfall@hope.edu ... examples of effective object-oriented designs before asking students to create such designs seems likely... more
    ... Charles A. Cusack Department of Computer Science, Hope College Holland, MI 49423 616-396-7952, 616-395-7271 mcfall@hope.edu ... examples of effective object-oriented designs before asking students to create such designs seems likely to lead to better student designs. ...