Skip to content

BIT-Decomposition, performance tests and DAG resolution#3

Open
Mohamine75 wants to merge 11 commits into
fredokun:pstl-2024-debugfrom
Mohamine75:main
Open

BIT-Decomposition, performance tests and DAG resolution#3
Mohamine75 wants to merge 11 commits into
fredokun:pstl-2024-debugfrom
Mohamine75:main

Conversation

@Mohamine75
Copy link
Copy Markdown

This PR contains the following items :

  • BIT decomposition of DAG using two different methods : Hashmaps and adjacency list. The corresponding files are resolution_using_list.rs and resolution_using_hashmap.rs.

  • Transitive reduction using Floyd-Warshall's algorithm O(n^3) and another method using topologic order and Kahn's algorithm. Everything related to topologic ordering and reduction is in the transitive_reduction.rs file. The Floyd-Warshall's algorithm isn't really used in the project. These methods are common to the two resolution methods.

  • We can now read integrals directly from a text file, using the method integrate_spec_file which is in the file integrator.rs. In the same file we added a debug feature but no longer use it, By using the reading feature, you can check how much time took the integrator by checking the historique.txt file. Moreover, the time algorithm cannot bear an integral with more than 40 variables, it will take way more than 3 minutes, depending on the CPU. The reason is the exponential nature of the algorithm.

  • The project can be run in two ways now :
    - cargo run --bin create_integrale, in order to create random integrals and write them down in a file
    - --bin --<OPTIONS> rustegrator --<OPTIONAL_FILE> --<OPTIONAL_INTEGRAL>, you can either provide a file with integrals or directly an integral, or both. You must provide at least one of them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant