The following is simply a conveniently formatted list of learning goals. More likely than not, some might be hard to assess through a quiz or exam. Students should prioritize their studying based on:
- how much time in lecture was spent discussing or understanding the topic,
- how much the topic was stressed in learning group assignments
- and the student's comfort level with the topic
Assessable Learning Goals
Know Fisher-Yates shuffling algorithm, be able to apply it to sampling tasks in simulations.
Know Fisher-Yates shuffling algorithm, be able to present a convincing argument of its correctness.
Know the reservoir sampling algorithm (6.5.6) for selecting n random elements from an unkown sized population.
Recall casino thieves, be able to write an algorithm that deals deterministic n-player 5-card draw poker hands
Know the several different properties and attributes of sampling and shuffling algorithms presented in the text.
Learn about several different simulation approaches, topics, and uses.
Know how to use accept/reject techniques for uniformly random (geometric) point generation.
Know how to write Monte Carlo simulations for estimating a discrete data histogram of many events.
Know how to write Monte Carlo simulations for estimating the Pr(A) of an event A.
Know the pitfalls associated with common (naive) methods of random point generation.
What characteristics of random points in a two dimensional space suggest a flawed algorithm was used?
What unique characteristic of a system or simulation makes it Monte Carlo?
Be able to analyze and critique algorithms for generating random points in a 2d plane.
Know at least one non accept/reject technique for randomizing points within an arbitrary triangle.
Know the tell-tale feature(s) of spatial plots produced by faulty point generation algorithms.
When randomizing points in a circle without accept/reject, how should the radi r be chosen using Random()?
Describe S, the system state. What does "system" refer to?
How is the simulation clock different than the wall clock or an accelerated, virtual clock?
Know the basic algorithm for executing a DES using next event methodology. (hint: probably not more than 5-8 items, depending on wording, and one loop)
Name four data elements or data collections that go into a next event simulation (this list may not be exhaustive).
Understand the basic steps in augmenting a pre-existing NES with additional system and meta events.
What are the most critical operations performed on an NES event list (E)?
What constraint(s) are placed on events being inserted into the event list?
What is the difference between system events and meta events?
Cite pros and cons for at least two "pure" event list data structures commonly used for event list management.
Cite pros and cons for at least two hybrid data structures commonly used for event list management.
Practice understanding a pre-existing NES simulation, and making changes to it.
A Henriksen's tree-list hybrid structure uses what property of NES to improve DEQUEUE O(n) ?
Henriksen's algorithm can make lowest priority ENQUEUE O(1), how?
What are the O(n) of ENQUEUE, DEQUEUE, SEARCH, DELETE of priority queue structures (heaps) and balanced trees?
What (arithmetic) pRNG properties did the thieves take advantage of in electronic poker games?
Speculate why time syncronization and hitting "PLAY" at the precise moment was critical to the thieves' strategy.
Explain the values a, m, g() and x0 in a (Lehmer) PMMLCG; how is the next Uniform(0,1) random value calculated?
Given a and m (a a full period multiplier), find the smallest and largest floating point values between 0 and 1 that can be generated.
How is an xi+1 value converted from an integer to a real number in the interval (0,1)?
What is a full period multiplier and why is it important to Lehmer pRNGs?
Explain what "random numbers fall mainly in the planes" means.
"Good" pRNGs requiring k bits to hold values of their state space S have a period approximately how large?
Why is breaking up a modern, large period pRNG into streams avoided?
How are k values in a mod 2 number system (aka bits) turned into a fractional value in the interval (0,1).
How does the Lehmer pRNG (from the book) differ in theory from modern pRNGs?
What does the pRNG API routine Random() provide to a simulation writer?
What is a seed for a pRNG, how is it related to the sequence of valued generated by Random()?
What is ρ (rho) for pRNGs? When does the sequence of values from Random() repeat?
How do you apply pRNG streams to achieve variance reduction in simulation experiements?
How is a (sub)stream of a Lehmer pRNG created?
What is the geometric interpretation of multiple Lehmer pRNG streams?
What is a distribution's idf()?
Know how derivations between the CDF (F(x)) and the PDF (f(x)) of continuous valued distributions are performed.
Know how to calculate the Pr(Event) for both discrete and continuous valued distributions.
Know how to calculate the mean and standard deviation of discrete data.
Know the square root rule, by increasing the replication size 9x, how much smaller will our confidence intervals be?
Understand why the traditional one-pass variance equation is flawed for use in computer simulation.
What are empirical CDFs? How are they better than histograms for assesing a data distribution?
How does serial correlation affect estimated mean and confidence interval widths?
What is the difference between serial and paired correlation?
Given Welford's covariance equations (Thm 4.4.3), be able to apply them to a set of paired data (u,v).
What is autocorrelation and autocorrelation lag? Why is autocorrelation important in DES?
What is positive (and negative) serial correlation? Cite a positive serial correlation example from the SSQ model.
Know what constitutes a density histogram and how it is connected to PDFs.
How is the height of a continuous histogram bin calculated?
Know the general approach to binning continuous data, about how many bins are needed for a sample of n?
How is the mean and standard deviation of a continuous data histogram differ than the underlying dataset?
Why would we ever need to calculate mean and std dev from histogram data?
What is a mean-square orthogonal-distance (MSOD) linear regression line?
Why are MSOD regression lines more suitable for DES?
Why don't we use standard statistical linear regression lines for DES results?
Given Welford's discrete and integral mean and variance equations (Thms 4.1.2, 4.1.4), be able to apply them to a set of data.
Know that Welford's Equations exist, why they are superior to the "one-pass" algorithm common in statistical texts.
Know which of the two (non Welford) standard equations for calculating s2 or s is flawed.
DES people don't need integrals and anti-differentiation when integrating sample paths. Why not?
Know how the naive adaption of the stationary arrival time algorithm fails when substituting λ with λ(t).
Know that uniform arrival times and uniform interarrivals are not the same thing.
Know that valid computer simulations do not produce outliers. End of discussion.
Know the inversion technique for non-stationary arrival times.
Know the thinning technique for non-stationary arrival times (what is its downside?)
What are consistency checks? How can they be used in V&V?
What are the authors' five phases of simulation development?
What is simulation validation?
What is simulation verification?
What is the computational model of a simulation?
What is the conceptual model of a simulation?
What is the specification model of a simulation?
Know how to computationally produce piecewise, cyclic, non-stationary arrival times.
Name two acceptable ways to validate a simulation.
When can a particular phase (concept, specification, computational, v&v) of simulation development be skipped?
Understand the steps in going from uniform arrival times to exponential interarrival times.
Understand the Simple Inventory System (SIS), it's assumptions and simplifications.
Understand the experimental design of the Simple Inventory System case study; how was an optimal s determined?
Know how the expected behavior or performance of an SSQ changes with varying levels of traffic intensity.
Know how to calculate traffic intensity and its connection to service rate.
Understand how a FIFO SSQ simulation can be written in a simple while loop and how ai and si can be manipulated for simple experiments.
Understand the canonical SSQ and appreciate its broad application to computer simulation.
Be familar with the job averaged statistics and time averaged statistics of an SSQ.
Know the four different types of queuing disciplines that might be used in an SSQ simulation.
What properties must an SSQ have in order to apply Little's Equations to its statistical measures.
Which of the SSQ time measures (there are 6) are timestamps and which are time intervals?
Is the relationship between traffic intensity and average queue length linear or non-linear?
Know how to use an appropriate indicator function in the proof of Little's Theorem.
Know the "pattern of the proof" using indicator functions to show Little's equations for SSQs.
Know the relationships between PMF/PDF and CDF for both discrete and continuous distributions.
Know the relationships between PMF/PDF, CDF, and InvDF. How do you derive one from another? Can this always be done?
Know how to manipulate and derive CDFs and PDFs of variables that are functions of a Uniform(a,b) input.
Know how to identify and create truncated probability distributions using an accept-reject technique.
Know the CDF search technique for creating discrete random variates.
Know the Equilikely(a,b) random variate: the meaning of its parameters, pmf, and CDF.
Know the Exponential(mu) random variate and the interpretation of its parameter mu in the context of arrival times.
Know the F(x) inversion technique for constructing random variates. What is the requirement on F(x)?
Know the Uniform(a,b) random variate: the meaning of its parameters, pdf, and CDF.
Know the three techniques for constructing a discrete random variate.
Know what the construction technique means for random variates (of which summation is one example).
Understand the problems with the often used and always flawed RandomInteger() mod SIZE programming pattern.
What does the parameter u in random variates represent? Computationally, how do we get a value for u in code?
An approximate function for which of f(x), F(x), or the inverse of F(x) is useful in the approximation technique?
Be able to recognize and apply the formulas of variate truncation by CDF modification.
Be able to use Von-Neumann's accept-reject algorithm as a variate technique for difficult to invert F(x)s
Know about the approximation technique for creating random variates --- what is a requirement of the approximating function?
Know the constrained inversion technique for truncated random variates.
Know the criteria by which variates are judged: portability, efficiency, clarity, syncronicity, ...
Know the difference between a random number and a random variate.
Know the setup of f(x), c, and g(x) of the general acceptance/rejection algorithm, how can it be another variate generation technique?
Know three techniques for truncating pre-existing random variates.
Be familiar with the numerical approach (Newton's Method) to random variate generation through the u=F(x).
Know the Geometric(p) random variate, it's parameter p, and it's connection to Exponential(mu)
Understand the game-play of the two card games in project War-and-Trash (due Wed 5 by 11:59PM).