[MAS.865](../../) > [Design Tools](../) > generative, declarative, evolutionary
## Generative, Declarative, Evolutionary Design Tools
### Generative Design "Defination"
#### There is no single solution; instead, there are potentially thousands of great solutions. You choose the design that best fits your needs
Generative design is a form finding process that can mimic nature's evolutionary approach to design. It can start with design goals and then explore innumerable possible permutations of a solution to find the best option. By using cloud computing, generative design can cycle through thousands or even millions of design choices, test configurations and learn from each iteration what works and what doesn't. The process can enable designers to generate brand new options, beyond what a human alone could create, to arrive at a most effective design.
### Use Cases
#### 1. Form Finding in Art, Architecture and Product
- infinite Design Options:
In the time you can create one idea, a computer can generate thousands, along with the data to prove which designs perform best.
- create complexity:
Generative design lets you create optimized complex shapes and internal lattices. Some of these forms are impossible to make with traditional manufacturing methods. Instead, they're built using new additive manufacturing methods.
for materials, manufacturing methods, and cost. Set goals and parameters, and the software will create high-performing design options based on those constraints. The software resolves conflicting design constraints so you can focus on innovating.
#### 2. Procedural Geometry Effect in Animation, Gaming and AR/VR.
- create [complexity](http://pcgbook.com/) and [special effects](https://github.com/keijiro/Skinner) that aren't exist in nature
![skinner by Keijiro Takahashi](kvantskinner.gif) [Skinner usage example by Keijiro Takahashi](https://github.com/keijiro/Skinner)
- create complexity and special effects that mimic nature
![KvantSpray by Keijiro Takahashi](kvant1.gif)![KvantSpray by Keijiro Takahashi](kvant2.gif) ![KvantSpray by Keijiro Takahashi](kvant3.gif)![KvantSpray by Keijiro Takahashi](kvant4.gif) [KvantSpray by Keijiro Takahashi](https://github.com/keijiro/KvantSpray)
### Algorithms / Logics
- Recursive Rule Transforming:
- mirroring ( [outcome](https://www.youtube.com/watch?v=NcftEcsgUeE), [methodology](mirror.pdf) )
- resampling( [outcome](https://www.youtube.com/watch?v=9HI8FerKr6Q),[tutorial](https://www.youtube.com/watch?v=l-rt4jSkhPE), [methodology](resample.pdf))
- [shape-grammer formalisms](intro_shape_grammer.pdf)[algorithms:](shapeAlgorithms.pdf)
- L system ([complexity](http://www.kokkugia.com/roussel-recursions))
- [cellular automata](http://mathworld.wolfram.com/ElementaryCellularAutomaton.html)([complexity](https://www.youtube.com/watch?v=Mqvx8iTinS4) ,[optimization](https://www.youtube.com/watch?v=Mqvx8iTinS4))
- [swarm intelligence]() ( [Roland Snooks]( http://www.rolandsnooks.com/) )
- [mult-agent]() ([complexity](http://www.kokkugia.com/brass-swarm) ,[optimization](http://www.kokkugia.com/woven-composites))
- [voroni]() ([complexity](https://www.youtube.com/watch?v=Mqvx8iTinS4) ,[optimization](https://www.youtube.com/watch?v=Mqvx8iTinS4))
#### 1."Labor" Generative Design Tools
apply generative thinking or logic on ANY CAD software no matter whether it have parametric feature or not, and manually achieve the result.
#### 2. Visual Programming Tools
- [Grasshopper 3D](http://www.grasshopper3d.com/) (Optimization, Complexities, Options)
- [Scriptographer](https://scriptographer.org/gallery/) (Complexities)
- [Dreamcatcher](https://autodeskresearch.com/projects/dreamcatcher) (Optimization, Complexities, Options)
- [Within Medical](https://www.autodesk.com/products/within-medical/overview) (Complexities)
- [Project Fractal](https://home.fractal.live/) (Options)
- [Dynamo](http://dynamobim.org/) (Optimization, Complexities, Options)
- [Nastran](http://www.mscsoftware.com/product/msc-nastran) (Optimization)
- [Fusion 360](https://gallery.autodesk.com/fusion360/projects/editor_pick#filters=%5B%5D&sort=popularity) (Options)
- [Netfabb](https://www.autodesk.com/products/netfabb/free-trial?mktvar002=702992&mkwid=sCdVUrCi7|pcrid|243518796636|pkw|netfabb|pmt|e|pdv|c|slid||pgrid|49843855148|ptaid|kwd-59111681698|&intent=Netfabb+%2F+Brand&utm_medium=cpc&utm_source=google&utm_campaign=GGL_NETFABB_US_BR_SEM_EXACT&utm_term=netfabb&utm_content=sCdVUrCi7|pcrid|243518796636|pkw|netfabb|pmt|e|pdv|c|slid||pgrid|49843855148|ptaid|kwd-59111681698|&gclid=EAIaIQobChMIi5_fjP-V2gIVjbbACh0X4QaHEAAYASAAEgI1C_D_BwE) (Optimization)
- [Houdini/Touch Designer](https://www.sidefx.com/tutorials/kd-tree-subdivision/) (Complexities, Options)
- Libraries: Open Frameworks, Sverchok
#### 3. AI
- Optimization in various fields
- Product Customization: [Nervous System](https://n-e-r-v-o-u-s.com/cellCycle/), Thoscene.com