Charles Cusack | Hope College (original) (raw)
Papers by Charles Cusack
5 2 Introduction 6 2.1 Design Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 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 h... 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.
Journal of Combinatorial Theory, Series A, 1995
SIAM Journal on Discrete Mathematics, 2009
ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling st... 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 ttt such that any configuration with ttt 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 kkk is the vertex connectivity of a diameter two graph GGG, then a configuration is solvable if there are at least c(k)=mink+4,3k−1c(k)=\min\{k+4,3k-1\}c(k)=mink+4,3k−1 vertices in GGG with two or more pebbles. We use this result to construct an algorithm that has complexity O(c(k)!cdotn2c(k)−3m)O(c(k)!\cdot n^{2c(k)-3}m)O(c(k)!cdotn2c(k)−3m), where nnn is the number of vertices and mmm is the number of edges. We also present an algorithm for diameter two graphs with pebbling number n+1n+1n+1, known as Class 1 graphs, which takes O(nm)O(nm)O(nm) time.
Journal of Computing Sciences in Colleges, 2010
The object-oriented paradigm is the most popular programming paradigm in use today. The benefits ... 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 implementatio... 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 comput... 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. ... 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...
Discrete Applied Mathematics
Journal of Computing Sciences in Colleges, Oct 1, 2010
We develop the notion of t-homogeneous, G-semiregular large sets of t−designs, show that there ar... more We develop the notion of t-homogeneous, G-semiregular large sets of t−designs, show that there are infinitely many 3-homogeneous PSL(2,q)-semiregular large sets when q ≡ 3 mod 4, two sporadic 3-homogeneous AΓL(1,32)-semiregular large sets, and no other interesting t-homogeneous G-semiregular large sets for t ≥ 3.
We introduce the idea of volunteer computing gamesthat is, casual games which are implementations... more We introduce the idea of volunteer computing gamesthat 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.
This paper discusses the applicability of human computing games to solving instances of NPcomplet... more This paper discusses the applicability of human computing games to solving instances of NPcomplete problems, a collection of problems that cannot currently be efficiently solved with computers. The idea is to leverage the diversity offered by a large group of humans-that is, utilize the different skills humans have that computers don't as well as the different perspectives of the individuals who plays the games. To explore this possibility, we created Pebble It, a suite of games that can be used to solve instances of problems related to a mathematical concept called graph pebbling. Several examples are presented that demonstrate the benefits of this approach to problem solving. We conclude by discussing how these games can link players and researchers to form a social-computational system that can strengthen research-sometimes in unexpected ways.
Web sites such as Gmail, Facebook and other Web 2.0 applications have changed the way that we thi... 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...
Proceedings of the 2007 conference on Future Play - Future Play '07, 2007
Wildfire Wally is a prototype of a volunteer computing game. Players play as Wally, a red-bearded... more Wildfire Wally is a prototype of a volunteer computing game. Players play as Wally, a red-bearded wilderness personality, who is trying to protect his forest from a raging fire. Wally contains the flames by either dousing blazing trees with water, or by creating fire-lines that isolate a burning area of the forest. As players progress from level to level, wind gusts and dropping humidity make containing the fire increasingly difficult. If a certain number of trees are not conserved, the player loses.
SIAM Journal on Discrete Mathematics, 2009
ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling st... 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 ttt such that any configuration with ttt 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 kkk is the vertex connectivity of a diameter two graph GGG, then a configuration is solvable if there are at least c(k)=mink+4,3k−1c(k)=\min\{k+4,3k-1\}c(k)=mink+4,3k−1 vertices in GGG with two or more pebbles. We use this result to construct an algorithm that has complexity O(c(k)!cdotn2c(k)−3m)O(c(k)!\cdot n^{2c(k)-3}m)O(c(k)!cdotn2c(k)−3m), where nnn is the number of vertices and mmm is the number of edges. We also present an algorithm for diameter two graphs with pebbling number n+1n+1n+1, known as Class 1 graphs, which takes O(nm)O(nm)O(nm) time.
SIAM Journal on Discrete Mathematics, 2012
A pebbling move.
5 2 Introduction 6 2.1 Design Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 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 h... 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.
Journal of Combinatorial Theory, Series A, 1995
SIAM Journal on Discrete Mathematics, 2009
ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling st... 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 ttt such that any configuration with ttt 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 kkk is the vertex connectivity of a diameter two graph GGG, then a configuration is solvable if there are at least c(k)=mink+4,3k−1c(k)=\min\{k+4,3k-1\}c(k)=mink+4,3k−1 vertices in GGG with two or more pebbles. We use this result to construct an algorithm that has complexity O(c(k)!cdotn2c(k)−3m)O(c(k)!\cdot n^{2c(k)-3}m)O(c(k)!cdotn2c(k)−3m), where nnn is the number of vertices and mmm is the number of edges. We also present an algorithm for diameter two graphs with pebbling number n+1n+1n+1, known as Class 1 graphs, which takes O(nm)O(nm)O(nm) time.
Journal of Computing Sciences in Colleges, 2010
The object-oriented paradigm is the most popular programming paradigm in use today. The benefits ... 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 implementatio... 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 comput... 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. ... 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...
Discrete Applied Mathematics
Journal of Computing Sciences in Colleges, Oct 1, 2010
We develop the notion of t-homogeneous, G-semiregular large sets of t−designs, show that there ar... more We develop the notion of t-homogeneous, G-semiregular large sets of t−designs, show that there are infinitely many 3-homogeneous PSL(2,q)-semiregular large sets when q ≡ 3 mod 4, two sporadic 3-homogeneous AΓL(1,32)-semiregular large sets, and no other interesting t-homogeneous G-semiregular large sets for t ≥ 3.
We introduce the idea of volunteer computing gamesthat is, casual games which are implementations... more We introduce the idea of volunteer computing gamesthat 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.
This paper discusses the applicability of human computing games to solving instances of NPcomplet... more This paper discusses the applicability of human computing games to solving instances of NPcomplete problems, a collection of problems that cannot currently be efficiently solved with computers. The idea is to leverage the diversity offered by a large group of humans-that is, utilize the different skills humans have that computers don't as well as the different perspectives of the individuals who plays the games. To explore this possibility, we created Pebble It, a suite of games that can be used to solve instances of problems related to a mathematical concept called graph pebbling. Several examples are presented that demonstrate the benefits of this approach to problem solving. We conclude by discussing how these games can link players and researchers to form a social-computational system that can strengthen research-sometimes in unexpected ways.
Web sites such as Gmail, Facebook and other Web 2.0 applications have changed the way that we thi... 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...
Proceedings of the 2007 conference on Future Play - Future Play '07, 2007
Wildfire Wally is a prototype of a volunteer computing game. Players play as Wally, a red-bearded... more Wildfire Wally is a prototype of a volunteer computing game. Players play as Wally, a red-bearded wilderness personality, who is trying to protect his forest from a raging fire. Wally contains the flames by either dousing blazing trees with water, or by creating fire-lines that isolate a burning area of the forest. As players progress from level to level, wind gusts and dropping humidity make containing the fire increasingly difficult. If a certain number of trees are not conserved, the player loses.
SIAM Journal on Discrete Mathematics, 2009
ABSTRACT Consider a connected graph and a configuration of pebbles on its vertices. A pebbling st... 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 ttt such that any configuration with ttt 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 kkk is the vertex connectivity of a diameter two graph GGG, then a configuration is solvable if there are at least c(k)=mink+4,3k−1c(k)=\min\{k+4,3k-1\}c(k)=mink+4,3k−1 vertices in GGG with two or more pebbles. We use this result to construct an algorithm that has complexity O(c(k)!cdotn2c(k)−3m)O(c(k)!\cdot n^{2c(k)-3}m)O(c(k)!cdotn2c(k)−3m), where nnn is the number of vertices and mmm is the number of edges. We also present an algorithm for diameter two graphs with pebbling number n+1n+1n+1, known as Class 1 graphs, which takes O(nm)O(nm)O(nm) time.
SIAM Journal on Discrete Mathematics, 2012
A pebbling move.