-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
68 lines (46 loc) · 2.11 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Building the command line tool
------------------------------
$ stack build
Running should print a help message:
$ stack exec matcher
You may also use the binary directly:
$ stack install --local-bin-path=.
$ ./matcher
Testing
-------
$ stack test
This contains three test suites, all require QuickCheck. Test suite
`quickcheck` only checks some properties not relating to other
implementations. `fgl-qc` also needs the Functional Graph Library,
and compares the sizes of matchings generated with both
implementations.
Only if the file `tests/DanilenkoOriginal.hs` is present: Test suite
`danilenko-qc` tests some properties of a matching calculated with
that [1] algorithm, and compares the size with a mathcing calculated
with this implementation. The file is not included in this
distribution but was kindly provided by its author.
===========================================================================
Note: The rest of this documentation is outdated and would need
porting to use `stack` properly.
Performance shootout
--------------------
Note: This may take considerable time and consume all CPUs you have.
$ make shootout
Creates random graphs (only very few by default) as defined in the
file `scripts/shootout`. Then this matching algorithm, and `maxFlow`
from the FGL [2] are used to calculate the size of a MCBM, collecting
and plotting performance data.
Only if the file `tests/DanilenkoOriginal.hs` is present: Performance
will also be plotted for a MCBMs calculated with that [1] algorithm.
The file is not included in this distribution but was kindly provided
by its author.
Gnuplot is used to create the plots as `./tmp/*.png`. The plotting
script is prepared for creating PDF, SVG or interactive plots as well,
see there.
____________________
[1] Nikita Danilenko. Using Relations to Develop a Haskell Program
for Computing Maximum Bipartite Matchings. RAMiCS 2012, LNCS
7560, pp. 130-145, Springer 2014.
http://www.rpe.informatik.uni-kiel.de/en/Staff/dipl.-math.-nikita-danilenko
[2] Martin Erwig's Functional Graph Library
https://hackage.haskell.org/package/fgl