Updates and Results Talks and Posters Advice Ideas Important Figures Write-Ups Outreach How-To Funding Opportunities GENETIS
  GENETIS, Page 8 of 13  ELOG logo
New entries since:Wed Dec 31 19:00:00 1969
  ID Datedown Author Subject
  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    

 

  96   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    

 

  95   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    

 

  93   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    

 

  92   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.

  91   Mon Jul 20 17:01:35 2020 Alex MDaily Update 7/20/20
Name Update Plans for tomorrow
Alex M

The arasim jobs I submitted over the weekend kept failing. I've been looking for the cause but I can't pinpoint it right now. The issue arose on Friday when I overwrote the version of Report.cc on Eliot's user with the one we have on the databse branch (but I don't think there were realy differences aside from comments). Before I had done this, we were getting effective volumes that differed from the ones we got on the database branch. Now, the araSim jobs are just failing after 5 seconds of running. And now I'm getting an error when I try to recompile AraSim (I might need Eliot to do this?). 

I tried getting an interactive job so I could confirm that things are still working on the database branch, but I couldn't get it because it was blocked. I think that was because we had too many concurrent jobs running, which has happened a couple times over the past week-week and a half or so.

I need to track down why these AraSim jobs are failing. Besides maybe needing Eliot to make AraSim, one difference I noticed is that it appears we are sourcing Lauren's version of ANITA build tools rather than the one on the shared space. But I couldn't test this because I need to recompile AraSim. 
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  90   Fri Jul 17 18:09:16 2020 Alex MDaily Update 7/17/20
Name Update Plans for Monday
Alex M

We may have found the error in the asymmetric bicone. It appears there may have been two problems. First, the setup for the simulation_PEC.xmacro script in the asymmetric version appears to have been slightly different in that the positions of the cones, relative to the positions of the coordinate systems, are different from in the other versions of the loop. This was giving different uan and gain files than the previous runs did. We fixed this, but it revealed another potential issue: in order to evolve the separation distance, we need to make it so that the coordinate systems use the separation genes. This wasn't implemented in the asymmetric version, so there would have always been a disparity in the position of the cones relative to their coordinate systems when compared to the database version of the simulation_PEC.xmacro. I have a work around for when we don't evolve the separation distance, but if we want to evolve it we need to change this script.

Second, the version of Report.cc in AraSim on Eliot's user differed from the one in the database version. The other files agreed, so I copied our version into his directory and started a run with that. It's running now and should take ~1 hour before I can see if this has fully fixed the issue.

I might be out on Monday, but my main goal for next week is to see if the fixes we implemented today resolve the differences in effective volumes and evolved parameters. Once we have them in agreement, we can start a real run on the database version of the loop to get symmetric data for the paper. While that happens, we'll need to try fixing the asymmetric simulation_PEC script so that it can use the separation distances properly. Then we can test that again using those separation distance variables (I used a hardcoded value) to make sure we get correct results. After that we can merge the asymmetric branch with the database branch and then the database branch with master and get data for the asymmetric version of the loop.
Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  89   Thu Jul 16 15:18:32 2020 Alex PattonDaily Update 7/16/20
Name Update Plans for Tomorrow
Alex M

(See below the table for a review of the past couple of days since ELOG has been down.)
We may have found what was causing the error in Eliot and Leo's version. They were getting 0 effective volumes. I edited their output macroskeletons to use pro grid (I figured it was the default setting, but it looks like not). This seems to have fixed the issue with their .uan files having all 0s and 180s for the phase and -300 gain. However, it wasn't writing to the vEffective.csv and fitnessScores.csv files correctly. We realized they may have needed to recompile. We did that and ran a preliminary tset, where we got some promising results. The effective volumes and fitness scores seem to have been read out and plotted correctly, but they didn't appear to match the previous two runs Alex P and I did. That might be because we were messing around with the save state sloppily. Currently, Eliot is rerunning from the beginning with the intention of seeing if it will go all the way through generation 0 smoothly. From there, we'll need to compare the effective volumes and fitness scores with the previous two runs Alex P and I did (although I can confirm that the generation 0 DNA matches). Then we'll need to let it run for a few more generations to make sure it evolves the same individuals those two previous runs evolved.

If it looks like these fixes worked and the effective volumes are being made correctly and the same individuals are evolved as in the previous two runs Alex P and I did, then we'll be ready to start merging. The first step will be to fix a merge conflict on the asymmetric bicone branch. Then, we'll have to carefully merge and resolve merge conflicts. The order should be that the asymmetric bicone branch merges onto the database branch, which will then merge onto the master branch. Once that's done, we'll be able to do a proper run.

