Difference between revisions of "Team:HUST-China/Software"

 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{HUST-China}}
+
<html lang="en">
<html>
+
<head>
 +
<meta charset="utf-8">
 +
<title>HillSide Multi purpose HTML5 Template</title>
 +
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
 +
<meta name="description" content="" />
 +
<meta name="author" content="http://webthemez.com" />
 +
<link rel="stylesheet" href="http://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
 +
  <script src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
 +
  <script src="http://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
 +
<!-- css -->
 +
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
 +
<link rel="stylesheet" href="https://2018.igem.org/Team:HUST-China/materialize/css/materialize?action=raw&amp;ctype=text/css" media="screen,projection" />
 +
<link href="https://2018.igem.org/Team:HUST-China/css/bootstrap?action=raw&amp;ctype=text/css" rel="stylesheet" />
 +
<link href="https://2018.igem.org/Team:HUST-China/css/fancybox/jquery?action=raw&amp;ctype=text/css" rel="stylesheet">
 +
<link href="https://2018.igem.org/Team:HUST-China/css/flexslider?action=raw&amp;ctype=text/css" rel="stylesheet" />
 +
<!--slider-->
 +
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/Team:HUST-China/css/zoomslider?action=raw&amp;ctype=text/css" />
  
 +
<link href="https://2018.igem.org/Team:HUST-China/css/font-awesome?action=raw&amp;ctype=text/css" rel="stylesheet" />
 +
<link href="https://2018.igem.org/Team:HUST-China/css/animate?action=raw&amp;ctype=text/css" rel="stylesheet" />
  
 +
<link href="https://2018.igem.org/Team:HUST-China/css/style?action=raw&amp;ctype=text/css" rel="stylesheet" />
 +
<link href="https://2018.igem.org/Team:HUST-China/css/main?action=raw&amp;ctype=text/css" rel="stylesheet" />
 +
<!-- Vendor Styles -->
 +
<link href="https://2018.igem.org/Team:HUST-China/css/magnific-popup?action=raw&amp;ctype=text/css" rel="stylesheet">
 +
<!-- Block Styles -->
 +
<link href="https://2018.igem.org/Team:HUST-China/css/gallery-1?action=raw&amp;ctype=text/css" rel="stylesheet">
 +
<!--slider-->
 +
<link rel="stylesheet" href="https://2018.igem.org/Team:HUST-China/css/menu-slider?action=raw&amp;ctype=text/css" type="text/css" />
 +
<style type="text/css">
 +
.red-content{
 +
  color:#ff0057;
 +
  font-weight: bold;
 +
}
 +
.content{
 +
  padding-top:30px;
 +
  font-weight: 600;
 +
}
 +
.content-text{
 +
  margin: 8px 0;
 +
}
  
 +
th{
 +
  text-align:center;
 +
  font-size:14px;
 +
  font-weight: 800;
 +
}
 +
td
 +
{
 +
    text-align:center;
 +
    font-size:14px;
 +
    font-weight: 500;
 +
}
 +
</style>
 +
<style type="text/css">
 +
.jR3DCarouselGallery,.jR3DCarouselGalleryCustomeTemplate {
 +
  margin: 0 auto; /* optional - if want to center align */
 +
}
 +
</style>
 +
<style>
 +
.jR3DCarouselGalleryCustomeTemplate .captions{
 +
  position: relative;
 +
  padding: 4px 0;
 +
  bottom: 27px;
 +
  background: #eeeeee;
 +
  display:block   
 +
}
 +
.jR3DCarouselGalleryCustomeTemplate a{
 +
  text-decoration: none;     
 +
}
 +
</style>
  
<div class="clear"></div>
+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jR3DCarousel-min?action=raw&amp;ctype=text/javascript"></script>
 +
<!-- <script type="text/javascript" src="src/jR3DCarousel.js"></script> -->
  
 +
<script type="text/javascript">
 +
