Updates and Results Talks and Posters Advice Ideas Important Figures Write-Ups Outreach How-To Funding Opportunities GENETIS
  GENETIS, Page 9 of 14  ELOG logo
  IDdown Date Author Subject
  111   Mon Oct 5 21:06:29 2020 EveryoneData Runs

Machtay_20200831_Asym_Length_and_Angle    10 individuals
Machtay_20200911_Symmetric                             10 individuals, fewer neutrinos
Machtay_20200914_Asymmetric_50_Individuals  50 individuals, fewer neutrinos
Machtay_20200929_Asymmetric_test_2               50 individuals, fewer neutrinos, broaden parameter range

 

  Draft   Mon Oct 5 17:34:32 2020 Leo DeerUpdate Monday 10/5/2020
Name Update Plans for Monday
Alex M

 

 
Alex P   Finish up mutation function and then make sure it functions properly, currently our added functions all compile but we haven't tested if they are functioning as intended yet. Also have some questions about handling the standard deviations in mustations but first we want to get it functioning before applying more tweaks
Eliot Worked on learning about 3D plotting in python. Made a simple surface plot that can be expanded upon for our purposes.  
Leo Fixed the averge Fscore Plot so that it connects the mean values with a line instead of making them discrete points. Then I made Kai's plot suggestion. For that I copied the current FScore plotting software and made some edits so that it takes in 2 runs and plots the fitness scores of both in either red or green along with the average fitness score of both. I'll attach images of what these 2 plots look like. For Friday I'm going to look over the other plotting suggestions but most likely begin on fixing the random seperation in the RLTS plots.
Evelyn    
Ryan    
Ben    
Ethan    

 

Attachment 1: FixedFScore.png
FixedFScore.png
Attachment 2: RedPlot.png
RedPlot.png
  109   Fri Oct 2 17:11:25 2020 Ethan FahimiUpdate Friday 10/2/2020
Name Update Plans for Monday
Alex M

 

 
Alex P    
Eliot    
Leo Today I started working on improving the plots. I started with plotting the average fitness score for each generation on top of all the individuals data points. I made the average fitness score a star with higher contrast so it will stand out. Here is the plot of the first 26 generations of the "Machtay_20200914_Asymmetric_50_Individuals" run with the new averages. On monday I'm going to try and create the plot of  2 runs overlaid on top of eachother as Kai suggested.
Evelyn    
Ryan Worked with Ben and Alex P. on making the Bicone function modular on our copy. We finished writing a new roulette selection function, tournament selection function, and reproduction function.  Finish writing the mutation and crossover functions. After these are complete apply these functions in place of the existing function that is wrong and test to make sure the results are not producing errors. 
Ben    
Ethan Updated the AREA code with Alex M's help to work using SLURM. Began a trial run to see if our updates work. Begin making changes that allow the job to run faster as well as investigate what is causing some individuals to have fitness scores beyond what should be physically possible.
Attachment 1: Screen_Shot_2020-10-02_at_5.39.33_PM.png
Screen_Shot_2020-10-02_at_5.39.33_PM.png
  108   Mon Sep 14 17:23:26 2020 Alex MGENETIS Update 9/14/20

I just wanted to give an update on what I've been doing today for GENETIS. I went ahead and recorded myself running the loop. It should be useful for new people we're onboarding but I also went through a whole generation, which I think is interesting for everyone to understand the timescale of each part of the loop. I'm making a small edit (I have no clue how to edit videos haha) so once I'm done I'll try to send it via email and post it on slack. I also started a long run Amy requested using antennas which are asymmetric in length and opening angle and 50 individuals per generation. Since it has so many individuals it will take a long time to go through each generation. I also had to decrease the number of AraSim jobs (thus increasing the number of neutrinos per job) because otherwise we'd be submitting too many jobs and have a lot of them blocked, holding us back from running. If anyone has problems with me using up too many jobs let me know and I can try to decrease the numer of jobs per individual futher (right now I have 10 jobs per individual with 3000 neutrinos per job, which gives us 500 AraSim jobs per generation).

  107   Wed Sep 9 17:28:54 2020 Alex MUpdate 9/9/20
Name Update Plans for tomorrow
Alex M

I've been working on readying the loop for the transition to slurm. OSC is switching from its current job managing software (torque/moab) to slurm, which uses some different commands but is functionally similar. Since we have places where jobs are called in the script, I've been changing them (with a backup copy of those files that we know works on torque). 

Right now I'm testing all of the changes I've made on the space OSC has set aside for playing with slurm. I have changes in all of the places I think they belong, but I need to make sure there aren't typos/different commands from what I've used. 

I'll keep testing the changes I've made for slurm. I'll also try to organize some of the dfferences I've found in using slurm vs torque (for example, requesting an interactive job) so that everyone can see them and be able to find out what to use when OSC makes the switch (Pitzer changes on the 22nd, Owens is in November I think).
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  106   Mon Aug 31 18:32:21 2020 Alex MDaily Update 8/31/20
Name Update Plans for tomorrow
Alex M

I started working on the slides for our meeting with Wolfgang this Friday. I'll share it via one drive/email/slack tomorrow for comments from everyone.

Over the weekend I finished the asymmetric length run. I still have a couple of fixes to make on plotting scripts, so I'll update those plots tomorrow after making the fixes. I also started a new run today using both an asymmetric length and an asymmetric opening angle. The plots aren't automatically uploading to dropbox anymore because we hit our limit, so I'll have to add them manually. You can see the asymmetric run on dropbox under  Machtay_2020_08_27_Asymmetric_Length_Real_Run(SECOND REAL RUN).

I'll finish up and share rthe power point with everyone and then fix up the plotting scripts and continue the current run. I also need to try getting onto the UW super computer in advance of the ARA bootcamp on Wednesday/Thursday. 
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan Futher worked on documentation of the genetic algorithm. Ben is currently doing a big run to test the program. Once the big run is finished, we will look at the data and attempt to fix any issues that may arrise.

 

  105   Fri Aug 28 16:31:56 2020 Alex MFirst Results Slides

Here's a power point I showed today at the GENETIS meeting for the two most recent runs we did. The first run was symmetric and we ended it at 15 generations. The second one is ongoing and is shown up through generation 9 on the power point.

Attachment 1: GENETIS_Meeting_Loop_Results_2020_08_24.odp
  Draft   Fri Aug 21 15:19:10 2020 Ryan DeboltFriday Updates
Name Update Plans for next week
Alex M    
Alex P    
Eliot    
Leo    
Evelyn    
Ryan This week I completed work on a set of graphs that shows many instances of of a run type on a graph to show the spread that runs give. I am still working on finishing up the plots that show averages of roulette to tournament for each sigma but the should be finished soon.   Finish the aforementioned plot.
Ben    
Ethan Ben and I spent the week working on two seperate python scripts, one to plot the fitness scores of each child in each generation, and another to replace dummy Veff scores with Veff scores found in another file. We also updated the documentation on OverLeaf. On monday we will continue to keep updating the documentation as well as continueing to imporve AREA.
  Draft   Tue Aug 11 19:56:45 2020 Alex MDaily Update
Name Update Plans for tomorrow
Alex M

I worked on fixing the AraSim issue today. I think I have it resolved. Essentially, I made a second set of flags that the loop will look for and use the first set of flags to tell the loop which error files to look at to look for the phrase "segmentation fault." If it sees that phrase, it resubmits the job. Otherwise, it makes the second flag. Once all of the flags have been made, the loop can move on. I tested it by manually putting the phrase inside one of the error files to make sure it would catch it and resubmit the job. 

