elea

所属分类:collect
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2023-07-15 18:57:07
上 传 者sh-1993
说明:  发明新的EA和GA,或向学生展示它们的工作原理。
(Invent new EAs and GA or show your students how they work.)

文件列表:
.eslintignore (83, 2023-12-04)
.eslintrc.json (291, 2023-12-04)
.htmlnanorc (24, 2023-12-04)
.husky/ (0, 2023-12-04)
.husky/pre-commit (131, 2023-12-04)
.prettierignore (56, 2023-12-04)
.prettierrc (44, 2023-12-04)
CITATION.cff (1068, 2023-12-04)
CODE_OF_CONDUCT.md (5217, 2023-12-04)
LICENSE (19089, 2023-12-04)
package-lock.json (862484, 2023-12-04)
package.json (1108, 2023-12-04)
static/ (0, 2023-12-04)
static/blockDefinition/ (0, 2023-12-04)
static/blockDefinition/normalBlocks.js (27138, 2023-12-04)
static/blockDefinition/threadBlocks.js (2995, 2023-12-04)
static/css/ (0, 2023-12-04)
static/css/documentation.css (464, 2023-12-04)
static/css/globals.css (509, 2023-12-04)
static/css/index.css (216, 2023-12-04)
static/css/workspace.css (2311, 2023-12-04)
static/documentation.html (13906, 2023-12-04)
static/examples/ (0, 2023-12-04)
static/examples/empty.xml (195, 2023-12-04)
static/examples/flip_l.xml (5224, 2023-12-04)
static/examples/full.xml (17615, 2023-12-04)
static/examples/full_multithread.xml (19207, 2023-12-04)
static/examples/ioh7.xml (40600, 2023-12-04)
static/examples/mulambda.xml (16763, 2023-12-04)
static/examples/multithread.xml (36188, 2023-12-04)
static/examples/multithread_performance.xml (19474, 2023-12-04)
static/examples/mupluslambda.xml (16889, 2023-12-04)
static/examples/onelambda.xml (14870, 2023-12-04)
static/examples/onepluslambda.xml (25955, 2023-12-04)
static/examples/oneplusone.xml (11089, 2023-12-04)
... ...

# elea [![Netlify Status](https://api.netlify.com/api/v1/badges/97afa409-81fc-468e-abfc-5d06578b1dd6/deploy-status)](https://app.netlify.com/sites/hpi-elea/deploys) ![github actions](https://github.com/hpi-elea/elea/actions/workflows/lint.yml/badge.svg) This is a little tool designed to prototype evolutionary algorithms, get an intuition for runtimes or for teaching EAs to students. ## People The project is organized by the following two scientists. - Markus Wagner (Monash University) - Timo Ktzing (Hasso Plattner Institute) Contributors to the code base of ELEA have been the following people. - Bjarne Sievers (Winter Term 2020/21, as part of a project seminar at *HPI*) - Antony Kamp (as a HiWi at *HPI*, 1.1.2021 -- 31.3.2022) - Erik Kohlros (as a HiWi at *HPI*, 1.10.2021 -- 31.3.2024) - Oscar John Ammirato Manglaras (Jul-Nov 2021 as one-semester, 3rd year project at the *University of Adelaide*) https://github.com/CogentRedTester - Gerome Quantmeyer (as a HiWi at *HPI*, 1.7.2022 -- 31.3.2023) - Omri Bornstein (Feb-Nov 2023 as a two-semester, 3rd year project at *Monash University*) , https://github.com/applegamer22 ## Run - install nodeJS with npm - run `npm i` to install the dependencies - run `npm run start` to run the application You can find the application at `localhost:1234` propably. ## More commands for developer - run `npm run lint` to show current linting errors and warnings - run `npm run prettier` to fix formatting errors ## Write new blocks Steps: 1. Think of all the connections you need and build your block in the [block factory](https://blockly-demo.appspot.com/static/demos/blockfactory/index.html): 2. Copy the json definition into the `static/blockDefinition/normalBlocks.js` or similar JS file and include it. Add a `tooltip` to the block and `comment`s to the input to help our users understand your block. If you want to do type-checking, make sure to add the type of your input and output as described in the [blockly documentation](https://developers.google.com/blockly/guides/create-custom-blocks/variables#typed_variable_blocks). Use the `Array`-type to request a population and `Individual` to request an individual from the population. 3. Also copy the JS code stub from the factory into this JS file. 4. Add the block to the toolbox in any category via its name (roughly in lines 200-450 in workspace.html). You should now be able to see it in the toolbox and use it. 5. In order to actually do something, you need to replace the generated code with actual code. I essence, you need to return valid JS code in a string (ES5). Since debugging parsing errors is rather hard in this environment I suggest to try atomic expressions you want to use in [this live demo](https://neil.fraser.name/software/JS-Interpreter/). Anything that does not work there will not work in blockly either. Goodbye arrow-functions and other syntactic sugar of ES6! 6. You should now have a working block Additional things to consider: Variables and functions could collide with user defined objects. Blockly can handle this for you, if you let it. You need to ask for valid names etc. In its current state, the documentation is barely understandable and does not prominently mention all necessary functions, I find the predefined open source blocks much more helpful: https://github.com/google/blockly/blob/master/generators/javascript/math.js ![blockly](https://developers.google.cn/blockly/images/logos/logo_knockout.png)

近期下载者

相关文件


收藏者