$(document).ready(function(){
 +
  var slideImages = [ {src: '../jRCarousel/images/01.jpg'},
 +
                    {src: '../jRCarousel/images/02.jpg'},
 +
                    {src: '../jRCarousel/images/03.jpg'},
 +
                    {src: '../jRCarousel/images/04.jpg'},
 +
                    {src: '../jRCarousel/images/05.jpg'} ]
 +
  //var jR3DCarousel;
 +
 
 +
  jR3DCarousel = $('.jR3DCarouselGallery').jR3DCarousel({
 +
    width: 550,    /* largest allowed width */
 +
    height: 320,    /* largest allowed height */
 +
    slides: slideImages /* array of images source */
 +
  });
 +
 
 +
  var carouselCustomeTemplateProps =  {
 +
        width: 550,        /* largest allowed width */
 +
        height: 320,        /* largest allowed height */
 +
        slideLayout : 'fill',    /* "contain" (fit according to aspect ratio), "fill" (stretches object to fill) and "cover" (overflows box but maintains ratio) */
 +
        animation: 'slide3D',  /* slide | scroll | fade | zoomInSlide | zoomInScroll */
 +
        animationCurve: 'ease',
 +
        animationDuration: 1900,
 +
        animationInterval: 2000,
 +
        slideClass: 'jR3DCarouselCustomSlide',
 +
        autoplay: false,
 +
        controls: true,    /* control buttons */
 +
        navigation: ''      /* circles | squares | '' */,
 +
        perspective: 2200,
 +
        rotationDirection: 'ltr',
 +
        onSlideShow: slideShownCallback
 +
         
 +
    }
 +
  function slideShownCallback($slide){
 +
    console.log("Slide shown: ", $slide.find('img').attr('src'))
 +
  }
  
<div class="column full_size">
+
  jR3DCarouselCustomeTemplate = $('.jR3DCarouselGalleryCustomeTemplate').jR3DCarousel(carouselCustomeTemplateProps);
<h1>Software</h1>
+
</div>
+
<div class="column two_thirds_size">
+
<h3>Best Software Tool Special Prize</h3>
+
<p>Regardless of the topic, iGEM projects often create or adapt computational tools to move the project forward. Because they are born out of a direct practical need, these software tools (or new computational methods) can be surprisingly useful for other teams. Without necessarily being big or complex, they can make the crucial difference to a project's success. This award tries to find and honor such "nuggets" of computational work.
+
  
 +
  })
 +
</script>
 +
 +
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
 +
<!--[if lt IE 9]>
 +
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
 +
    <![endif]-->
 +
</head>
 +
<body>
 +
<div id="wrapper" class="home-page">
 +
  <!-- start header -->
 +
  <header style="margin-top: 12px">
 +
        <div class="navbar navbar-default navbar-static-top">
 +
            <div class="container">
 +
                <div class="navbar-header">
 +
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
 +
                        <span class="icon-bar"></span>
 +
                        <span class="icon-bar"></span>
 +
                        <span class="icon-bar"></span>
 +
                    </button>
 +
                    <a class="navbar-brand" href="https://2018.igem.org/Team:HUST-China">
 +
                      <img style="height: 50px; width:auto;margin-top:-10px; padding:0;" src="https://static.igem.org/mediawiki/2018/c/cb/T--HUST-China--2018-menu-logo-white.png"></a>
 +
                    <a class="navbar-brand" href="https://2018.igem.org">
 +
                      <img style="height: 60px; width:auto; padding:0;margin-top: -13px;" src=" https://static.igem.org/mediawiki/2018/f/f0/T--UC_Davis--igemLogo.jpg"></a>
 +
                </div>
 +
                <div class="navbar-collapse collapse ">
 +
                    <ul class="nav navbar-nav">
 +
                      <li class="HillSide"><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China">Home</a></li>
 +
                      <li class="dropdown">
 +
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">PROJECT<b class="caret"></b></a>
 +
                          <ul class="dropdown-menu">
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/project/background">Background</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Description">Description</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Applied Design">Applied Design</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Safety">Safety</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Demonstrate">Demonstrate</a></li>
 +
                          </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">WETLAB<b class="caret"></b></a>
 +
                          <ul class="dropdown-menu">
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Experiments">Experiments</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Results">Results</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/wetlab/protocols">Protocols</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/InterLab">Interlab</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Notebook">Notebook</a></li>
 +
                          </ul>
 +
                      </li>
  
<br><br>
+
                      <li class="dropdown">
