Stochastic methods and algorithms
Instructor. Motoya Machida, Tennessee Technological University. (E-mail: mmachida@tntech.edu)Class meeting/zoom session. 10:45–12:25am (Tokyo time), Wednesday from June 11 until July 29, 2026. Lectures will be given in English, broadcasted live, and recorded for participants to watch later at their convenience. Meetings take place at the classroom (M-134), and zoom invitation will be sent to participants. While we encourage you to attend the class in person, you may choose to join the Zoom session remotely and take advantage of maximum flexibility. All other class presentation materials will be made available here.
Assignment and grading. Lecture note and report assignment will be a substantial portfolio of this special topic course. Report question(s) will be presented at the end of each meeting to follow up the class material. A short report must be completed individually in response to report question(s) and organized well for your own future reference. You should submit it in person at the beginning of next meeting or by email before the meeting; there will be no report assignment out of the last meeting on July 29. The course grade will be fully determined by these report assignments.
Generative AI policy for assignment. Generative AI resources are permitted for report assignment with intention of improving your original work. However, to ensure academic integrity you must disclose any portion of AI-generated material and provide proper attribution. This includes in-text citations, quotations, and references.
Description of the course. When a function of interest is intractable, one may view it as a density function proportionally, and seek the characteristics of function by Monte Carlo simulation. Stochastic methods and their algorithms become indispensable in designing iterative/recursive procedures with randomness, and they are often viewed as discrete-time stochastic processes. We begin with an introduction of Monte Carlo methods, explore various ideas of stochastic approach, and relate them to particular algorithms. Lecture presentation is interspersed with demonstrations in R. The tentative coverage of topics is listed as follows.
| Date | Lecture contents | lecture pdf | R code | r sources |
| June 17 | Motivation for stochastic methods/Rejection algorithm | lecture01.pdf | demo01.R | nm.r, search.r |
| June 24 | Markov chain Monte Carlo methods/Metropolis algorithm | lecture02.pdf | demo02a.R, demo02b.R | bwalk.r, metro.r, psrf.r |
| July 8 | Discrete structure and Gibbs sampler/Gibbs algorithm | lecture03.pdf | demo03.R | potts.r |
| July 15 | How long should you run it?/Perfect sampling algorithms | lecture04.pdf | ||
| July 22 | Hidden Markov model and dynamic decision making/Viterbi algorithm | lecture05.pdf | demo05.R | dynamic.r, hmm.r, needleman.r, gene57.txt, fli9.txt |
| July 29 | Brownian motion and sampling/Langevin algorithms | lecture06.pdf | bm.R | |
| TBD | Quantum computation and sampling/Shor's algorithm | lecture07.pdf |
R 4.x.x. R is free software/platform for statistical computing and graphics, and R code is made available for you to run it in your own machine. R can be installed on Windows, Linux, and Mac, and downloaded from CRAN R project. Each “command” is executed in an interactive manner, known as “interpretor,” and is requested in a form of “function.” For example,
> x <- c(3,1,2)is the instruction to create an array x which contains the values of 3,1,2.
R source files. R functions are prepared as external source files (usually with extension ".r" or ".R"), and must be sourced in R in advance with the command
> source("[script filename]")
Or, call it by
> source(file.choose())and choose a source file interactively.
Working directory. Your external source files must be found in the working directory and recognized by R. You can always change the working directory from R via [File]->[Change dir...]. Alternatively you can set the working directory by
> setwd("[pathname]")
Interactive demonstration on R Gui. Download idemo.r into your machine. You can open "R Gui" and define the function idemo() by executing
source(file.choose())and choosing the file idemo.r. Then we can run R code interactively line by line and start it with
idemo("xxxx.R")
or
idemo()by choosing the demo code xxxx.R.
R Studio. On top of R you may want to install R Studio. It is an integrated development environment (IDE) for R. Follow their instruction to download and install DESKTOP R STUDIO in your PC.
© TTU Mathematics