Alex P Worked with Alex, Eliot, and Leo to fix an error on Eliot and Leo's branch since we got both the normal and database version working on the Alex's branch. Had some problems with 0 vEffectives and saw that XF was giving 0 gains so searched through for a while to see what was different and had to enable PrOGrid, and then that made the vEffectives nonzero but it still seemed like they might have been too high. Get Eliot/Leo's branch working hopefully have test run overnight that shows that and then merge tomorrow is the plan.
Eliot    
Leo Like both Alexs said, Eliot and I worked with them to get our version to get the same results as their version. The main problem we worked on were the 0 vEffectives and fitness scores. We realized that the fitness scores and vEffectives were printing to the terminal, but not to the plots or .csv files. We check the fitness function called in the loop and it turned out we compliled to a wrong version. After recompiling the fitness score correctly Eliot started a new run and it is currently running over night. Tomorrow, we will take a look at Eliot's run to see how it did and find any other areas that may cause for different results between our's and the Alexs' runs.
Evelyn    
Ryan    
Ben    
Ethan Worked with Ben on running AraSim and fixing errors it would output  

Review of the past two days (wrt the bicone loop) since ELOG has been down:
Alex P and I were able to fix errors in the database version of the loop. It now evolves the same individuals as the original version (when using seeds). We want to test the asymmetric version, but we ran into some errors. First, we needed to add in the cutoff length and the change in Detector.cc to set negative gains equal to 0. Once we did that, we tried running but found some more errors. Specifically, the effective volumes coming from AraSim were all 0. We may have fixed the error today, but we're waiting for the run to finish the 0th generation to be able to tell.

 

  Draft   Mon Jul 13 15:35:06 2020 Alex PattonDaily Update 7/13/20
Name Update Plans for Tomorrow
Alex M

 

 

Alex P

The name of this run is Data_Base_Test_7_10.

The name of the previous run we are comparing against is Length_Cutoff_Test_3.

 
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  Draft   Mon Jul 13 15:34:40 2020 Alex MDaily Update 7/13/20
Name Update Plans for Tomorrow
Alex M

Alex and I continued running the loop for the database test. We ran into an error over the weekend that was affecting generations after gen 0. Alex fixed it this morning and continued the run. 

The goal of this run is to test the database. We are comparing it to the previous run we did last week to make sure that we get the same individuals. We're using the same parameters as the previous run: NPOP of 8, separation distance of 0.05 cm, and the same roulette algorithm (AKA the same seeds). In principle we should generate the same DNA for the individuals. 

Starting in generation 2, we have a divergence--one of the individuals is different from generation 2 of the previous run. We think this is because there is noise in AraSim (I don't think we can turn the noise off when we're using the effective volume). This makes the probabilities of choosing each individual different and allows different ones to be chosen even though the random number being selected is the same. Oveall it looks ok and we're going to keep the run going to see if it converges to the same individuals as the previous run after a few more generations.

I also wrote a bit in the paper. I took a look at the paper Amy sent on the effective volumes to try to understand it better. I think I understand it, but I'm trying to see how the equation we used in AREA in the proceeding is related (what the weights represent). 

We'll try finishing up this run and doing Eliot and Leo's run. If we can get results fast, we can start merging. Our intention is to start a real run on Wednesday. That would likely take ~1.5 days.
Alex P

I made a fix to the database over the weekend when I noticed it was incorrectly counting the array indexes for counting failures. And then I found an error in our output.xmacro generation when making one for the database with the simulation number fix and that xmacro wasn't using the right bounds. We got the database version working through multiple generations. On the second generation the individuals matched exactly to our previous run except one individual. Looking at the fitness scores of the previous run, the parent individual in the previous generation had a fitness score of .18 compared to 4's of other parents, so it's reasonable that it wouldn't get picked from another run of the algorithm. While the GA is seeded so that it makes the same changes when it picks the same parent individuals, the fitness scores vary slightly between these two runs which alter how the parent individuals get picked especially when it comes to smaller fitness scores like this. 
Also fixed an issue on Eliot and Leo's copy of AraSim, the extrapolation issue we found earlier hadn't been implemented on their branch so to make sure all the tests before merging were accurate we made that change.

The name of this run is Data_Base_Test_7_10.

The name of the previous run we are comparing against is Length_Cutoff_Test_3.