To compete for the <a href="https://2018.igem.org/Judging/Awards">Best Software Tool prize</a>, please describe your work on this page and also fill out the description on the <a href="https://2018.igem.org/Judging/Judging_Form">judging form</a>.
+
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">Model<b class="caret"></b></a>
<br><br>
+
                          <ul class="dropdown-menu">
You must also delete the message box on the top of this page to be eligible for this prize.
+
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Modeling overview">Modeling overview</a></li>
</p>
+
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/model_of_systems">Model of systems</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Sort of three genes">Sort of three genes</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Software">Software</a></li>
 +
                          </ul>
 +
                      </li>  
  
  
</div>
+
                      <li class="dropdown">
 +
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">PARTS<b class="caret"></b></a>
 +
                          <ul class="dropdown-menu">
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Parts Overview">Parts Overview</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Composite part">Composite part</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Part collection">Part collection</a></li>
 +
                          </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">HP<b class="caret"></b></a>
 +
                          <ul class="dropdown-menu">
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Human Practices">Human Practices</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Education_Engagement">Education&Engagement</a></li>
 +
                          </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                          <a href="#" data-toggle="dropdown" class="dropdown-toggle waves-effect waves-dark">TEAM<b class="caret"></b></a>
 +
                          <ul class="dropdown-menu">
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Team">Team Members</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Collaborations">Collaborations</a></li>
 +
                              <li><a class="waves-effect waves-dark" href="https://2018.igem.org/Team:HUST-China/Attributions">Attributions</a></li>
 +
                          </ul>
 +
                      </li>
 +
                    </ul>
 +
                </div>
 +
            </div>
 +
        </div>
 +
  </header>
 +
  <!-- end header -->
 +
  <!--
 +
  <section class="section-padding gray-bg" style="margin:15px; padding:15px;">
 +
    <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/2/2c/T--HUST-China--2018-menu-datu01.png">
 +
  </section>
 +
  -->
 +
<section id="inner-headline">
 +
  <div class="container">
 +
    <div class="row">
 +
      <div class="col-lg-12">
 +
        <h2 class="pageTitle">Software</h2>
  
<div class="column third_size">
+
      </div>
<div class="highlight decoration_A_full">
+
    </div>
<h3> Inspiration </h3>
+
  </div>
<p>
+
  </section>
Here are a few examples from previous teams:
+
</p>
+
<ul>
+
<li><a href="https://2016.igem.org/Team:BostonU_HW">2016 BostonU HW</a></li>
+
<li><a href="https://2016.igem.org/Team:Valencia_UPV">2016 Valencia UPV</a></li>
+
<li><a href="https://2014.igem.org/Team:Heidelberg/Software">2014 Heidelberg</a></li>
+
<li><a href="https://2014.igem.org/Team:Aachen/Project/Measurement_Device#Software">2014 Aachen</a></li>
+
</ul>
+
</div>
+
</div>
+
  
 +
  <section class="content">
 +
  <div class="container"> 
 +
        <div class="row">
 +
            <div class="col-md-12 content-text">
 +
                <div class="about-logo">
 +
                  <h3><strong>1. <span class="red-content">Abstract</span></strong></h3>
 +
                  <p>We build a software to capture the situation of our system and learn to decide what to do to interact our system in order to get a better electricity output. You can download our software <a href="https://github.com/Luofan-KK/Team_HUST_China">here.</a></p>
 +
              </div>
 +
            </div>
 +
            <div class="col-md-12 content-text">
 +
                <div class="about-logo">
 +
                  <h3><strong>2. <span class="red-content">Introduction</span></strong></h3>
 +
                  <p>Our software consists of two modules, the sensing module and learning module. Sensing module needs to obtain the condition of system based on the data of limited sensors. Learning module needs to learn according to the data from our model of system or the data from experiment, explore in the virtual environment or reality to learn how to make decision and memorize the knowledge. </p>
 +
                  <p>In application, the software will use sensing module to obtain the condition of system and use the knowledge learned by learning module to make decision.</p>
 +
              </div>
 +
            </div>
 +
            <div class="col-md-12">
 +
                <span class="red-content"><h3><strong>Sensing module</strong></h3></span>
 +
                <span class="red-content"><h4><strong>Algorithms used in sensing module</strong></h4></span>
 +
                <p class="red-content">Gradient descent<p>
 +
                  <p>Gradient descent is a iterative algorithm used find a local minimum of a function using gradient descent. If we want to fit a function h(X) (X is set of independent variable xi), loss function will be j(X). We will calculate the gradient of xi ∈ X : ∇j(X) and x<sub>(n+1)</sub>=x<sub>n</sub>-i*∇j(X).</p>
 +
                <p class="red-content">Mean Shift</p>
 +
                <p>
 +
                  Mean shift is a non-parametric feature-space analysis technique for locating the maxima of a density function, a so-called mode-seeking algorithm (Cheng et al. 1995)<sup>[1]</sup>. This algorithm will set a core whose radius is r, each data x in core will add the move vector:</p>
 +
            </div>
 +
            <div class="col-md-8 col-md-offset-1">
 +
                  <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/2/2d/T--HUST-China--2018-model-PSD001.png">
 +
            </div>
 +
            <div class="col-md-12">
 +
                <p>
 +
                  Each iteration will judge and calculate a new move vector until the coordinate of the core doesn’t move.</p>
 +
            </div>
 +
            <br>
 +
            <div class="col-md-12">
 +
                <span class="red-content"><h4><strong>Step of sensing module</strong></h4></span>
 +
                <p>Firstly, we will feed all variable’s initial value (X_0^all) and use our model to predict all variable’s value in next unit of time. Secondly, we feed the true value of variable that can be sensed (X^s).
 +
