This document describes a new recursive Monte Carlo simulation algorithm called the Sampled Path Set Algorithm (SPSA) for modeling complex k-out-of-n reliability systems. The SPSA uses a graph representation of a reliability block diagram and recursively searches the graph to determine system response based on the system state vector at each simulation iteration, allowing modeling of systems with general component failure and repair distributions and large numbers of components. Existing methods for analyzing such systems using tie/cut sets have limitations as the number of sets grows non-linearly with increased system complexity. The SPSA provides a more efficient alternative with linear growth in processing and memory requirements.