Continue running this overnight to get results and hopefully start merging tomorrow or at least start the process of setting up for the merge and finishing up any of these runs.
Eliot Began a final test run with constant separation to ensure 2 chromosome loop is working before we merge. Stopped during gen 0 to implement progrid in arasim. Thanks Alex M! Continued the run from just before arasim. Had very slow progress due to bad wifi connection. I kept getting kicked off OSC! So far everything looks good but wifi made for a shotty test at best. Name is FERSTL_20200713_PREMERGE_TEST. Lastly, commited one last time before we merge. Had some issues with that as always but believe I have it worked out. Will try to run a couple more gens on that run and begin merging with the Alexs.
Leo    
Evelyn    
Ryan Created a temporary mutation function to test to see if the convergence problem from Friday would be resolved. For the most part, it did resolve the problem and the function has not converged onto a single paperclip and the fitness scored being produced are higher than before. However, I noticed that in test runs with on average greater than ten individuals (usually) the individuals being chosen are the same every run regardless of fitness scores and it seems to be causing the scores to stall out. for example in a run of 100 generations the 90th-100th generations would only pick the 0th and 1st individual for all ten chosen. Even when seeding the random number generator, this appears to be happening and I am not sure why. Some runs with higher chances of mutations seemed to have this effect happen later than ones with low mutation chance but so far this just seems like a correlation and not causation.  Fix the aforementioned issue. Then, rework the mutation function to more closely model the one in bicone's roulette algorithm. 
Ben    
Ethan    

 

  86   Fri Jul 10 16:35:26 2020 Alex MDaily Update 7/10/20
Name Update Plans for Monday
Alex M

Yesterday we started a run of the database version of the loop. The goal was to use it to replicate the results from the run we finished yesterday using the same parameters (NPOP=8, SEEDS=10, bicone separation = 0.05 cm). We initially ran into problems with the databse which we fixed this morning. We successfully completed the 0th generation, but then the .uan files for the next generation weren't created properly. Alex and I will try to resolve this. Amy suggested we only need to run 6-7 generations to confirm that we get the same results as from the previous run. The 0th generation agreed with the 0th generation of the previous run (in terms of DNA; the effective volume/fitness score plots looked similar, but there is slight room for noise in AraSim so the exact values are slightly different; but overall they look very similar). I also confirmed that the generation DNA is the same in generation 1 of the current database run as in the previous run.

The name of this run is Data_Base_Test_7_10.

The name of the previous run we are comparing against is Length_Cutoff_Test_3.

The top priority right now needs to be with fixing the error in the database version that is causing the uan files to be made incorrectly. Once that is fixed, we can continue the run and confirm that we get the same results After that, we'll have Eliot and Leo run their version using the same parameters to confirm that they get the same results as the previous two runs. From there, we'll merge the branches and begin a real run.

The first real run will use NPOP=8, 3 dimensions (LRT), a separation distance of 3 cm, and will run for up to 15 generations. We'll also fix the issue of the mutation standard deviation (see yesterday's update for the three differences between our current runs and the future real runs). 

Our goal is to get as much real data as possible next week. I'm confident that we can have at least one with 3 dimensions (LRT) done by next Friday (we'll shoot for 15 generations, but if it seems to converge between 10-15 we can stop it). 

If we can finish that run, we can start another run using 4 dimensions, where we add an option to make the bicone assymetric in length (L1L2RT). These are the runs we're hoping to use in the paper.

Alex P    
Eliot    
Leo Today we looked at the results of our last run. This run consisted of 8 individuals and was set at 20 generations, but we just wanted to see how far it would evolve. We noticed that the error came from LRTS.py when we need to reshape the arrays from gensData.py in order to plot them. The error said that the array couldn't be reshaped because the new array's dimensions were too small. After digging around and rerunning with past save states, we were thinking that the issue wasn't with the code, but was actually an issue with generation the loop said it was on. For instance if we were on gen 5, LRTS thought we were on 4. Eliot was pretty sure this was because we had been interupted during part of our run, so Leo gave him the benefit of the doubt and decided to run again. This time we only ran 3 individuals up to the 1st generation, just to make sure the plots were working. Leo was running, making sure not to have any interuptions, and indeed all the plotting softwares worked. So, to the best of our knowledge our version of the loop is ready to go. Next week we are just waiting for the Alexs to finish up with their testing so we can start merging. We didn't have any plans to work on outside of that.
Evelyn    
Ryan Finished the crossover function for Paperclips and ran a few tests for the roulette + crossover. Tests seem to show that the paperclips quickly (between 3-5 generations ) converge to become the same paperclip and fitness scores (determined by z-curl) dropped off after the second generation. This is most likely due to the fact that currently there is no form of gene mutations written into the crossover function for repopulation and so the angles the segments can have are locked from the first selection. However, I am not 100% certain on this and there could just be a hidden error somewhere as at times in some (not all ) of the tests I did there were times where the roulette function passed many of the same paperclip to the next generation, therefore decreasing the size of the gene pool. I need to do further tests to be certain of one or the other but otherwise, everything seems to be working as intended.    The next step I plan on taking is creating a mutation function in effort to make the gene pool larger. It is likely that I will look at the bicone's roulette program to model this mutation but I am considering writing a simple one first just to run tests on the effect on the diversity. After this step is complete, I will move on to creating a function that is able to send certain amounts of the population to the tournament and the rest to roulette to see what mix gives the best results. I also as a pre-step to this may take the existing algorithms in paperclips and re-write them as functions rather than loops in main to make the passing of different parts easier and faster. 
Ben    
Ethan Continued documenting AREA project in google doc. Worked with Ben on getting AraSim running and fixing errors. Meeting with Ben to continue on AREA project. We may try to get AraSim run the children in parallel to make it go faster as it takes a very large amount of time currently.

 

  85   Thu Jul 9 16:54:27 2020 Alex MDaily Update 7/9/20