Then, we calculate the Euclidean Distance between our prediction and true value(||P_t^s [i]-X_t^s ||) and use it as weight1. Sp is the sum of predictions.</p>
 +
                <p>After that, we use mean shift algorithm based on the weight1 (||P_t^s [i]-X_t^s ||) to find several scores (SC). Next step is to sort possible predictions by weigh2, use gradient descent on top np predictions to get new possible prediction and kill last dp predictions. (np = new_rate *(max_prediction - sp),dp=dead_rate*sp). Finally the software start next iteration.</p>
 +
            </div>
 +
            <div class="col-md-8 col-md-offset-1">
 +
                  <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/4/46/T--HUST-China--2018-model-PSD002.png.PNG">
 +
            </div>
 +
 +
            <div class="col-md-12">
 +
                <span class="red-content"><h4><strong>Result</strong></h4></span>
 +
                <p>The result of sensing module is showing below, the true data is a simplified growth curve of Rhodopseudomonas, the figure shows our module works well.</p>
 +
 +
<div class="col-md-8 col-md-offset-1">
 +
                  <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/7/71/T--HUST-China--2018-model-software-001.gif">
 +
            </div>
 +
 +
            <div class="col-md-12">
 +
 +
                <span class="red-content"><h3><strong>Learning Module</strong></h3></span>
 +
                <p>We use Q-Learning method to learn how to make decision based on environment. Q-learning is a reinforcement learning method used in machine learning. It can learn a policy, which tells us what actions to take under what situations. It can handle problems with stochastic transitions and rewards, without requiring adaptations.</p>
 +
            </div>
 +
            <div class="col-md-8 col-md-offset-1">
 +
                  <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/1/16/T--HUST-China--2018-model-PSD003.png.PNG">
 +
            </div>
 +
 +
            <div class="col-md-12">
 +
                <span class="red-content"><h4><strong>Result</strong></h4></span>
 +
<p>The voltage can be held in high level in a relatively long time with the control of oxygen, carbon dioxide(even lactate if needed) input by learning module. The result shows that learning module’s participation makes voltage output more stable.</p>
 +
            </div>
 +
            <div class="col-md-8 col-md-offset-1">
 +
                  <img class="img-responsive" src="https://static.igem.org/mediawiki/2018/e/e8/T--HUST-China--2018-model-software-002.png">
 +
            </div>
 +
 +
          </div>
 +
       
 +
 +
    <div class="row">
 +
        <div class="col-md-12">
 +
            <div class="about-logo">
 +
                <h4><strong>Reference </strong></h4>
 +
                <p>[1] Cheng, Yizong (August 1995). "Mean Shift, Mode Seeking, and Clustering". IEEE Transactions on Pattern Analysis and Machine Intelligence. IEEE. 17 (8): 790–799. doi:10.1109/34.400568.</p>
 +
              </div>
 +
            </div>
 +
        </div>
 +
    </div>     
 +
</section>
 +
                                                         
 +
  <footer>
 +
    <div class="container" >
 +
      <div class="row">
 +
          <div class="copyright col-md-12" style="text-align: center;color: gray; font-size: 14px;">
 +
              <span>
 +
                College of Life Science & Technology<br>
 +
                Huazhong University of Science and Technology<br>
 +
                Add: 1037 Luoyu Road, Wuhan, Hubei, China; P.C: 430074<br>
 +
                Copyright &copy;2018 Huazhong University of Science & Technology. Produced By </span><a href="https://2018.igem.org/Team:HUST-China" target="_blank" style="color:white;">HUST-China</a>
 +
          </div> 
 +
      </div>
 +
    </div>
 +
  </footer>
 +
</div>
 +
<a href="#" class="scrollup waves-effect waves-dark"><img class="img-responsive" src="https://static.igem.org/mediawiki/2018/7/79/T--HUST-China--2018-menu-return-top.png"></a>
 +
<!-- javascript
 +
    ================================================== -->
 +
<!-- Placed at the end of the document so the pages load faster -->
 +
<!--
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery?action=raw&amp;ctype=text/javascript"></script>-->
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery-easing-1-3?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/materialize/js/materialize-min?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/bootstrap-min?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery-fancybox-pack?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery-fancybox-media?action=raw&amp;ctype=text/javascript"></script> 
 +
<script src="https://2018.igem.org/Team:HUST-China/js/jquery-flexslider?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/animate?action=raw&amp;ctype=text/javascript"></script>
 +
<!-- Vendor Scripts -->
 +
<script src="https://2018.igem.org/Team:HUST-China/js/modernizr-custom?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/Vendor-jquery-zoomslider?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/Vendor-jquery-isotope?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/Vendor-jquery-magnific-popup?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/Vendor-animate?action=raw&amp;ctype=text/javascript"></script>
 +
<script src="https://2018.igem.org/Team:HUST-China/js/Vendor-custom?action=raw&amp;ctype=text/javascript"></script>
 +
<script type="text/javascript">
 +
 
 +
</script>
 +
</body>
 
</html>
 
</html>

Latest revision as of 13:03, 22 November 2018

HillSide Multi purpose HTML5 Template

Software

Sensing module

Algorithms used in sensing module

Gradient descent

Gradient descent is a iterative algorithm used find a local minimum of a function using gradient descent. If we want to fit a function h(X) (X is set of independent variable xi), loss function will be j(X). We will calculate the gradient of xi ∈ X : ∇j(X) and x(n+1)=xn-i*∇j(X).

Mean Shift

Mean shift is a non-parametric feature-space analysis technique for locating the maxima of a density function, a so-called mode-seeking algorithm (Cheng et al. 1995)[1]. This algorithm will set a core whose radius is r, each data x in core will add the move vector:

Each iteration will judge and calculate a new move vector until the coordinate of the core doesn’t move.


Step of sensing module

Firstly, we will feed all variable’s initial value (X_0^all) and use our model to predict all variable’s value in next unit of time. Secondly, we feed the true value of variable that can be sensed (X^s). Then, we calculate the Euclidean Distance between our prediction and true value(||P_t^s [i]-X_t^s ||) and use it as weight1. Sp is the sum of predictions.

After that, we use mean shift algorithm based on the weight1 (||P_t^s [i]-X_t^s ||) to find several scores (SC). Next step is to sort possible predictions by weigh2, use gradient descent on top np predictions to get new possible prediction and kill last dp predictions. (np = new_rate *(max_prediction - sp),dp=dead_rate*sp). Finally the software start next iteration.

Result

The result of sensing module is showing below, the true data is a simplified growth curve of Rhodopseudomonas, the figure shows our module works well.

Learning Module

We use Q-Learning method to learn how to make decision based on environment. Q-learning is a reinforcement learning method used in machine learning. It can learn a policy, which tells us what actions to take under what situations. It can handle problems with stochastic transitions and rewards, without requiring adaptations.

Result

The voltage can be held in high level in a relatively long time with the control of oxygen, carbon dioxide(even lactate if needed) input by learning module. The result shows that learning module’s participation makes voltage output more stable.