- 👋 Hi, I’m @manuEbg
manuebg / thm-ptas Goto Github PK
View Code? Open in Web Editor NEWThis repository is used for our GFSP SS23 Project
License: MIT License
This repository is used for our GFSP SS23 Project
License: MIT License
We need a unit test folder to clean up the main function and still be able to verify that our code works.
Use NetworkX Node Positions to position the nodes in the webview.
Export Positions to json and use them to display the graph
find cut vertices and cut the ring in its two-connected-components
Depends on #21
There are some reductions implemented for the input graph, but they are not used in the PTAS/Exhaustive Config. Therefore they should be build in.
struct PTASConfig {
k : int,
exact_donut_tree_decomposition : bool,
reduce_input : Vec<Reduction>,
reduce_donuts : Vec<Reduction>,
}
enum Reduction {
Twin,
IsolatedClique,
NodalFold
}
enum Scheme{
PTAS { config : PTASConfig },
Exhaustive { reduce_input : Vec<Reduction> },
}
struct MISResult {
timings : Vec<(String, todo_TIME)>,
total_time : todo_TIME,
result : Vec<VertexId>,
}
fn find_max_independent_set(graph: DCEL, config: Scheme) -> Result<MISResult, Error>
fn compare_solutions(r1 : MISResult, r2 : MISResult) // print some stuff
Before we build the DualGraph and TreeDecompositions for each ring, we need to triangulate the ring.
After reading the Planar Embedding generated in #2, we need to find the faces of the graph and fill the DCEL structure.
To quickly check wether a given set is independent we need an adjacency Matrix.
To be able to use dynamic programming with a tree decomposition we need to convert it into a nice tree decomposition.
See:
Depends on #7
Dcel::find_donuts(&self, k: usize) -> Vec<SubDcel> ...
struct SubDcel {
sub: Dcel,
parent: &Dcel,
mapping: ???
}
SubDcel
:
Dcel + Mapping to ParentDcel
For the project a data structure in Rust is needed to store a planar graph. Also a program is needed to read graphs from a file.
Find and implement a better layout for showing our planar graphs.
Komplett in Python mit NetworkX
We need:
DcelBuilder
to a QuickGraph
...
We need a Data structure to store and work on tree decompositions.
Depends on #9
To cut the graph into multiple rings, we need an implementation of the BFS algorithm for our DCEL.
The spanning tree built by this BFS is also necessary to compute tree decompositions (#7) for each ring.
see #8 for more information
and reduce dcel
To solve the Maximum Independent Set problem efficiently it may be useful to reduce the input graph.
In chapter 4 of this master thesis we may find further information.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.