Name Update Plans for Tomorrow
Alex M

Finished running the loop for 15 generations. The last plots are on Dropbox under Length_Cutoff_Test_3. There are three things to fix before running this version of the loop again. See below the table.

We started running the next step, which is the database version. 

Julie, Ben, Ethan, and I all met to talk about AREA. We started going through the code to understand it, but we're stuck because we don't know if AraSim Lite is actually in the directory or not.

I started rewriting the AREA section.

I'll keep the run going, but I might have to stop it and look for bugs if the evolution doesn't track with the previous run. We named this one Data_Base_Test_7_9.

Alex P    
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

Three things to change before doing the next symmetric run (w/o database):

1. Change how the mutation is done. We have at least a partial solution to this--the standard deviations were all 1 due to type errors in c++. We already have a fix for this.

2. The bicone separation distance was too small (0.05 cm). We should increase it to 2-3 cm to represent an actual buildable bicone.

3. We kept the random number seeds in. This isn't a bug, but it's something we need to remember to change before we run this again.

  84   Wed Jul 8 15:09:42 2020 Alex PattonDaily Update 7/8/20
Name Update for Today Plans for Tomorrow
Alex M

Continued the run from yesterday. Alex P and I applied the changes we made to the bash script for fixing the bugs we found in the simulation number to the database version. Once we get 15 generations of data for this run we'll start testing the database version. Once that works we'll have Eliot and Leo run their version with only 3 genes and if we get the same genes all around we'll be able to merge the asymmetric branch with the database branch and then merge with master. I also fixed up a bug I found in one of the plotting programs that meant it was missing the first individual, it should be good now.

Ryan and I talked a bit about how to apply crossover and mutation to the paperclip. I'm not sure that crossover makes sense, but I think it's possible. He's going to start by doing crossover of the chromosomes and then when that's working he can try crossing over the genes (this is where I'm not sure things make sense, but who knows). Then he can implement mutation in that function.

Julie and I spoke with Ben about AREA and started helping him siftt through all the files. We're going to meet with Ethan tomorrow to catch him up to speed and start reviewing the bash script that runs all of AREA.

Finish this run, test the database. I'll meet with Julie, Ben, and Ethan to talk about AREA. Also, Eliot and Leo found a potential issue in the roulette algorithm that I asked them to look at, so we might try making a fix in there and see if that allows our mutations to be more reasonable. Alex and I are going to have to meet with Eliot and Leo soon so we can all work together on merging our branches and resolving merge conflicts.

 

Alex P Made a version of my c++ programs that detect whether an individual matches the database and logs that/writes to the database in a way that allows the number of genes to be a variable so that it can be compatible with new antenna designs. Then set to fix the scripts that used the database to fix the error of the right simulation numbers while continuing the current run so that we can test if the database version gives the same results and then will start running the database version and make sure it is good before we merge. Run database test and if it has any differences or bugs from the original, fix those before we merge. Also have Eliot and Leo run thiers but with just three parameters so that we can test and make sure the accuracy between all versions is the same and none have bugs present before we merge.
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

  83   Tue Jul 7 14:39:12 2020 Alex PattonDaily Update 7/7/20
Name Update for Today Plans for Tomorrow
Alex M

Found a bug while running the loop, fixed it and starting running again. Added a few things to the paper.

Alex and I will keep the loop running tomorrow. We're gonna try to meet with Eliot and Leo to work on implementing the bug fixes we've made into their version of the loop, then merge it with our branch. We need to add it to the database version too, and then after all of that we can merge with the master branch.
Alex P Now that length constraint is working properly ran a few generations and found a small error with the mutation calculation that allowed for the theta to go below zero, fixed that change and started a run to have a bugless run. Continue this run for 15 generations or so and then work on the merging process with Eliot and Leo's branch and then once that is working merge with master once we have confirmed the absence of bugs
Eliot    
Leo    
Evelyn    
Ryan    
Ben    
Ethan    

 

ELOG V3.1.5-fc6679b