# EE5393

## Circuits, Computation and Biology

**Semester**: Spring, 2015

**Time**: Wed. and Fri., 2:30pm - 3:45pm. (*Also offered through UNITE*.)

### Syllabus

This course explores connections between engineering concepts — circuit theory, digital computation and distributed computing in particular — and biological systems. A broad theme is the application of expertise from the former to the latter — specifically, the application of algorithmic and computational expertise from circuit design to the analysis and synthesis of biochemical and neural systems.

This course is aimed at a wide audience: graduate students and upper-level undergraduates from engineering, computer science, mathematics, biology and the life sciences. No prior knowledge of engineering or biology is assumed; only basic college-level mathematics is required. While the course investigates a variety of topics from disparate fields, it does not attempt to survey the research exhaustively. Rather, it strives for depth and mathematical rigor in select areas.

Topics that are covered include:

#### Biology

- Analyzing and Simulating Stochastic Chemical Kinetics
- Computing with Molecular Reactions
- Computing Logical Functions
- Computing Iterative Functions
- Computing Stochastic Functions
- Digital Signal Processing

- DNA Strand Displacement Reactions

#### Circuits

- Nanoscale Switching Lattices
- Circuits with Feedback
- Logical Computation on Random Bit Streams
- Linear Threshold Logic

#### Computation

- Conditional Permutations
- Distributed Coordination
- Graph-based Data Structures for Boolean Functions
- Symbolic Boolean Data Structures
- Neural Computation

## Organization

### People

- Instructor: Prof. Marc Riedel (mriedel@umn.edu)

### Lecture

- Wed. and Friday, 2:30pm - 3:45pm, Keller Hall, 3-230

### Office Hours

- Mon. 1 - 3pm (
*or by appointment*)

### Text & Manuals

- No textbook is required.
- Research papers (in the form of PDFs) will be posted for most of the research topics that are covered.

### Grading

- Homework:
**80%**- best 3 of 4 homeworks

- Quizzes:
**20%**- 10 of them.

Letter grades will be assigned according to the following (absolute) scale:

A ≥ 90%, | A- ≥ 85%, | |

B+ ≥ 80%, | B ≥ 75%, | B- ≥ 70%, |

C+ ≥ 65%, | C ≥ 60%, | C- ≥ 55%, |

D ≥ 40% (or having a pulse), | ||

F < 40%. |

Even though the grading is quantitative and objective, we must state the following **university grading standards**. According to University policy, grades are assigned with the following meaning:

- A - Achievement that is outstanding relative to the level necessary to meet course requirements.
- B - Achievement that is significantly above the level necessary to meet course requirements.
- C - Achievement that meets the course requirements in every respect.
- D - Achievement that is worthy of credit even though it fails to meet fully the course requirements.
- S - Achievement that is satisfactory (equivalent to a C or better).
- F (or N) - Represents failure (or no credit) and signifies that the work was either completed, but at a level of achievement that is not worthy of credit, or was not completed and there was no agreement between the instructor and the student that the student would be awarded an incomplete.
- I (Incomplete) - Assigned at the discretion of the instructor when, due to extraordinary circumstances, a student is prevented from completing the work of the course on time. Assignment of an ‘‘I’’ grade requires a written agreement between the instructor and the student. ‘‘Extraordinary circumstances’’ are such things as hospitalization, serious car accidents, and major illnesses. They do not include excuses such as ‘‘working too much,’’ ‘‘took too many credits,’’ and so forth. Furthermore, an ‘‘I’’ can be assigned only when a small portion of the course remains to be completed.

## Lectures

Per UNITE policy, videos of the lectures can only be posted 10 days after the fact. Slides will be posted immediately.

- Jan. 21, 2015: Video, Slides. Topic: Random sampling of course topics, Part I.
- Jan. 23, 2015: Video, Slides. Topic: Random sampling of course topics, Part II.
- Jan. 28, 2015: Video, Slides. Topic: Logical Computation on Stochastic Bit Streams, Part I.
- Jan. 30, 2015: Video, Slides. Topic: Logical Computation on Stochastic Bit Streams, Part II.
- Feb. 04, 2015: Video, Slides. Topic: Logical Computation on Stochastic Bit Streams, Part III.
- Feb. 06, 2015: Video, Slides. Topic: Computing with Nanoscale Switches.
- Feb. 11, 2015: Video, Slides. Topic: Percolation in Nanoscale Switches.
- Feb. 13, 2015: Video, Slides. Topic: Chemical Kinetics.
- Feb. 18, 2015: Video, Slides. Topic: Stochastic Simulation of Chemical Kinetics.
- Feb. 20, 2015: Video, Slides. Topic: Cycle and Event Leaping
- Feb. 25, 2015: Video, Slides. Topic: Synthesizing Stochasticity with Molecular Reactions.
- Feb. 27, 2015: Video, Slides. Topic: Sequential Computation with Molecular Reactions.
- Mar. 06, 2015: Video, Slides. Topic: Oscillations and Iterative Computation with Molecular Reactions.
- Mar. 11, 2015: Video, Slides. Topic: Locking Chemical Computation.
- Mar. 13, 2015: Video, Slides. Topic: Graphical Data Structures.
- Mar. 25, 2015: Video, Slides. Topic: Conditional Permutations, Part I.
- Mar. 27, 2015: Video. Topic: Conditional Permutations, Part II.
- Apr, 01, 2015: Video. Topic: Conditional Permutations, Part III.
- Apr. 08, 2015: Video, Slides. Topic: Distributed Sorting, Part I.
- Apr. 10, 2015: Video, Slides. Topic: Distributed Sorting, Part II.
- Apr. 15, 2015: Slides. Topic: Distributed Counting.
- Apr. 17, 2015: Video. Topic: XOR Function, Part I.
- Apr. 17, 2015: Video. Topic: XOR Function, Part II.
- Apr. 22, 2015: Video. Topic: XOR Function, Part III.
- Apr. 24, 2015: Video. Topic: Neural Logic, Part I.
- Apr. 29, 2015: Slides. Topic: Circuits with Feedback, Part I
- Apr. 30, 2015: Slides, Video. Topic: Symbolic Timing Analysis.
- May 1, 2015: Slides. Topic: Circuits with Feedback, Part II.

## Quizzes

Quizzes are posted on the class Moodle page.

## Homeworks

- Homework 1, due Feb. 27, 2015
- Homework 2, due March 27, 2015
- Homework 3, due April 24, 2015
- Homework 4, due May 18, 2015

## Assigned Reading

### Computing with Probabilities

- W. Qian and M. Riedel, "Synthesizing Logical Computation on Stochastic Bit Streams,"
*Proceedings of the Design Automation Conference*, 2009. - W. Qian, H. Zhou, M. Riedel, and J. Bruck, "Transforming Probabilities with Combinational Logic,"
*IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems*, Vol. 30, No. 9, pp. 1279–1292, 2011. - M. Altun and M. Riedel, "Logic Synthesis for Switching Lattices,"
*IEEE Transactions on Computers*, Vol. 61, No. 11, pp. 1588–1600, 2012. - M. Altun and M. Riedel, "Synthesizing Logic with Percolation in Nanoscale Lattices,"
*International Journal of Nanotechnology and Molecular Computation*, Vol. 3, No. 2, pp. 12–30, 2011.

### Nanoscale Switches

- M. Altun and M. Riedel, "Logic Synthesis for Switching Lattices,"
*IEEE Transactions on Computers*, Vol. 61, No. 11, pp. 1588–1600, 2012. - M. Altun and M. Riedel, "Synthesizing Logic with Percolation in Nanoscale Lattices,"
*International Journal of Nanotechnology and Molecular Computation*, Vol. 3, No. 2, pp. 12–30, 2011. - C. E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits,"
*Transactions of the AIEE*, Vol. 57, pp. 713–723, 1938. - J. von Neumann, Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components, in
*Automata Studies*, C.E. Shannon and J. McCarthy eds., pp. 329–378, 1956. - E. F. Moore and C. E. Shannon, "Reliable Circuits Using Less Reliable Relays,"
*Journal of the Franklin Institute*, Vol. 262, pages 191–208, 1956.

### Computing with Molecules

- D. Gillespie, "Stochastic Simulation of Chemical Kinetics,"
*Annual Revue Physical Chemistry*, Vol. 58, pp. 35–55, 2007. - A. Arkin, J. Ross and H. McAdams, "Stochastic Kinetic Analysis of Developmental Pathway Bifurcation in Phage lambda-Infected Escherichia coli Cells,"
*Genetics*, Vol. 149, pp. 1633–1648, 1998 - D. Gillespie, "Stochastic Simulation of Chemical Kinetics,"
*Annual Revue Physical Chemistry*, Vol. 58, pp. 35–55, 2007. - H. Jiang, A. Salehi, M. Riedel, and K. Parhi, "Discrete-Time Signal Processing with DNA,"
*ACS Synthetic Biology*, to appear, 2013. - J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities," Proceed

ings of the National Academy of Sciences*, Vol. 79. pp. 2554–2558, 1982.*

### Data Structures and Computation

- J. Aspnes, M. Herlihy, and N. Shavit, "Counting Networks,"
*Journal of the Association for Computing Machinery*, Vol. 41, No. 5, pp. 1020–1048, 1994. - R. E. Bryant, "Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams,"
*ACM Computing Surveys*, Vol. 24, No. 3, pp. 293–318, 1992. - M. Barrington, " Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Languages in NC1,"
*ACM Symposium on Theory of Computing*, pp. 1–5, 1986. - M. Cook, Networks of Relations,
*Ph.D Dissertation*, Caltech, 2005. - M. Riedel and J. Bruck, "Tolerating Faults in Counting Networks," Chap. 12,
*Dependable Network Computing*, Kluwer, 2000.