  We begin with a review of the notion of a braid group. We then discuss some
known solutions to decision problems in braid groups. We then move on to
proving new results in braid group algorithmics. We offer a quick solution to
the generalized word problem in braid groups, in the special case of cyclic
subgroups. We illustrate this solution and its complexity using a multitape
Turing machine. We then turn to a discussion of decision problems in cyclic
amalgamations of groups. Again using a multitape Turing machine, we solve the
word problem for the cyclic amalgamation of two braid groups. We analyze its
complexity as well. We then turn to a more general study of the conjugacy
problem in cyclic amalgamations. We revise and prove some theorems of
Lipschutz[L1] and show their application to cyclic amalgamations of braid
groups. We generalize this application to prove a new theorem regarding the
conjugacy problem in cyclic amalgamations. We then discuss some application of
braid groups, culminating in a section devoted to the discussion of braid group
cryptography. We conclude with a discussion of some open questions that we
would like to pursue in future research.
