Fast algorithms for generating discrete random variates with changing distributions

Sanguthevar Rajasekaran, Keith Ross

    Research output: Contribution to journalArticle

    Abstract

    One of the most fundamental operations when simulating a stochastic discrete-event dynamic system is the generation of a nonuniform discrete random variate. The simplest form of this operation can be stated as follows: Generate a random variable X that is distributed over the integers 1,2...., n such that P(X = i) = ai/(a1 + ... + an), where the ai's are fixed nonnegative numbers. The well-known 'alias algorithm' is available to accomplish this task in O(1) time. A more difficult problem is to generate variates for X when the ai's are changing with time. We present three rejection-based algorithms for this task, and for each algorithm we characterize the performance in terms of acceptance probability and the expected effort to generate a variate. We show that, under fairly unrestrictive conditions, the long-run expected effort is O(1). Applications to Markovian queuing networks are discussed. We also compare the three algorithms with competing schemes appearing in the literature.

    Original languageEnglish (US)
    Pages (from-to)1-19
    Number of pages19
    JournalACM Transactions on Modeling and Computer Simulation
    Volume3
    Issue number1
    DOIs
    StatePublished - Jan 1993

    Fingerprint

    Fast Algorithm
    Discrete Event Dynamic Systems
    Queuing Networks
    Long-run
    Rejection
    Random variables
    Dynamical systems
    Random variable
    Non-negative
    Integer

    ASJC Scopus subject areas

    • Software
    • Modeling and Simulation

    Cite this

    Fast algorithms for generating discrete random variates with changing distributions. / Rajasekaran, Sanguthevar; Ross, Keith.

    In: ACM Transactions on Modeling and Computer Simulation, Vol. 3, No. 1, 01.1993, p. 1-19.

    Research output: Contribution to journalArticle

    @article{77cf68f514e7474791aef3829a136de4,
    title = "Fast algorithms for generating discrete random variates with changing distributions",
    abstract = "One of the most fundamental operations when simulating a stochastic discrete-event dynamic system is the generation of a nonuniform discrete random variate. The simplest form of this operation can be stated as follows: Generate a random variable X that is distributed over the integers 1,2...., n such that P(X = i) = ai/(a1 + ... + an), where the ai's are fixed nonnegative numbers. The well-known 'alias algorithm' is available to accomplish this task in O(1) time. A more difficult problem is to generate variates for X when the ai's are changing with time. We present three rejection-based algorithms for this task, and for each algorithm we characterize the performance in terms of acceptance probability and the expected effort to generate a variate. We show that, under fairly unrestrictive conditions, the long-run expected effort is O(1). Applications to Markovian queuing networks are discussed. We also compare the three algorithms with competing schemes appearing in the literature.",
    author = "Sanguthevar Rajasekaran and Keith Ross",
    year = "1993",
    month = "1",
    doi = "10.1145/151527.151529",
    language = "English (US)",
    volume = "3",
    pages = "1--19",
    journal = "ACM Transactions on Modeling and Computer Simulation",
    issn = "1049-3301",
    publisher = "Association for Computing Machinery (ACM)",
    number = "1",

    }

    TY - JOUR

    T1 - Fast algorithms for generating discrete random variates with changing distributions

    AU - Rajasekaran, Sanguthevar

    AU - Ross, Keith

    PY - 1993/1

    Y1 - 1993/1

    N2 - One of the most fundamental operations when simulating a stochastic discrete-event dynamic system is the generation of a nonuniform discrete random variate. The simplest form of this operation can be stated as follows: Generate a random variable X that is distributed over the integers 1,2...., n such that P(X = i) = ai/(a1 + ... + an), where the ai's are fixed nonnegative numbers. The well-known 'alias algorithm' is available to accomplish this task in O(1) time. A more difficult problem is to generate variates for X when the ai's are changing with time. We present three rejection-based algorithms for this task, and for each algorithm we characterize the performance in terms of acceptance probability and the expected effort to generate a variate. We show that, under fairly unrestrictive conditions, the long-run expected effort is O(1). Applications to Markovian queuing networks are discussed. We also compare the three algorithms with competing schemes appearing in the literature.

    AB - One of the most fundamental operations when simulating a stochastic discrete-event dynamic system is the generation of a nonuniform discrete random variate. The simplest form of this operation can be stated as follows: Generate a random variable X that is distributed over the integers 1,2...., n such that P(X = i) = ai/(a1 + ... + an), where the ai's are fixed nonnegative numbers. The well-known 'alias algorithm' is available to accomplish this task in O(1) time. A more difficult problem is to generate variates for X when the ai's are changing with time. We present three rejection-based algorithms for this task, and for each algorithm we characterize the performance in terms of acceptance probability and the expected effort to generate a variate. We show that, under fairly unrestrictive conditions, the long-run expected effort is O(1). Applications to Markovian queuing networks are discussed. We also compare the three algorithms with competing schemes appearing in the literature.

    UR - http://www.scopus.com/inward/record.url?scp=0027189274&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=0027189274&partnerID=8YFLogxK

    U2 - 10.1145/151527.151529

    DO - 10.1145/151527.151529

    M3 - Article

    AN - SCOPUS:0027189274

    VL - 3

    SP - 1

    EP - 19

    JO - ACM Transactions on Modeling and Computer Simulation

    JF - ACM Transactions on Modeling and Computer Simulation

    SN - 1049-3301

    IS - 1

    ER -