An Event-Driven Approach to Modeling Excitable Cells using Hybrid Automata Mike True, SUNY at Stony Brook A Joint Work with: Emilia Entcheva Radu Grosu.

Slides:



Advertisements
Similar presentations
Frequency modulation and circuits
Advertisements

Experiment 17 A Differentiator Circuit
Mean = 75.1 sd = 12.4 range =
LECTURE 12 Graded Potentials Action Potential Generation
Today’s Agenda  Stacks  Queues  Priority Queues CS2336: Computer Science II.
Comp 335 File Structures Indexes. The Search for Information When searching for information, the information desired is usually associated with a key.
Fundamentals of Python: From First Programs Through Data Structures
Learning Cycle-Linear Hybrid Automata for Excitable Cells Radu Grosu SUNY at Stony Brook Joint work with Sayan Mitra and Pei Ye.
Selection of Research Participants: Sampling Procedures
Genome-scale disk-based suffix tree indexing Benjarath Phoophakdee Mohammed J. Zaki Compiled by: Amit Mahajan Chaitra Venus.
Data Communication and Networks Lecture 2 ADTs in Protocol Design (Ring Buffer, Queue, FSM) September 16, 2004 Joseph Conron Computer Science Department.
Un Supervised Learning & Self Organizing Maps Learning From Examples
Andreas Klappenecker [based on the slides of Prof. Welch]
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Neural Networks. Background - Neural Networks can be : Biological - Biological models Artificial - Artificial models - Desire to produce artificial systems.
Buffer Management for Shared- Memory ATM Switches Written By: Mutlu Apraci John A.Copelan Georgia Institute of Technology Presented By: Yan Huang.
A Differentiator Circuit.  All of the diagrams use a uA741 op amp. ◦ You are to construct your circuits using an LM 356 op amp.  There is a statement.
Experiment 17 A Differentiator Circuit
Ch 8.1 Numerical Methods: The Euler or Tangent Line Method
Chapter 19 Linear Programming McGraw-Hill/Irwin
By : Himali Saxena. Outline Introduction DE-MAC Protocol Simulation Environment & Results Conclusion.
MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way
Dr.Sidra Qaiser. Learning Objectives Students should be able to: Define resting membrane potential and how it is generated. Relate Nernst Equilibrium.
Efficient Modeling of Excitable Cells Using Hybrid Automata Radu Grosu SUNY at Stony Brook Joint work with Pei Ye, Emilia Entcheva and Scott A. Smolka.
Time Parallel Simulations II ATM Multiplexers and G/G/1 Queues.
© 2011 Pearson Addison-Wesley. All rights reserved 10 A-1 Chapter 10 Algorithm Efficiency and Sorting.
Efficient Modeling of Excitable Cells Using Hybrid Automata Radu Grosu SUNY at Stony Brook Joint work with Pei Ye, Emilia Entcheva and Scott A. Smolka.
Data Structures Using C++ 2E Chapter 8 Queues. Data Structures Using C++ 2E2 Objectives Learn about queues Examine various queue operations Learn how.
+ Simulation Design. + Types event-advance and unit-time advance. Both these designs are event-based but utilize different ways of advancing the time.
An Optimal Cache-Oblivious Priority Queue and Its Applications in Graph Algorithms By Arge, Bender, Demaine, Holland-Minkley, Munro Presented by Adam Sheffer.
Biomedical Sciences BI20B2 Sensory Systems Human Physiology - The basis of medicine Pocock & Richards,Chapter 8 Human Physiology - An integrated approach.
Introduction to Artificial Intelligence (G51IAI) Dr Rong Qu Neural Networks.
CSC 211 Data Structures Lecture 13
Preventing Sudden Cardiac Death Rob Blake NA Seminar
Membranes & Receptors Chemical compounds & electricity are the medium through which, cells communicate! Analogous with information sent via electrical.
Comp 335 File Structures B - Trees. Introduction Simple indexes provided a way to directly access a record in an entry sequenced file thereby decreasing.
CS 61B Data Structures and Programming Methodology July 21, 2008 David Sun.
Neural Networks Steven Le. Overview Introduction Architectures Learning Techniques Advantages Applications.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Akram Bitar and Larry Manevitz Department of Computer Science
1 Modeling of Nonlinear Active Circuits Using FDTD Approach Iman Farghadan & Ahmad Fayaz Department of Electrical Engineering K.N.Toosi.
CSCE 411H Design and Analysis of Algorithms Set 6: Amortized Analysis Prof. Evdokia Nikolova* Spring 2013 CSCE 411H, Spring 2013: Set 6 1 * Slides adapted.
+ David Kauchak cs312 Review. + Midterm Will be posted online this afternoon You will have 2 hours to take it watch your time! if you get stuck on a problem,
Parallel and Distributed Simulation Time Parallel Simulation.
Learning Objectives Students should be able to: Define resting membrane potential and how it is generated. Relate Nernst Equilibrium potential for sodium,
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 23 Algorithm Efficiency.
Biology 201 Dr. Edwin DeMont St. Francis Xavier University Communication I: Nervous and Sensory Systems.
Hodgkin-Huxley Model and FitzHugh-Nagumo Model. Nervous System Signals are propagated from nerve cell to nerve cell (neuron) via electro-chemical mechanisms.
Measurements Measurements and errors : - Here, the goal is to have some understanding of the operation and behavior of electrical test instruments. Also,
C++ How to Program, 7/e © by Pearson Education, Inc. All Rights Reserved.
 Consists of the brain and spinal cord  Integrates and processes information by nerves.
