commit a751a454fa07856526d89105b37c1d5d7bd803d5
parent a98a715793c8f678e09e22c3db8ff06569f98d49
Author: Dominik Schmidt <das1993@hotmail.com>
Date: Sat, 30 Jun 2018 17:05:04 +0000
Guess also the cluster, not only the optimal time.
Diffstat:
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/www/index.cgi b/www/index.cgi
@@ -20,10 +20,10 @@ Content-Type: text/html
text-align:center;
font-size:x-large;
}
- #status.off #guessTime{
+ #status.off .guess{
display:none;
}
- #guessTime{
+ .guess{
font-size:large;
}
#power{
@@ -51,29 +51,31 @@ Content-Type: text/html
<div id="status">
<div id="power"><img src="off.svg" /></div>
<div id="delta_t"></div>
- <div id="guessTime"></div>
+ <div id="guessTime" class="guess"></div>
+ <div id="guessProg" class="guess"></div>
</div>
<script type="text/JavaScript">
<!--
delta_t=${RTIME};
function updateDisplay(){
var g=document.getElementById("guessTime");
+ var g2=document.getElementById("guessProg");
var dt=document.getElementById("delta_t");
var st=document.getElementById("status");
var txt="";
- var txt2="";
var classn="";
if(delta_t < 0){
txt="since "+timeSince(-delta_t);
classn="off";
}
else{
+ c=guessCluster(delta_t);
txt="since "+timeSince(delta_t);
- txt2="The crystal ball guesses: "+timeSince(Math.round(guessTimeLeft(delta_t)))+" left"
+ g.textContent="The crystal ball guesses: "+timeSince(Math.round(guessTimeLeft(delta_t)))+" left";
+ g2.textContent="Guessed program lasts "+timeSince(Math.round(c.mean));
classn="on";
}
dt.textContent=txt;
- g.textContent=txt2;
st.setAttribute("class",classn);
st.getElementsByTagName("img")[0].setAttribute("src",classn+".svg");
}
@@ -102,6 +104,20 @@ Content-Type: text/html
}
}
+ function guessCluster(elapsed){
+ var max=-Infinity;
+ var maxc={};
+ for(var i=0; i<clusters.length; i++){
+ var cluster=clusters[i]
+ var prob=cluster.apriori*(1-cluster.cdf(elapsed));
+ if(prob>max){
+ maxc=cluster;
+ max=prob;
+ }
+ }
+ return maxc;
+ }
+
function guessTimeLeft(elapsed){
return guessTime(elapsed)-elapsed;
}