guicho271828 / common-lisp-project-ideas

Discuss future project ideas
12 stars 0 forks source link

Generalized Graph Solver #10

Open olewhalehunter opened 7 years ago

olewhalehunter commented 7 years ago

related to the genetic algorithm work #8 , GA's are often used to traverse a very large number of graphs or weighted graphs as problem spaces, and in regards to the need for other optimization needs, could use a distibuted/parallel graph solving/graph traversing library for functions commonly used in GA, topology, expert systems planning, and some types of neural networks. A extremely parallel and scalabe graph/constraint/other parametric solver (also like #1 and #9) would be a killer app for common lisp.

advancement and maintenance from a lib like https://common-lisp.net/project/cl-graph/ could work

guicho271828 commented 7 years ago

I am fairly specialized in graph search and, although it is interesting (if possible), in fact there are many extensions to graph search that needs significantly different data structures in order to achieve an equivalent level of performance as the C++ counterparts (which are usually specialised in a certain type of graph). I believe this variety is much wider than in GA.

In that sense my general opinion is --- Can it be more efficient than using an existing, special purpose external solvers? In practice, in many cases the answer is no (specialized solvers tends to be an order of magnitude faster than generalized solvers).

One alternative is to have a collection of special purpose libraries, like in CLML.

guicho271828 commented 7 years ago

https://github.com/mck-/Open-VRP is a good example --- it is specialized in VRP and should be therefore fast.