1 Chapter-3 (Electric Potential) Electric Potential: The electrical state for which flow of charge between two charged bodies takes place is called electric.
1a.1 Parallel Computing and Parallel Computers ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006.
Amortized Analysis and Heaps Intro David Kauchak cs302 Spring 2013.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Ghent University Accelerating Event Based Simulation for Multi-Synapse Spiking Neural Networks September 13, ICANN 2006 Michiel D'Haene, Benjamin.
Object-Orientated Programming
Hybrid Automata as a Unifying Framework for Modeling Excitable Cells
Memory Management 6/20/ :27 PM
Priority Queues © 2010 Goodrich, Tamassia Priority Queues 1
Priority Queues Chuan-Ming Liu
Software Reliability Models.
Part-D1 Priority Queues
Presented by Rhee, Je-Keun
Adaptive Perturbation Theory: QM and Field Theory
Heaps & Multi-way Search Trees
The Heap ADT A heap is a complete binary tree where each node’s datum is greater than or equal to the data of all of the nodes in the left and right.
Presentation transcript:

An Event-Driven Approach to Modeling Excitable Cells using Hybrid Automata Mike True, SUNY at Stony Brook A Joint Work with: Emilia Entcheva Radu Grosu Scott A. Smolka Pei Ye

Excitable Cells Excitable cells are cells that respond to electrical stimuli with electrical signals known at the cellular level as Action Potentials (AP) An AP is fired by an excitable cell as an all-or-nothing response to an electrical stimulus external to the cell The sequence of events followed by an AP is for the most part independent of the magnitude of the stimulus Examples of excitable cells found in mammals include those found in cardiac tissue and neurons

Features of Action Potentials While the AP of excitable cells might vary greatly in duration and morphology, they generally exhibit the same major phases

The Full Hodgkin-Huxley Model

Hybrid Automata Models Differential equations are very expensive to compute directly in simulations Redefining our model such that all of the differential equations are linear (i.e., of the form δx = ax for some constant a) results in a significant performance improvement We propose an approach to simulation using Hybrid Automata (HA) models for cells

Hybrid Automata In our HA models, we divide AP into four different states, namely Resting, Stimulated, Upstroke, and Plateau The variables of each cell change with time in accordance with the set of differential equations associated with the cell’s current state When certain conditions are met, the HA will transition from one state to another To obtain improved performance, we add the restriction that all differential equations in all states must be linear

An HA Hodgkin-Huxley Model

Results for the HH Model

An Observation A simple simulator implementation for our HA models can be made by using Time-step Integration techniques This implementation can be improved after observing that the cell is non-responsive to external input in the Upstroke and Plateau states We can readily solve the differential equations for these states to compute how long the cell will spend in them This modification allows us to effectively ignore cells in these states for several thousands of time steps

An Event-Driven Model We associate an event with each cell to represent the next time that the cell requires processing and the type of processing required The correct ordering of events is maintained by storing events on a priority queue data structure

Types of Events Query_Neighbor: Uses time-step integration to update the cell’s variables considering the effects of neighboring cells and external stimuli (Resting and Stimulated states) Update_State: Requires a transition to the target state at the calculated time (Upstroke and Plateau states) Output_To_File: Dumps voltage values to an output file Begin/End_Stimulation: Applies/Removes stimulus currents from affected cells at the stimulus times

An Event-Driven Model Example

Priority Queue Implementation A standard data structure for implementing a priority queue would be a min-heap, where the time of the event would be the priority This data structure requires O(log 2 n) operations for insertions and removals, creating a large amount of overhead for Query_Neighbor events We propose a hybrid priority queue, where Query_Neighbor events are stored on two linked lists and all other events are stored on a min-heap

Performance Guarantees With n events on the min-heap, we can expect 2*n operations (one insertion and removal) while an event is on the heap. The total work is O(n log 2 n) operations. We can assume that each event is equally responsible for 1/n of this overhead, meaning each event is “charged” with O(log 2 n) units of work Because this work is spread throughout the entire time the event is on the min-heap, the amount of work per time-step is approximately (log 2 n)/s, where s is the number of time-steps the event spends on the min-heap

Performance Guarantees For the work required per cell per time-step in the Upstroke and Plateau states to exceed 1 unit, we would need n to be equal to 2 s Since typical values for s are in the thousands, a number of cells much greater than what can be stored in a computer’s memory system is required for this to occur In the worst case (all cells in the Resting and Stimulated states) the Time-step Integration model will outperform the Event-Driven model by a small factor related to the linked list overhead

Simulation Timing Results 400x400 Grid, 500 ms simulation (spiral wave): –Event-Driven model time: 1.7 hours –Time-step Integration model time: 9.05 hours –Speedup Factor: 5.33 Grids of various sizes, wave started in a corner: –Speedup Factor: about 1.25 –This would be considered a “worst-case scenario” for the Event- Driven model

Future Work “Putting cells to sleep” at resting potential, similar to the idea behind adaptive time-step techniques Develop tools to facilitate the rapid creation of simulators for models based upon HA specifications that use Event- Driven techniques