I started a new run (partly to further test the fix, but primarily to get real data). It has the fixes we discussed last week at the GENETIS meeting (ex: mutations shouldn't repeat anymore).

I'm going to be out tomorrow and Thursday so someone needs to pick up my run. I'll make sure I open permissions tonight so that anyone can run it tomorrow. If you have questions you can slack me, but I probably won't be able to respond til super late.

If there are issues with AraSim jobs failing without resubmitting, see the instructions below.

Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

Instructions for persisting AraSim errors:

Even if we still have the problem where AraSim jobs fail and the fix doesn't catch them, you can still run the loop as long as you manually step back in the loop. Here's what you have to do:

1. Exit the loop (ctrl-c).

2. Clear the following directories in the RunName directory: AraSimFlags, AraSimConfirmed, (gen)_AraSim_Errors, (gen)_AraSim_Outputs. 

3. Revert the save state (second number goes to 5). This let's you resubmit the AraSim job.

4. Run the loop again (make sure you're still in an interactive job).

  102   Mon Aug 10 16:12:28 2020 Alex MDaily Update 8/10/20
Name Update Plans for Tomorrow
Alex M Over the weekend I tried making some fixes we discussed. I fixed the roulette algorithm (the symmetric version) so that the random number generator is only set once and then passed to functions. It will now print the values in the generator to files to be plotted. I tried running the loop over the weekend with these fixes but the AraSim jobs kept failing. So today I consolidated the two loops and I started working on a fix for AraSim that will automatically check if an AraSim job fails in real time while the loop is running and resubmit it so that we don't get stuck waiting for the jobs to rerun.  I'm going to finish the AraSim fix tomorrow and then try starting a run. I'm going to be out on Wednesday and Thursday, so I'll need someone else to keep the run going.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan Created a program that combed through all the files, got the average high score of each set of parameters, and saved that information in a master file to quickly use for finding which parameters worked best.  Create the programs to make the desired graphs we wanted.
Ben    
Ethan    

 

  101   Fri Aug 7 14:16:01 2020 Alex MDaily Update 8/7/20
Name Update Plans for Monday

Alex M

   

Alex P

   

Eliot

   

Leo

   

Evelyn

   

Ryan

   

Ben

   

Ethan

   

 

  100   Wed Aug 5 16:08:40 2020 Alex MDaily Update 8/5/20
Name Update Plans for Tomorrow
Alex M

Continued running the loop up to gen 15. I also adjusted the LRTPlot script so that it can slightly spread the points along the generation axis so that you can see overlapping points, but I still need to implement this in the loop. 

Helped Ryan design the bash script for running through paperclip many times. It's working and he ran it for a while to get ~1000 outputs checking the performance of different mutation sizes. Next he'll parse through them to find what sigma appears best.

Amy suggested that I make it possible for the roulette algorithm to record the mutations and parents for each individual so that we can get a better sense of the history of the evolution, so I'll work on that tomorrow. If it looks to be working, I'll start a run with an asymmetric length.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan Completed bash script for automating runs and generated 1100 txt and csv (each) files of runs to be able to see how the ratio of roulette to tournament and standard deviation in the mutation function affect the fitness scores after 100 generations.  Work on writing a program to go through the txt files and collect the information of the highest fitness score, stored in line 6 of each one,  and figure out which combination of parameters gives the highest average.
Ben    
Ethan    

 

  99   Tue Aug 4 17:30:09 2020 Alex MDaily Update 8/4/20
Name Update Plans for tomorrow
Alex M I've continued the run I started yesterday. I ran into a bug where the LRT plots weren't being made but it should be fixed now. The loop is on generation 10, but it hasn't really converged or shown a clear pattern. We'll keep this run going until at least gen 15 probably. If we finish this run, I can start another run using the asymmetric version. The goal would be to do a similar number of generations using the asymmetric length first, followed by adding on the asymmetric opening angle.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  98   Mon Aug 3 16:39:56 2020 Alex MDaily Update 8/3/20
Name Update Plans for Tomorrow
Alex M I fixed the issues I outlined a little while ago that we needed to resolve before starting a real run. I started a real run with 10 individuals for up to 20 generations using the database for a symmetric bicone. The name of the run is Machtay_20200803_Master_Symmetric_Database_Real (whew!). Right now it's on gen 2 and plots are on drop box (see the link at the bottom).  I'm going to keep the run going and hopefully be most of the way to 10 generations by the end of tomorrow. Julie and I also discussed some potential improvements that can be made to the loop. For one, there's some consolidation and cleaning up that should be done of the main directory. We were also speculating about a way that we could quickly see when AraSim jobs fail and rerun them in real time rather than waiting for all the jobs to finish to realize we need to rerun.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan Continued working on the bash script to automate runs for paperclips.  Finish the bash script and do the runs and start combing through the results. 
Ben    
Ethan    

Dropbox link: https://www.dropbox.com/home/GP_Antennas/Updates/DailyFitnessScoreImages/Machtay_20200803_Master_Symmetric_Database_Real

  97   Thu Jul 30 15:36:54 2020 Alex MDaily Update 7/30/20
Name Update Plans for Tomorrow
Alex M

Tested the database setting for the symmetric loop. It ran well and gave correct results, so all that's left to test is the asymmetric loop (going to start that momentarily). 

Julie and I helped Ben and Ethan set up a git repository for AREA and gave a brief review of using git.

Assuming that the asymmetric setting isn't too dificult to get working on the master branch, I'll be able to start collecting real data. I'll need to implement the fixes I outlined last week on Wednesday (see the ELOG post), but those should be quick changes. I'll start by using the database for a symmetric bicone with 10 individuals per generation.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  Draft   Mon Jul 27 16:52:20 2020 Alex MDaily Update 7/27/20
Name Update Plans for Tomorrow
Aelx M

Leo, Julie, and I merged the two dev branches (Antenna_Database and asymBicone) onto master. I think I resolved all of the conflicts and successfully merged. I'm going to start testing by running each setting (original, database, and asymmetric) through generation 1 to make sure that they give the correct results as the previous test runs and that they have all of the correct files they need to run correctly. Once I'm done with this I'll implement the changes I outlined last week (on the 21st I think) and begin a real run.

I helped Ryan with the paperclip algorithm. We found the error in the roulette algorithm and it now gives results comparable to tournament mode. There is a bug that needs to be fixed (Ryan changed a variable to be taken as an input, but it's giving different results when we input the same values as it had before and neither of us can tell why) but otherwise the script looks much better than last week with the roulette fix. 

I'm going to finish getting confirmation that the master branch works for each of the settings for the loop. Then I'll be ready to implement the fixes and start a real run, beginning with the symmetric setting with the database. 
Alex P    
Eliot    
Leo    
Evelyn    
Ryan Issues with low roulette fitness scores have been resolved (there was just an issue with checking the sum compared to the random number) and it has comparable scores to tournament after similar amounts of runs. Then I started work on fine-tuning the mutation function. Early results seem to suggest that having a high mutation rate gets closer to the optimal score faster but lower mutation rates will get closer given longer amounts of time. Finally, Alex concluded that the max fitness score for these paperclips is 9 (or more specifically one less than the number of segments), and some runs after 1000 generations are reaching into the 8.99*** for high scores and averages. So the goal for me this week is to try to reach that point faster (hopefully within 100 gen).  Continue fine-tuning parts of paperclips to find optimal methods. If I reach that, write a bash script to autorun tests. 
Ben    
Ethan    

 

  Draft   Fri Jul 24 16:25:06 2020 Alex MDaily Update 7/24/20
Name Update Plans for Monday
Alex M    
Alex P    
Eliot    
Leo    
Ryan    
Evelyn    
Ben    
Ethan    

 

  94   Thu Jul 23 16:44:05 2020 Alex MDaily Update 7/23/20
Name Update Plans for Tomorrow
Alex M

Leo and I continued working on the roulette algorithm for the asymmetric bicone to try to get the evolved generations to match the original and database ones. We went through the mutation part of the algorithm and made sure we were rrunning all of the random number sequences in the correct order (for example, we need to make sure that if we define variables A and B from a random number generator, that in both cases we define A first, then B). We also had to make sure that we were using these random sequences the same number of times (for example, we don't want to define A once in the original/database versions and twice in the asymmetric version when the asymmetric version is set to evolve symmetric antennas--this puts the random number generator "off sequence" relative to how it is in the original/database version). We tested this with the gen 0 DNA and effective volumes (which matched with the results from the original/database runs) to evolve generation 1 and got it to match. I'm currently running the loop to test this over multiple generations.

Julie and I met with Ben to talk about AREA. Yesterday, Ben was able to generate the 0th generation of individuals and then run AraSim from a job to get effective volumes. Today, we focused on editing the scripts to work for OSC job submissions (he wrote the one he used yesterday; we modified the main script today and will continue to do so). We edited it so that we could submit the main script as a job which then submits other jobs for the arasim portion and waits for those jobs to finish before continuing on (since it needs those effective volumes for its fitness score). We're going to keep incrementally fixing the main script so that it can run over multiple generations as a job submission without errors.

I have a doctor's appointment in the morning, but maybe Leo can continue my current run. Once it's done, optimally we would work with Julie to get everything merged so that we can start a real run (we also have to implement the changes I outlined in the ELOG post a couple days ago before we do a real run/merge--most of those are pretty simple).

Julie and I will take a look at the paperclip script Ryan's been writing to see if we can help him figure out why the roulette algorithm is giving such worse fitness scores than the tournament algorithm (~ fact of 2 worse). 

Alex P    
Eliot    
Leo Alex covered it above for the most part. I just worked with him today trying to correct roulette so we get the same DNA for gen 1. Just to reiterate, the last step that was hanging us up was making sure the new GA used the random number generator the same amount of times and in the same order as the old GA. After that, Alex started another run to make sure everything is running smoothly.  Tomorrow, Alex and I will make sure the results for the first few generations match. Then, Alex, Julie and I will move on to merging.
Evelyn    
Ryan    
Ben    
Ethan    

 

  Draft   Wed Jul 22 16:00:18 2020 Alex MDaily Update 7/21/20
Name Update Plans for Tomorrow
Alex M Leo and I worked on the roulette algorithm to figure out why the new individuals being formed are different in the asymmetric bicone version of the loop than the original and database versions. We made some fixes, but we came across a complicated problem. Essentially, we think that the difference is coming down to the different number of times the random number generator is being called. Oddly, we can get the lengths that are generated to be the same. But getting all of the genes to be the same would require substantial reworking of the structure of the roulette algorithm and how to do it isn't obvious. We can keep trying to figure it out, but the restructuring was important to allow the mutations to occur on either chromosome (vs in the original and database versions, where we just have one chromosome to mutate, here we need to allow for more mutations since we have up to 6 genes). In principle though, I feel like this is possible, just difficult and requires substantial rewriting. I'll keep looking at the roulette algorithm to see how we can get the same new individuals as the previous two runs. Julie and I were also planning on meeting with Ben about AREA to better understand how to run it properly, 
Alex P    
Eliot    
Leo    
Evelyn    
Ryan I fixed the bugs that I was having yesterday and the algorithm should run more properly. I also added functionality for sending certain parts per ten individuals to either tournament or roulette. However, neither function is getting "optimized" results by 100 gens (though the tournament is significantly closer than roulette in isolation) with the highest fitness score I have been able to get was ~8.65. But, I also do not know what the theoretical max fitness score, given the parameters, would be.  Find out what an optimized fitness score's value would be so I know how close I am to achieving that. Run preliminary tests to see what combinations work best for now.
Ben    
Ethan    

 

  Draft   Tue Jul 21 17:01:58 2020 Alex MDaily Update 7/21/20
Name Update Plans for tomorrow
Alex M I replaced AraSim on Eliot's user with the one we have on the shared space since I wasn't able to compile his yesterday. It compiled correctly and I ran the loop but got the same results from last week (effective volumes that differed from the ones we got in the original and database test runs). I found one potential error in the seed we were passing to AraSim from the loop, so I'm currently running with that fix. I'm hopeful, but not convinved it will fix things because the setup.txt files on each version of AraSim looked the same before I made this fix. Regardless of whether or not it fixes the problem, it was a problem so it was important to run with that fix. This also gives me another thing to add to the list of changes to make before doing a real run. You can find the list below. I'll continue this run for 4-5 generations if it looks like it's working just to confirm that we're getting agreement with the previous runs. If it agrees, I can turn my attention to either merging or doing a real run. I can do a real run without merging, but it depends on if Amy wants me to merge first or not. Eliot gave me his account info for OSC and github so I should be able to merge correctly (hopefully I can meet with Julie over this so we can make sure we don't have a problem) but it might take me some time to resolve the conflicts.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan Worked on rewriting certain parts of the paperclips code so that it runs better. Fix the bugs in the code.
Ben    
Ethan    

Here's the list of changes to make when doing a real run (undo some of these when doing a test run):

1. Change the separation distance from 0.05 cm to 2-3 cm.

2. Remove the seed in AraSim by changing the setup.txt file so that Random_Mode = 1 instead of 0.

3. Add noise to AraSim (unless Amy says not to?) by changing the setup.txt file so that Trig_Analysis_Mode = 0 (or whatever the setting is--see the comments).

4. Make sure all of the frequency lists are the same! I think this has largely been resolved, but basically there was a time when the frequencies we were using differed from those used by AraSim for the actual bicone. We changed our lists to agree with the AraSim one, but I think there could be a few lists floaitng around (potentially just commented out) that I'm going to want to take our or correct.

5. Remove the seeds from the roulette algortihm. To do this, search for where "seed" is used and comment out the one that has 1 as an argument and comment in the one that uses time(0). Also, do the same for srand().

6. Fix the exponent in the calculation of the standard deviation of the genes in the roulette algorithm. Right now it has an integer division error, so the exponent becomes 0 leading to all the sigmas being 1. This is an easy fix--I'll just change 1/2 to 1.0/2.0.

I haven't made these changes yet because we are testing and want to confirm that we get the same results from the asymmetric version with the original and database versions. Since those didn't have these fixes, I haven't put them into the asymmetric version yet either.

ELOG V3.1.5-fc6679b