Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ChromesomeJS #79

Closed
peoplenarthax opened this issue Jan 24, 2019 · 9 comments
Closed

ChromesomeJS #79

peoplenarthax opened this issue Jan 24, 2019 · 9 comments

Comments

@peoplenarthax
Copy link

@peoplenarthax peoplenarthax commented Jan 24, 2019

Project Lead: Angel Paredes Barato

Mentor: Alexander Kutschera

Welcome to OL7, Cohort C! This issue will be used to track your project and progress during the program. Please use this checklist over the next few weeks as you start Open Leadership Training 🎉.


Before Week 1 (Jan 30): Your first mentorship call

  • Complete the OLF self-assessment (online, printable). If you're a group, each teammate should complete this assessment individually. This is here to help you set your own personal goals during the program. No need to share your results, but be ready to share your thoughts with your mentor.
  • Make sure you know when and how you'll be meeting with your mentor.

Before Week 2 (Feb 6): First Cohort Call (Open by Design)

Before Week 3 (Feb 13): Mentorship call

  • Look up two other projects and comment on their issues with feedback on their vision statement.
  • Complete your Open Canvas (instructions, canvas). Comment on this issue with a link to your canvas.
  • Start your Roadmap. Comment on this issue with your draft Roadmap.

Before Week 4 (Feb 20): Cohort Call (Build for Understanding)

  • Look up two other projects and comment on their issues with feedback on their open canvas.
  • Pick an open license for the work you're doing during the program.
  • Use your canvas to start writing a README, or landing page, for your project. Link to your README in a comment on this issue.

Week 5 and more

This issue is here to help you keep track of work as you start Open Leaders. Please refer to the OL7 Syllabus for more detailed weekly notes and assignments past week 4.

@peoplenarthax
Copy link
Author

@peoplenarthax peoplenarthax commented Feb 17, 2019

The Vision of ChromesomeJS:
In ChromosomeJS a group of Developers and Computer Scientist work together to develop a tool that could be useful to develop Genetic Algorithms in an easy way so that anyone could use it, helping to democratise Genetic Algorithms and reducing development time.

@dblana
Copy link

@dblana dblana commented Feb 19, 2019

Open Canvas: https://docs.google.com/presentation/d/1llTPJWlARaYRPad0MRYUlYrXy7Y62ZxGs-VrYFVAyG0/edit?usp=sharing

Hey, interesting project! Since your focus is Genetic Algorithms, I think that your Unique Value Proposition (in your Open Canvas) should mention GA.

I look forward to seeing your Roadmap! 😃

@kristinellis
Copy link

@kristinellis kristinellis commented Feb 20, 2019

Open Canvas: https://docs.google.com/presentation/d/1llTPJWlARaYRPad0MRYUlYrXy7Y62ZxGs-VrYFVAyG0/edit?usp=sharing

This is AWESOME! (I am one of the people you mentioned who is curious about genetic algorithms 😄)
Interested to know what kind of documentation/writing is needed for contribution, and if those contributors would need specific technical expertise to be able to help. Excited to see how this develops!

@peoplenarthax
Copy link
Author

@peoplenarthax peoplenarthax commented Feb 20, 2019

Open Canvas: docs.google.com/presentation/d/1llTPJWlARaYRPad0MRYUlYrXy7Y62ZxGs-VrYFVAyG0/edit?usp=sharing

This is AWESOME! (I am one of the people you mentioned who is curious about genetic algorithms 😄)
Interested to know what kind of documentation/writing is needed for contribution, and if those contributors would need specific technical expertise to be able to help. Excited to see how this develops!

Hello, for the writing part I think that is important to understand basics of Genetic Algorithms to try to drive users through tutorials or have a correct use of different terms (chromosome, individual, offspring... ). But I think that once someone more technical can provide some guidelines anybody should be able to rephrase it :D

Open Canvas: docs.google.com/presentation/d/1llTPJWlARaYRPad0MRYUlYrXy7Y62ZxGs-VrYFVAyG0/edit?usp=sharing

Hey, interesting project! Since your focus is Genetic Algorithms, I think that your Unique Value Proposition (in your Open Canvas) should mention GA.

I look forward to seeing your Roadmap! 😃

Thanks for the feedback, the canvas reflect this now 😉

@peoplenarthax
Copy link
Author

@peoplenarthax peoplenarthax commented Feb 20, 2019

The roadmap is available as a Github Project and is aiming for the MVP of the project.

This means that by the end of Project a MVP of ChromesomeJS should be available to be used by others.

Milestone: Framework

Right now, Chromesome was only oriented to offer utility functions, but this still limits developers to have their own implementation of the Genetic Algorithm (Define the loop, conditions...), hence the problem of people understanding how to implement their own ones is still there. This milestone is to create a framework that can do inversion of control and just accept inputs from the user and save developers the time of developing the rest.

Milestone: Expanding utility functions

Utility functions are functions that can be use freely, without the need of any framework or additional library. Usually they have one single purpose, e.g. One Point Crossover, this will take as input 2 arrays or objects and it will perform a simple one point crossover to it (swap values given a point or feature). This allow you to create your own genetic algorithm without having to implement all the functions that you may need (selection functions, crossover functions, fitness functions, mutation functions...)

To make this suitable for more people, ChromesomeJS needs to offer a wider variaty of utility functions regarding offspring, selection, mutation and also have a clear API so that the framework can still deal with this changes.

Milestone: Documentation

A Developer portal that guide you through the usage of the library and also offer different examples and details explanations about Genetic Algorithms. It also should be more clear the guidelines for those that want to contribute to the documentation of the project (localisation, extension, corrections...)

@scottkildall
Copy link

@scottkildall scottkildall commented Feb 21, 2019

I love the name, by the way. What is a "utility function" anyhow? I do some coding, but not sure what this means. Maybe I'm missing something, but in the interest of the xkcd simplifying, I'd love to see this defined. Very cool framework possibilities!

@peoplenarthax
Copy link
Author

@peoplenarthax peoplenarthax commented Feb 25, 2019

I love the name, by the way. What is a "utility function" anyhow? I do some coding, but not sure what this means. Maybe I'm missing something, but in the interest of the xkcd simplifying, I'd love to see this defined. Very cool framework possibilities!

Nice comment, it is something that is so clear in my mind that I totally dismissed explaining it further. I updated the roadmap with the definition and an example. But basically a utility function is a pure function, with a single purpose and that does not need a framework or another library to work. For example, a typical utility function could be Math.power, Math.sqrt, Math.abs... But in the case of ChromosomeJS it is a crossover function, a selection function etcetera, so people can use them without having to use the rest of ChromosomeJS when developing Genetic Algorithms

@akram-mohammed
Copy link

@akram-mohammed akram-mohammed commented Apr 29, 2019

Interesting!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants