Includes bibliographical references (leaves 111-118).Thesis (Ph. D.)--Massachusetts Institute of Technology, Sloan School of Management, Operations Research Center, 2008.(cont.) However, these randomized algorithms can never provide proven upper or lower bounds on the number of objects they are counting, but can only give probabilistic estimates. We propose a set of deterministic algorithms for counting such objects for three classes of counting problems. They are interesting both because they give an alternative approach to solving these problems, and because unlike MCMC algorithms, they provide provable bounds on the number of objects. The algorithms we propose are for special cases of counting the number of matchings, colorings, or perfect matchings (permanent), of a graph.Multiclass queueing networks are used to model manufacturing, computer, supply chain, and other systems. Questions of performance and stability arise in these systems. There is a body of research on determining stability of a given queueing system, which contains algorithms for determining stability of queueing networks in some special cases, such as the case where there are only two stations. Yet previous attempts to find a general characterization of stability of queueing networks have not been successful.In the first part of the thesis, we contribute to the understanding of why such a general characterization could not be found. We prove that even under a relatively simple class of static buffer priority scheduling policies, stability of deterministic multiclass queueing network is, in general, an undecidable problem. Thus, there does not exist an algorithm for determining stability of queueing networks, even under those relatively simple assumptions. This explains why such an algorithm, despite significant efforts, has not been found to date. In the second part of the thesis, we address the problem of finding algorithms for approximately solving combinatorial graph counting problems. Counting problems are a wide and well studied class of algorithmic problems, that deal with counting certain objects, such as the number of independent sets, or matchings, or colorings, in a graph. The problems we address are known to be #P-hard, which implies that, unless P = #P, they can not be solved exactly in polynomial time. It is known that randomized approximation algorithms based on Monte Carlo Markov Chains (MCMC) solve these problems approximately, in polynomial time.by Dmitriy A. Katz-Rogozhnikov.Ph.D