devosoft / avida Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://avida.devosoft.org
Home Page: http://avida.devosoft.org
Hi there,
for demonstration purposes, I am trying to visualize the color grid of avida-viewer in hardware using an Arduino and an RGB LED matrix. While tinkering on how to capture the grid I came across the "DumpGenotypeColorGrid" switch in events.cfg. However, I cannot figure out the meaning of the values dumped in the respective files as I am unable to map them 1:1 to the graphical output of avida-viewer when inspected side-by-side and also don't understand their format.
Could you please provide some info on the format/encoding of these values? Or did I get the switch wrong and the files are not actually what I am looking for?
Ideally, I'd like to get some RGB-encoded color values that I can simply parse and forward to my Arduino via serial connection.
Thanks a lot in advance!
Nico
I apologize if this isn't the correct forum for this, but I haven't been able to find anything about how to do something like this anywhere.
In the maintenance of sex in changing environments paper, the authors mention that they create a changing environment by randomly selecting a resource to change from a nutrient to a poison and a resource to change from a poison to a nutrient.
I would like to make a similarly fluctuating environment and wanted to know how those random changes were created. I assume it would be in the "Events" file, but I haven't been able to figure out how to create a code or script to randomly select the resources to change.
Thank you in advance! I'm very interested in the possibility of using this software.
The Windows branch seems to have difficulty with mutexes.
Disclaimer, I'm a web developer and my experience with C language/Xcode anything is minimal. However, I'd like to be able to play around with this lovely project. Basically, I'm looking for the quickest way to launch this thing, any help would be appreciated.
FYI, the binary here didn't seem to work: http://avida.devosoft.org/ -- First a config not found error, then segmentation fault when opening from command line.
Anyways, here's what I've done. The script to build_avida
seemed to go okay.
#!/bin/sh
git submodule init
git submodule update
mkdir -p cbuild
cd cbuild
cmake "$@" ../
make -j 10 install
But opening up the Xcode project and building resulted in an error.
Ld /Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Products/Debug/avida normal x86_64
cd /Users/graham/Projects/AI/avida/avida-core
export MACOSX_DEPLOYMENT_TARGET=10.9
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Products/Debug -F/Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Products/Debug -filelist /Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Intermediates/Avida-Core.build/Debug/avida.build/Objects-normal/x86_64/avida.LinkFileList -mmacosx-version-min=10.9 -lavida-core -lapto -Xlinker -dependency_info -Xlinker /Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Intermediates/Avida-Core.build/Debug/avida.build/Objects-normal/x86_64/avida_dependency_info.dat -o /Users/graham/Library/Developer/Xcode/DerivedData/Avida-Core-avsjthwnyrzdtsaeysabngnpeghe/Build/Products/Debug/avida
ld: library not found for -lapto
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I've compared the grid data for the logic function Nand to the number from WebPopulationStats and they do not match much of the time for a given update. I have not checked the other logic functions.
Need to get one update to a request of webOrgDataByCellID even when the population is not running if a new request is sent.
The dominant genotype age is longer then the run by one update, and never seems to shift.
When tabbing around the highlight function in zoom mode draws the labels offset to the upper left.
I tried downloading a fresh copy of avida and install on our local HPC system. However, the CMake command returned the following missing file error:
cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Warning (dev) at CMakeLists.txt:19 (ADD_SUBDIRECTORY):
The source directory
/mnt/home/colbrydi/monitors/avida/libs/apto
does not contain a CMakeLists.txt file.
CMake does not support this case but it used to work accidentally and is
being allowed for compatibility.
Policy CMP0014 is not set: Input directories must have CMakeLists.txt. Run
"cmake --help-policy CMP0014" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Performing Test HAVE_FUSED_MADD
-- Performing Test HAVE_FUSED_MADD - Success
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
APTO_INCLUDE_DIR
used as include directory in directory /mnt/home/colbrydi/monitors/avida/avida-core
-- Configuring incomplete, errors occurred!
I know you can download a zip file, but using local storage might be more convenient.
I would try to implement something myself, but I have no idea how the repo works, but there seems like there are no javascript files to edit?
Potentially an entire rewrite to html5 and javascript could be possible, if the C++ wrapper thing converts all the c++ code into canvas (unless I'm wrong?)
As I have seen this issue arise multiple times, I think we need to have documentation explicitly say to do these steps:
git submodule init
git submodule update
I'm raising the issue instead of a pull request because I'm uncertain of the apporpiate place for this information. The README and the wiki seem like good places, and maybe a check in the build_avida with a more informative error message than CMAKE's.
The other values (Fitness and Metabolism) are non-zero and Gestation is still zero much of the time.
Does not import because of the use of | as a filename character.
The configuration value of 0 for the seed doesn't using the current time as the start value. Instead the seed of zero is used. This leads to identical runs if the seed isn't manually changed to other values.
Perhaps 5 seconds? It is bound by the update. Should it be a separate thread just so the pinger doesn't get drowned out by the Avida runtime?
As part of a transition to a csv outputs, add a configuration option to use commas instead of white space for field separators in output files.
Workspace files should have a unique icon.
We discussed a need to be able to inject resources into an experiment directly from the resource.dat files from a previous run.
After using "ccmake ../" to configure avida and get avida-viewer, I had to run the "make" command and then "sudo make install" to actually make those changes happen. Might be basic knowledge for most, but I spent an hour figuring it out.
A user reported Avida ED (mac) help is not working.
AvidaEd (all flavors) and experimental work with Emscripten have their code stored in a separate directory (apps/) from the "avida-core/" code. In general, I think it'd be a good idea to keep the code responsible for a particular interface and driver of Avida separate from its core library. Currently only the ncurses viewer, the "experimental" viewer (non-functioning?) code, and the "primitive" driver code are kept alongside the core library code.
While trying to program resource dependent deme replication (as in the documentation) I'm encountering the following error.
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
The core dump only appears if I have the following line in the events.cfg file which is required for deme replication.
u 1:1:end ReplicateDemes birth-count
I'm guessing it's something to do with deleting objects while they are being used by the program.
Right now, code is only being tested in release mode.
When compiling the source, I receive about 120 instances of the following error in Visual Studio:
error LNK2001: unresolved external symbol "private: static int const Apto::RNG::AvidaRNG::MAX_SEED" (?MAX_SEED@AvidaRNG@RNG@Apto@@0HB) C:\Users\z\Desktop\avidabin\avida-core\avida-core.lib(cAnalyzeJobWorker.obj) avida
I reproduced this issue in VS 2010, 2012 and 2013, all on Windows 7 with both CMake 3.0/3.1. I am not sure how to resolve it, but it appears that apto/rng/AvidaRNG.h
from AvidaRNG.cc cannot be found. I checked to make sure the build order was correct and the proper dependencies were in place.
I was able to successfully compile on Windows in late 2014 though I no longer have access to that machine to compare configurations. Could anyone who has compiled it on Windows provide their setup and/or reproduce this issue?
When dragging an organism to IE, the mouse up event does not trigger. If a cell has never been selected, then the drag n drop fails. If there is a selected cell then the organism is put in that cell rather than where the mouse is released.
I have not yet found a way to get the mouse coordinate when the mouse is released during a dojo dnd event.
I'm getting the ancestor from the grid data since it is null in the webOrgTraceBySequence data. I suggest either fixing it so the ancestor is there, or removing in completely. The value should be a number since the ui never sends avida the ancestor's name.
Certain lessons need the class to start from a common populated plate or ancestor. So we need a way to export objects to a file, and import again (perhaps from a different OS).
This basically a duplicatioin of and earlier ISSUE "Linker Error for AvidaRNG when compiling in Visual Studio #13"
I am hoping someone has a suggestion for correcting it as its only getting the definitions of MAX_SEED and UPPER_BOUND available to the rest of the modules. I am new to Visual Studio and happy to help out, but this linker error is currently outside my capability.
Regards
Regression testing on Windows needs to be updated to handle non-*ix scripting.
Some genomes still crash consistently.
'AllBut2logic'
'0,heads_default,wsjagcvtvazystorcauoyucuyquufydpbusmyfqoocvvopxgxu' //allbut2logic
InternalError: uncaught exception: 25684784 - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.
This one does take 790 cycles in the mac Avida-ED. I think the max cycles may be 999. That is what I get for one that seems to never reproduce.
It does display some that go to 999 cycles correctly.
Some parameters (like "${PROJECT_SOURCE_DIR}/source") are passed to CMake commands in a build script without enclosing them by quotation marks. I see that these places will result in build difficulties if the contents of the used variables will contain special characters like semicolons.
I would recommend to apply advices from a Wiki article.
After executing $ ./build_avida
I'm stuck at:
[ 99%] Linking CXX executable ../bin/avida [ 99%] Built target avida
after approx. 1.5 hour. Should I wait more or something went wrong?
This is the content of the generated cbuild folder:
CMakeCache.txt Makefile bin lib CMakeFiles avida-core cmake_install.cmake libs
which is missing a work folder.
Help!
On windows I am using git bash to clone avida. After downloading the files, I use the submodules: init and update. I get the following error message. Please help! If I use build the files using cmake and visual studio I run into tons of errors. I believe it is due to this error.
Thanks!
Andrew
C:\Users\ac202\Desktop\avida>git submodule init
Submodule 'documentation' (https://github.com/devosoft/avida.wiki.git) registered for path 'documentation'
Submodule 'libs/apto' (https://github.com/dmbryson/apto.git) registered for path 'libs/apto'
C:\Users\ac202\Desktop\avida>git submodule update
Cloning into 'C:/Users/ac202/Desktop/avida/documentation'...
Cloning into 'C:/Users/ac202/Desktop/avida/libs/apto'...
error: invalid path 'Analyze-mode-:-building-your-own-commands.md'
Submodule path 'libs/apto': checked out '02e18980071d237f1ea4641f3f35cae469e2ed38'
Unable to checkout 'bc4f3557a748ba65697e9e681cd09f54dc4b1c97' in submodule path 'documentation'
ncurses on Windows needs to be tested
I have a question that is cmake error.I don't konw how to resolve it.It's reported that the subdirectory error.
The Avida2Driver and TextViewer driver have diverged with respect to their main population processing loop. This may cause undefined behavior for some types of experiments. Test runner appears unable to validate many test cases.
I seem to be getting two messages that are webPopulationStats with the same update number. Then I get two messages that are webGridData. followed by two WebPopulationStats with the next value for updates, etc.
Not sure why I get two messages of each type with the same update number.
An extra null pointer check is not needed in functions like the following.
The run_tests utility will not work when avida is built in a directory hierarchy that requires the use of escaped characters.
A candidate solution is to use pipes.quote, which is deprecated, to escape the application and test-configuration paths. However, test-specific configuration that refers to either of these settings internally (e.g. %(default_app)s) will not execute.
How should remote access to a running avida process work to maximize your productivity?
What features would you like it to have?
What data should be made available in the web browser? How would you like that data displayed?
Documentation file names need to be changed to support Windows-style paths.
When fitness gets crazy, the scheduler can throw a seg fault.
Hangs on some tests. Possibly related to issue #39
Tests lookAhead_v1 and avatars-pred_look are failing when builds are configured for debug.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.