| |
ID |
Date |
Author |
Subject |
|
|
96
|
Mon Jul 27 16:52:20 2020 |
Alex M | Daily 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 M | Daily 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 M | Daily 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 |
|
|
|
|
|
92
|
Tue Jul 21 17:01:58 2020 |
Alex M | Daily 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. |
|
|
93
|
Wed Jul 22 16:00:18 2020 |
Alex M | Daily 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 |
|
|
|
|
|
91
|
Mon Jul 20 17:01:35 2020 |
Alex M | Daily 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 |
|
|
|
|
|
80
|
Thu Jul 2 15:03:39 2020 |
Alex Patton | Daily Update 7/2/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked with Alex to change the roulette algorithm to implement a cut on the minimum length for the Antennas. Amy showed that we don't want to generate antennas which are shorter than 37.5 cm in length (for each cone, so a total of 75 cm all together) because anything shorter than that won't be reliably simulated in XF for our frequency range. To do this, we made the roulette algorithm reselect individuals in the 0th generation if they were below this length. When it's making new individuals for the next generation, we made it so that the algorithm doesn't apply mutations that would make the antenna smaller than the minimum length (but we may revisit this with other methods, like letting the individual die if its below that length).
Spoke to Ben about AREA. He can run it, but there are some errors, and it looks like the job was killed when we tried submitting it to the queue. We'll have to see if we can track down some of the errors.
|
Alex and I will try to run the loop using our changes to the roulette algorithm and see what the new individuals look like and if the effective volumes are reasonable. |
| Alex P |
Worked on converting the c++ programs I made for database to work with a variable amount of genes rather than just LRT. After that Amy met with Alex and me and discussed the proper length to limit the antennas to and then worked with Alex to put a clamp within the roulette algorithm on both the initial generation and the generation of lengths through mutation. Then deciding to just cut the individuals that have too low lengths and discussing how that would be implemented. |
Will continue to implement and test the changes to clamping the length by eliminating low length individuals and once that is sorted start working on being able to make our changes work on other branches too so we can start to merge. |
| Eliot |
|
|
| Leo |
|
|
| Evelyn |
|
|
| Ryan |
|
|
| Ben |
|
|
| Ethan |
|
|
|
|
|
90
|
Fri Jul 17 18:09:16 2020 |
Alex M | Daily 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 Patton | Daily 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:34:40 2020 |
Alex M | Daily 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 |
|
|
|
|
|
Draft
|
Mon Jul 13 15:35:06 2020 |
Alex Patton | Daily 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 |
|
|
|
|
|
86
|
Fri Jul 10 16:35:26 2020 |
Alex M | Daily 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. |
|
|
|
79
|
Wed Jul 1 16:18:35 2020 |
Alex M | Daily Update 7/1/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked to make the frequency plots up to ~2.5 GHz. Amy said we should put a cut off for the length of the antennas based on the minimum frequency, but right now I'm not sure how to find what that minimum length should be based on the frequency (we should be using the lowest frequency for this calculation though, since it corresponds to the highest minimum length). |
I'll keep looking at how to figure out the minimum length and implement it into the loop. |
| Alex P |
|
|
| Eliot |
Implemented the asymmetric radius and separation parameter throughout the rest of the loop. Began a first test. |
Will check on and fix any errors and either tonight or tomorrow do a run for Alex to see about length convergence. |
| Leo |
|
|
| Evelyn |
Continued working on code academy, got about 3/4 of the way done |
Try to finish the code academy class before my free trial runs out! |
| Ryan |
Fixed the issues in the roulette function from Monday and integrated it into the rest of the code. seems to be running fine so far. |
Next step is to code in a user input for how many of ten individuals get selected by tournament vs roulette. Once this is complete I will try to run some tests and probably try to have the results output to a file to save results for comparisons. |
| Ben |
|
|
| Ethan |
|
|
|
|
|
65
|
Tue Jun 9 15:00:09 2020 |
Alex Machtay | Daily Update 6/9/20 |
| Name |
Today's Update |
Plams for Tomorrow |
| Alex M |
Alex P and I kept working on finding differences in AraSim between antennas. We still haven't found any and we've checked: electric field, maximum peak voltage, effective height, threshold (factor and offset), and the fft (and maybe more I'm forgetting). I'm not sure where to go from here in investigating AraSim.
I tried running the loop with a smaller grid size to see if we could get some more comparisons, but I ran into errors that I need to resolve.
Julie and I resolved some comments on the paper.
|
|
| Alex P |
Went through more of AraSim after more of Amy's comments. Found V_forfft and they were the same between individuals and then looked for other information to compare but what is interesting is that with the smaller grid spacing on the smaller antennas we have two generations with the exact same dimensions and the smaller grid spacing had lower vEff across the board, such as the larger grid spacing on small antennas had 4 individuals with a vEffective above 5 but the small grid spacing didn't have any that got above 5. So it is possible that the zero vEffective for the small antennas wasn't an error but that the larger fitness scores were the error. |
Plan is to continue to look into how grid spacing affects the vEffectives especially of smaller antennas and also make sure the grid spacing we were using for the larger antenna is appropriate and then look into the automatic grid spacing whether we can do it within XF or by having it automatically update the Xmacro based off the lengths |
| Eliot |
|
|
| Leo |
|
|
| Evelyn |
|
|
| Ryan |
|
|
|
|
|
78
|
Tue Jun 30 17:12:32 2020 |
Alex M | Daily Update 6/30/20 |
| Name |
Update for Today |
Plans for Tomorrow |
| Alex M |
Continued looking in XF for why the frequency where two antennas separated by a small amount give the same gain. I made a script which plots the gain at each frequency for a chosen number of individuals at a specific polar angle and used it on two antennas, one with a separation of 0.01 cm and one with a separation of 0.005 cm. The plots look similar, but there is some difference--see the genstudents slack. |
I'll continue to work on figuring out the frequency where these antennas start to give the same gain. Our ultimate goal is to find a minimum length for the antennas to cut off at so that we don't evolve antennas that are too small. |
| Alex P |
|
|
| Eliot |
Made little progress on the separation gene throughout the loop, however we know where all we need to make changes(I think). |
Should be able to make significant strides in regard to separation throughout the loop(ie plotting, fitness function, etc). Hopefully can also begin testing and debugging. |
| Leo |
|
|
| Evelyn |
|
|
| Ryan |
|
|
| Ben |
|
|
| Ethan |
|
|
|
|
|
77
|
Mon Jun 29 15:57:41 2020 |
Alex Patton | Daily Update 6/29/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked with Alex P to look at the different gain patterns for antennas with different separation distances. We found that there wasn't a clear frequency where they started to agree--looking at the average frequency gain plots we sent on slack, they look very different. We're trying to resimulate them with some higher frequencies to see the pattern more clearly and find where they start to agree. |
I should be able to finish making those frequency plots in the morning. I think I'm going to try spending some time with Karoo tomorrow and see what Julie's been able to figure out. |
| Alex P |
Looking at differences between small antennas and how the spacing affected their gains to see where differences occurred and saw at 350 MHz is last one where bigger spacing is better and after that it seems like the smaller spacing is better at 366.7 MHz and above. We checked and it actually flips back and forth between which is better and couldn't find a real pattern there. Switched to make an average gain plot for each frequency to see a pattern in the average gain since the 3D graphs use color and sometimes it can be hard to tell by how much the differences are. |
Continue to work with the spacing to find which frequencies cause problems for antennas according to their sizes. |
| Eliot |
Implemented the option of an asymmetric radius within the GA. Now, our new gene (separation) is the only gene without the possible asymmetry. This is because an asymmetric separation wouldn't do anything as the separation in XF(ie its offset from the origin) does not constitue a physical significance in AraSim. |
Leo and I will begin to implement the separation gene throughout the remainder of the loop. |
| Leo |
|
|
| Ryan |
Continued working on the roulette function for paperclips1.0.1.cpp. Ran into some issues with returning an array. |
Debug the roulette function, maybe test if I get everything working and sent to the correct places. |
| Evelyn |
|
|
| Ben |
|
|
| Ethan |
|
|
|
|
|
75
|
Thu Jun 25 15:22:50 2020 |
Alex Patton | Daily Update 6/25/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked with Alex P on figuring out why we keep evolving towards small antennas. We think it's because the initial angle is so large, and the standard deviation of makes it more difficult to bring the antenna within the confines of the hole by mutating the angle than by mutating the the length. So we started a run with a much lower angle (pi/24 instead of pi/12) to see if that yields antennas which are longer with better effective volumes.
I also edited some more of the paper and added in a few citations, but I'd like to make sure that those citations are written correctly (for example, I couldn't find the eprint for all of them).
|
I'll keep this run going tomorrow and monitor it while I write some more in the paper. Now that we have a better understanding of the xmacros and can have debugged a lot, we can probably start a real run soon and I can write some more details in the PAEA section of the paper. Also, since I'm better acquainted with XF, I think I'll be able to get images of the bicones from there to put in the paper. |
| Alex P |
Running and ran into some errors with XF solver. Found a fix to it but came into a possible oversight. So I think one reason why we keep getting this trend towards lower antennas is that the initial thetas from the 0th generation in the GA are too large and that makes it so all the longer lengths end up making too wide antennas which get penalized and hence why it tends toward small because while we do have mutation to make different thetas it only varies by so much and I think the opening angles are just too large to start in the distribution. This doesn't fully solve why the small antenna tend to give higher results than expected but it still is a problem because it's causing all the larger gen 0 antenna to get a zero fitness score because they are almost always too large. Currently if all the mean values in the distribution were used to make gen 0, the outer radius would be way bigger than the hole by a factor of 2. |
Started run with change to the GA to have a lower theta as the mean in the distribution. Will see if this starts to favor the larger antennas. Possibly look more into why that XF solver error was being caused and effects of changing the spacing between cones on the bicone. |
| Eliot |
|
|
| Leo |
Today we started work on adding seperation as a 4th gene. We updated the GA and tested it in a mini bash successfully. We then moved onto editing the Xmacros scripts and tested using a GUI. |
Tomorrow we plan to move onto the fitness funciton and plotting scripts. |
| Evelyn |
|
|
| Ryan |
|
|
|
|
|
133
|
Wed Jun 23 16:34:10 2021 |
Ethan Fahimi | Daily Update 6/23/2021 |
| Name |
Progress |
Plans |
| Alex M |
|
|
| Lydon |
|
|
| Ryan |
|
|
| Ben |
|
|
| Ethan |
With Alex M's help, managed to get AREA working, plotted results. |
The results look relatively flat, possibly the GA is unoptimized, may need work. |
| Parker |
|
|
| Elliot |
|
|
| Leo |
|
|
| Evelyn |
|
|
|
|
|
74
|
Tue Jun 23 14:37:07 2020 |
Alex Patton | Daily Update 6/23/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked with Aelx P on running the loop with decreasing grid spacing. I also worked in the XF GUI some more and figured out how to make 3D gain plots (per Cade's suggestion) and tried comparing different grid sizes for a single antenna with proGrid on.
|
Alex P and I are gonna meet with Cade tomorrow to talk about XF some more so we can figure out where progrid is having an impact and decide on what the best idea is for making sure we get the correct effective volumes out of AraSim. |
| Alex P |
Continued today running the loop and while we had the next level of smaller grid spacing running, tested how to get the PrOGrid working and managed to get a script that would work with it. We got rid of the grid size variable but kept cell size as a constant. Although there should also be an option to make cell size automatically set via PrOGrid and there are other options that you can enable PrOGrid to handle as well so we may need to mess with more to find which are valuable. |
Figure out how PrOGrid affects vEff compared to the variety of Grid sizes we've tested and also look at this for larger antennas too. Possibly tweek more settings too |
| Eliot |
|
|
| Leo |
After testing the GA outside the loop with a initial generation, it was still giving the same "stoped" error. We thought it might be getting stuck in an infinite loop somewhere and decided to add a few flags to get a better idea of where. We found in was during a section that checks that Tourney_pop+Roulette_pop=NPOP but this was never achieved so it was getting stuck. This is because we had 5 individuals and had tournement proportion set to .5 with an NPOP of 5, so we think the GA didn't know what to do with 2.5 individuals in each. To fix this we changed tournement proportion to .4 so we would get 2 and 3 individuals in each. We then did a run and noticed that tournement was having some issues. So, we ran with tournement proportion at 0 and are going to fix tournement later. We ran, but our second generation was interupted in XF by someone else's run. We waited a few hours for people to finish and ran again at night. |
Check on results of last run to see what other errors need fixing. Also, check on tournement and try to fix those errors. |
| Evelyn |
|
|
| Ryan |
|
|
|
|
|
73
|
Mon Jun 22 13:52:32 2020 |
Alex Patton | Daily Update 6/22/20 |
| Name |
Today's Update |
Plans for Tomorrow |
| Alex M |
Worked with Alex to run XF with smaller grid spacing. We're down to 0.001 cm, but below that we were getting long times on the XF GUI that made it seem like it was hanging. I also investigated XF from a Pitzer desktop to see how to use the progrid setting. I can get the scripts to load--I checked that the original one is indeed making a bicone and that Eliot and Leo's makes an asymmetric bicone.
Helped Ryan some more with the paper clip. We're taking it step by step, so the next thing he'll want to do is make sure he can get the function for the roulette algorithm to be called correctly in the paperclip script and have the correct information passed to it (like the fitness scores).
|
I'm gonna continue investigating XF from the pitzer desktop to see how the progrid works. When Alex and I finish this generation of the loop, we'll try putting the progrid in an see what the results from XF are to compare it to the results frmo previous generations when we explicitly set the grid size. |
| Alex P |
Along with continuing runs of XF to find optimal grid spacing also looked through the HTML files in the XF directory to find the scripting documentation. Found where the PrOGrid options were along with the other features PrOGrid enables. Currently we have other variables that use our Grid Size as an input so we would have to find a way to replace those to work with what PrOGrid generates. |
Continue to check on status of grid size for our current runs and its affects, we might have found a cut off point so we can go back and find the optimal spacing for small sizes before swtiching to tests with large sizes. And possibly start experimenting with PrOGrid since we can compare the output it gives to an array of different grid spacings to see if it would need any tweeks. |
| Eliot |
Continued debugging the Loop to work with 2 chromosomes ie 5 parameters. Ran inside and outside the loop trying to find the error. Finally, we placed a number of flags throughout and determined the error to be within the GA. It is inside the roulette function. We will edit this tomorrow. |
Edited the roulette selection as needed. There is also an error in tournament, but for now we turned it off and are focused on testing the updated roulette. |
| Leo |
|
|
| Evelyn |
|
|
| Ryan |
Debugged the Roulette algorithm and have it running. But, I need to check the Gaussians against the paperclips tournament to refine it and make sure I can get a fitness score for the paperclips. |
Get fitness scores for the paperclips and begin to compare to tournament. |
|
|