ETHZ/FSM

From 2007.igem.org

< ETHZ(Difference between revisions)
 
(12 intermediate revisions not shown)
Line 1: Line 1:
-
=='''.:: Finite State Machine View on the System ::.'''==
+
[[Image:ETHZ_banner.png|830px]]
-
[[Image:FSM.png|thumb|350px|Figure 1: Graph representing the finite state machine.]]
+
<!--
 +
<center>[[ETHZ | Main Page]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Model | System Modeling]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Simulation | Simulations]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Biology | System Implementation]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Biology/Lab| Lab Notes]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Meet_the_team | Meet the Team]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Internal | Team Notes]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Pictures | Pictures!]]</center><br>
 +
-->
 +
__NOTOC__
 +
<html>
 +
<script type="text/javascript" src="http://christos.bergeles.net/eth_dropdowntabs.js">
 +
 
 +
/***********************************************
 +
* Drop Down Tabs Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
 +
* This notice MUST stay intact for legal use
 +
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 +
***********************************************/
 +
 
 +
</script>
 +
 
 +
<!-- CSS for Drop Down Tabs Menu #1 -->
 +
<link rel="stylesheet" type="text/css" href="http://christos.bergeles.net/eth_ddcolortabs.css" />
 +
<div id="colortab" class="ddcolortabs">
 +
<ul>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ" title="Home" rel="dropmenu_home"><span>Home</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model" title="Modeling" rel="dropmenu_modeling"><span>System Modeling</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation" title="Simulations" rel="dropmenu_simulation"><span>Simulations</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology" title="System Implementation" rel="dropmenu_biology"><span>System Implementation</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team" title="Meet the team" rel="dropmenu_meettheteam"><span>Meet the team</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Pictures" title="Pictures!" rel="dropmenu_pictures"><span>Pictures!</span></a></li>
 +
</ul>
 +
</div>
 +
<div class="ddcolortabsline">&nbsp;</div>
 +
 
 +
 
 +
<!--1st drop down menu -->
 +
<div id="dropmenu_home" class="dropmenudiv_a">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Team_Members">Team Members</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Acknowledgments">Acknowledgments</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Site_Map">Site map</a>
 +
</div>
 +
 
 +
 
 +
<!--2nd drop down menu -->
 +
<div id="dropmenu_modeling" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Model_Overview">Model Overview</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Detailed_Model">Detailed Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Final_Model">Final Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Modeling_Basics">Modeling Basics Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Mathematical_Model">Mathematical Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/FSM">FSM View Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/FlipFlop">Flip-Flop View Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Parameters">Parameters Page</a>
 +
</div>
 +
 
 +
<!--3rd drop down menu -->
 +
<div id="dropmenu_simulation" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Simulation_of_Test_Cases">Test Cases</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Sensitivity_Analysis">Sensitivity Analysis</a>
 +
</div>
 +
 
 +
<!--4th drop down menu -->
 +
<div id="dropmenu_biology" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#The_Complete_System">The Complete System</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#System_Phases">System Phases</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#Current_Cloning_Status">Current Cloning Status</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology/parts">System Parts Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology/Lab">Lab Notes Page</a>
 +
</div>
 +
 
 +
<!--5th drop down menu -->
 +
<div id="dropmenu_meettheteam" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team#The_ETH_Zurich_07_Team">The ETH Zurich 07 Team</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team#Team_Description">Team Description</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Internal">Brainstorming Page</a>
 +
</div>
 +
 
 +
<script type="text/javascript">
 +
//SYNTAX: tabdropdown.init("menu_id", [integer OR "auto"])
 +
tabdropdown.init("colortab", 3)
 +
</script>
 +
 
 +
</html>
 +
 
 +
__NOTOC__
 +
 
 +
=Finite State Machine View on the System =
 +
 
 +
[[Image:FSM.png|thumb|350px|<b>Fig. 1</b>: Graph representing the finite state machine.]]
The proposed system is best described by a [http://en.wikipedia.org/wiki/Mealy_machine Mealy machine], a special type of [http://en.wikipedia.org/wiki/Finite_state_machine finite state machines] (FSM). Mealy machines are defined by a 6-tuple, (''Q'', ''q''<sub>0</sub>, Σ, Λ, ''δ'', ''Ω''), with:
The proposed system is best described by a [http://en.wikipedia.org/wiki/Mealy_machine Mealy machine], a special type of [http://en.wikipedia.org/wiki/Finite_state_machine finite state machines] (FSM). Mealy machines are defined by a 6-tuple, (''Q'', ''q''<sub>0</sub>, Σ, Λ, ''δ'', ''Ω''), with:
* ''Q'' - a set of states, for the proposed system we use three different states (''q''<sub>0</sub> - not yet trained, ''q''<sub>1</sub> - trained to recognize chemical A,  ''q''<sub>2</sub> - trained to recognize chemical B)
* ''Q'' - a set of states, for the proposed system we use three different states (''q''<sub>0</sub> - not yet trained, ''q''<sub>1</sub> - trained to recognize chemical A,  ''q''<sub>2</sub> - trained to recognize chemical B)
Line 11: Line 98:
In detail, the transition function ''δ'' and the output function ''Ω'' look as follows:
In detail, the transition function ''δ'' and the output function ''Ω'' look as follows:
{| class="wikitable" border="1" cellspacing="0" cellpadding="2" style="text-align:left; margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;"
{| class="wikitable" border="1" cellspacing="0" cellpadding="2" style="text-align:left; margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;"
-
|-
+
|- align="center"
-
! inputs/states !! ''q''<sub>0</sub> !! ''q''<sub>1</sub> !! ''q''<sub>2</sub> !!
+
! ''δ'' : ''Q'' × Σ → ''Q'' !! ''q''<sub>0</sub> !! ''q''<sub>1</sub> !! ''q''<sub>2</sub> !! width="50" |
-
! inputs/states !! ''q''<sub>0</sub> !! ''q''<sub>1</sub> !! ''q''<sub>2</sub>
+
! ''Ω'' : ''Q'' × Σ → Λ !! ''q''<sub>0</sub> !! ''q''<sub>1</sub> !! ''q''<sub>2</sub>
-
|-
+
|- align="center"
! A+L          || ''q''<sub>1</sub> || ''q''<sub>1</sub> || ''q''<sub>1</sub> ||
! A+L          || ''q''<sub>1</sub> || ''q''<sub>1</sub> || ''q''<sub>1</sub> ||
-
! A+L          || ''green''        || ''green''        || ''blue''
+
! A+L          || ''cyan''        || ''cyan''        || ''green''
-
|-
+
|- align="center"
! A            || ''q''<sub>0</sub> || ''q''<sub>0</sub> || ''q''<sub>0</sub> ||
! A            || ''q''<sub>0</sub> || ''q''<sub>0</sub> || ''q''<sub>0</sub> ||
-
! A            || ''green''        || ''green''        || ''green''
+
! A            || ''cyan''        || ''cyan''        || ''cyan''
-
|-
+
|- align="center"
! B+L          || ''q''<sub>2</sub> || ''q''<sub>2</sub> || ''q''<sub>2</sub> ||
! B+L          || ''q''<sub>2</sub> || ''q''<sub>2</sub> || ''q''<sub>2</sub> ||
! B+L          || ''yellow''        || ''red''          || ''yellow''   
! B+L          || ''yellow''        || ''red''          || ''yellow''   
-
|-
+
|- align="center"
! B            || ''q''<sub>0</sub> || ''q''<sub>0</sub> || ''q''<sub>0</sub> ||
! B            || ''q''<sub>0</sub> || ''q''<sub>0</sub> || ''q''<sub>0</sub> ||
! B            || ''yellow''        || ''yellow''        || ''yellow''
! B            || ''yellow''        || ''yellow''        || ''yellow''
-
|-
+
|- align="center"
|}
|}
The resulting automaton is shown in Fig. 1. <br />
The resulting automaton is shown in Fig. 1. <br />
-
In its native state (''q''<sub>0</sub>), the system reacts on the presence of either chemical A or B by fluorescing ''green'' or ''yellow'', respectively. The system itself remains in state ''q''<sub>0</sub>. Only when the input chemical is combined with a learning signal (chemical L), it changes its state either to ''q''<sub>1</sub> (in presence of chemical A) or ''q''<sub>2</sub> (in presence of chemical B). In these two states, the system is able to distinguish between changing input: while the system is in state ''q''<sub>1</sub>, the system starts fluorescing ''red'' if confronted with chemical B and vice versa when the system is in state ''q''<sub>2</sub> and confronted with chemical A (it fluoresces ''blue''). In order to maintain the states ''q''<sub>1</sub> and ''q''<sub>2</sub>, the learning signal L has to be present all the time.
+
In its native state (''q''<sub>0</sub>), the system reacts on the presence of either chemical A or B by fluorescing ''cyan'' or ''yellow'', respectively. The system itself remains in state ''q''<sub>0</sub>. Only when the input chemical is combined with a learning signal (chemical L), it changes its state either to ''q''<sub>1</sub> (in presence of chemical A) or ''q''<sub>2</sub> (in presence of chemical B). In these two states, the system is able to distinguish between changing input: while the system is in state ''q''<sub>1</sub>, the system starts fluorescing ''red'' if confronted with chemical B and vice versa when the system is in state ''q''<sub>2</sub> and confronted with chemical A (it fluoresces ''green''). In order to maintain the states ''q''<sub>1</sub> and ''q''<sub>2</sub>, the learning signal L has to be present all the time.

Latest revision as of 14:26, 26 October 2007

ETHZ banner.png

 


Finite State Machine View on the System

Fig. 1: Graph representing the finite state machine.

The proposed system is best described by a Mealy machine, a special type of finite state machines (FSM). Mealy machines are defined by a 6-tuple, (Q, q0, Σ, Λ, δ, Ω), with:

  • Q - a set of states, for the proposed system we use three different states (q0 - not yet trained, q1 - trained to recognize chemical A, q2 - trained to recognize chemical B)
  • q0 - a start state, here we assume we start in a state where the system is not yet trained
  • Σ = {A+L, A, B+L, B} - an input alphabet
  • Λ = {green, red, blue, yellow} - an output alphabet
  • δ : Q × Σ → Q - a state transition function
  • Ω : Q × Σ → Λ - an output function

In detail, the transition function δ and the output function Ω look as follows:

δ : Q × Σ → Q q0 q1 q2 Ω : Q × Σ → Λ q0 q1 q2
A+L q1 q1 q1 A+L cyan cyan green
A q0 q0 q0 A cyan cyan cyan
B+L q2 q2 q2 B+L yellow red yellow
B q0 q0 q0 B yellow yellow yellow

The resulting automaton is shown in Fig. 1.
In its native state (q0), the system reacts on the presence of either chemical A or B by fluorescing cyan or yellow, respectively. The system itself remains in state q0. Only when the input chemical is combined with a learning signal (chemical L), it changes its state either to q1 (in presence of chemical A) or q2 (in presence of chemical B). In these two states, the system is able to distinguish between changing input: while the system is in state q1, the system starts fluorescing red if confronted with chemical B and vice versa when the system is in state q2 and confronted with chemical A (it fluoresces green). In order to maintain the states q1 and q2, the learning signal L has to be present all the time.