{"id":20417757,"url":"https://github.com/rhiever/edd","last_synced_at":"2025-04-12T17:24:05.136Z","repository":{"id":18033854,"uuid":"21073679","full_name":"rhiever/edd","owner":"rhiever","description":"A tool that evolves small brains capable of scanning and classifying an image.","archived":false,"fork":false,"pushed_at":"2016-03-28T15:16:56.000Z","size":182,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T11:44:52.920Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhiever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-21T16:53:11.000Z","updated_at":"2021-01-13T19:42:24.000Z","dependencies_parsed_at":"2022-08-27T16:30:13.307Z","dependency_job_id":null,"html_url":"https://github.com/rhiever/edd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhiever%2Fedd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhiever%2Fedd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhiever%2Fedd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhiever%2Fedd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhiever","download_url":"https://codeload.github.com/rhiever/edd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602972,"owners_count":21131717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T06:27:19.178Z","updated_at":"2025-04-12T17:24:05.107Z","avatar_url":"https://github.com/rhiever.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Evolved Digit Detector\n\nThis project optimizes a classifier that is capable of spatio-temporal classification of images.\n\n## License\n\nCopyright 2016 Randal S. Olson\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n## Compiling\n\nEnter the command `./build_edd`\n\nIf the console gives an error about permissions, enter `chmod 755 build_edd` and enter the above build command again.\n\n## Usage\n\nType ./edd to run the simulation. The following parameters can be passed to aBeeDa:\n\n* -e [LOD out file name] [genome out file name]: evolve\n* -d [genome in file name]: display \n* -dd [directory of genome files]: display all genome files in a given directory\n* -s [int]: set random number generator seed\n* -g [int]: set generations to evolve for\n* -t [int]: save best brain every [int] generations\n* -v [int]: make video of best brains at the given interval\n* -lv: make video of LOD of best agent brain at the end of run\n* -lt [genome in file name] [out file name]: create logic table for given genome\n* -df [genome in file name] [dot out file name]: create dot image file for given genome\n* -zc: allow the Evolved Digit Detector to move around and scan the image\n* -rs: force the Evolved Digit Detector to start at random positions in the image for every image (forces it to learn to generalize)\n* -gs [int] [int]: the width and height of the image in pixels, respectively; strongly recommended to keep the two values equal\n\n-e, -d, -dd, or -df must be passed to edd, otherwise it will not do anything by default.\n\n## Output\n\nedd produces a variety of output files, detailed below.\n\n### LOD files\n\nThere will be a single entry for each ancestor in the final best swarm agent's LOD.\n\nLOD files will be in csv format with the column headers listed at the top. Column headers are in the following order:\n\n* generation: the generation the ancestor was born\n* fitness: the fitness of the ancestor prey\n\n### Markov network files\n\nGenerally, we save Markov network files as .genome files.\n\nThese files contain integer values which encode the Markov network.\n\n### Logic table files\n\nThe logic table files contain the logic table for the most-likely decision made by the Markov network.\n\nThey are formatted specifically for the Logic Friday logic optimization program. They should be able to be fed directly into the Logic Friday program without any modification.\n\n### DOT files\n\nDOT files are the picture representations of Markov network structure and connectivity. We recommend using the Graphviz software to view these images.\n\n## Experiment reproducibility\n\nTo reproduce the latest results with the Evolved Digit Detector, pass the following parameters to the program.\n\n```\n./edd -e LOD.csv run1agent.genome -s 1 -g 1000000 -zc -rs -gs 28 28 -mr 0.0005 -t 5000\n```\n\nThis command will optimize the Evolved Digit Detectors on the MNIST data set for 1,000,000 generations. It will likely take several weeks before the run finishes, so make sure to run it on dedicated, long-running hardware.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhiever%2Fedd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhiever%2Fedd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhiever%2Fedd/lists"}