DiscretePath
Understanding networks
Only for Mac
Free
‘DiscretePath’ is software for drawing, visualizing and analyzing medium-sized graphs (networks). Graphs of up to 20,000 edges (links) can be drawn in a reasonable amount of time. Larger graphs can also be imported and drawn, but this takes longer. Most analyzes (paths, flows, centralities, clustering, cliques, ...) can be performed on medium-sized graphs, except when non-polynomial algorithms are used or very complex matrices need to be constructed.
In addition to the drawing and analysis tools, an Artificial Intelligence module covers AI algorithms that use graphs in one form or another. The supervised learning AI algorithms covered are: "Decision Trees" and "Graph Similarity". The decision tree algorithms can handle both categorical and numerical data and can be used for both classification and regression tasks. The Graph Similarity module compares the differences between two graphs based on the flows through their vertices.
Features:
- Draw a network as a graph, as a traditional tree or as radial tree
- Import network data as a list of edges, as an adjacency list, or as an adjacency matrix
- Import x,y-coordinates of the vertices (f.ex. vertices that represent locations on a map can be set to their latitude and longitude coordinates)
- Categories can be assigned to vertices
- Vertices can be organized in groups (improves graph layout, visualization and analysis)
- Shortest and longest path
- Maximum flow through the edges (and vertices)
- Global and minimum s-t cut
- Minimum spanning tree
- Centralities: degree centrality, vertex betweenness, edge betweenness, harmonic centrality
- Clustering methods based on: nearest neighborgh, hitting time, random walk
- Ability to perform sequential clustering to reduce the number of clusters and gain deeper insight into network structure
- Create random graphs
- Perform different types of random walks
- Identifying the maximum clique and all the cliques (minimum size can be selected)
- Decision models: based on single or ensemble of decision trees
- Graph similarity: compares the differences between two graphs based on the flows through their vertices
more Bug fixes:
- 'Centralities': In version 4.2.0, when the edge weights and/or the content of the vertices were very high, errors could occur in the calculations (when numbers >10^18 were reached). This is reflected in measures of centrality with a negative weight. This bug has been fixed.
- 'Maximum flow - minimum cut - global minimum cut': numbers with more than 8 digits can now be processed.
4.2.2 1d ago
Improvements:
- 'Closeness centrality' has been replaced by 'Harmonic centrality'. Unconnected graphs can be used as such: in the calculation of the harmonic centrality, each subgraph is not treated separately. In general, harmonic centrality yields more robust results.
- 'Vertex relevance' is a new option for calculating centrality. The content of the vertices is included in the calculation of centrality (see 'User Manuals').
- In the graph view, the minimum font size of the vertex name and vertex content has been increased for better readability.
Bug fixes:
- 'Maximum flow' and 'Minimum cut': If the edge weight contains many digits, this no longer leads to an error.
- 'Centralities': When the edge weight was treated as a positive factor in the calculation of centralities (higher edge weights contribute to higher centralities), edges with a negative weight were not processed correctly. This bug has been fixed.
4.2.0 May 18
Improvements:
- Support for macOS Tahoe 26.
- Graph similarity module:
- Optimized for complex graphs with multiple differences (differences in the number of vertices and/or edges).
- Heat map: scale adjusted to make flow differences more visible.
Bug fixes:
- When a calculation was in progress and DiscretePath was closed, the application could freeze and fail to close. This issue has been resolved by not closing DiscretePath while a calculation is running, allowing the user to complete or cancel the calculation and then close DiscretePath.
4.1.0 Mar 20
Improvements:
- New module: 'Graph Similarity'. In this module, the differences between two graphs are scored based on the flows through the vertices of the graphs. The quantitative differences are summarized in a table ('Info tab' of the palette window) and visualized in the canvas (heat map).
- The xy-position of the mouse pointer in the canvas is displayed in the frame of the main window.
- Clustering based on hitting time of the vertices: The hitting time matrix, which is time-consuming and CPU-intensive to construct for larger graphs, can be saved for later use.
- A speed increase in almost all modules (centralities, clustering, random walks, etc.).
Bug fixes:
- Closeness centrality: The calculation is corrected when negative edges are present in the graph.
- Random walks and random walk-based clustering now work correctly when the edge weights contain decimals.
4.0.2 Jan 7
Bug fixes in the DECISION MODEL module:
- Pruning has been made consistent in models built with a single tree or an ensemble of decision trees.
- The number format of the imported data is correctly converted to the number format used in DiscretePath. In the previous versions, the numeric values of the imported data for validation and analysis were not converted to DiscretePath's number format (no thousand separators and a period as the decimal separator).
3.4.2 08/04/2025
Improvements:
- The module for building predictive models using decision trees has been expanded.
In previous versions, models could be built using a single decision tree. In this version, models can also be built using ensembles of decision trees. To build the ensemble of decision trees, 'Bagging' (Bootstrap Aggregation) is used.
The 'User Manual' and the document 'Some explanation of the algorithms used in DiscretePath' explain the use and background of the 'ensemble' method in detail.
- Some adjustments have been made to the 'decision tree' and 'clustering' modules to be able to handle larger datasets more efficiently.
Bug fix:
- Saving a decision tree as a graph while analyzing data resulted in a saved file with only a black background. This bug has been fixed.
3.4.0 06/20/2025
Improvements:
- Decision trees:
* The decisions of a regression tree are now expressed in bins. This allows for better interpretation of the analysis results of new data.
* More efficient, iterative construction of the decision tree (when changing the parameters for pruning or merging nodes).
- Graph clustering:
The quality of the graph clustering and of the individual clusters is assessed. The assessment is based on conductivity. A good clustering has a low conductivity.
3.3.0 04/28/2025
Bug fix:
Nearest neighbor clustering for directed graphs: A conversion error could cause the clustering to be incorrect. This bug has been fixed.
3.2.4 03/05/2025
Improvements:
- Clustering: the colors of the different clusters are more contrasting, which allows for a better visual interpretation of the clustering.
- The management of CPU usage by the 'multicore algorithms' has been optimized, which allows for a faster completion of the associated analyses.
Bug fixes:
- The missing 'Close button' of the 'Random Walk Window' is now present again.
- Some contextual menus have been adjusted.
3.2.3 02/22/2025
Improvements:
- A new dialog window is introduced to replace the old one. When multiple screens are used, the new dialog window is always placed on the screen where the DiscretePath window with the canvas is displayed. The old dialog window was usually placed on the main screen (f.ex. the screen of the portable computer).
Remark: The 'Open- and Save-file' dialog windows may still appear on the main computer screen and not on the monitor with the DiscretePath windows.
- The calculation of the clustering based on 'hitting time', is more responsive to pressing the 'ESC' button to stop the clustering.
- Windows opened from the menu, contextual menus, calculation buttons, ... stay on top of the main window.
Bug fixes:
- A rare bug when importing an adjacency matrix has been fixed.
- When an existing group vertex is extended with new vertices, the name of the group vertex does not need to be changed.
- Random walk: the fields for the start and end vertices can be filled in manually.
3.2.0 01/11/2025
Improvements:
- Version 3.1.1 takes the first step in converting DiscretePath to a multicore application.
- The computation of centralities and clustering by hitting time are now two to five times faster, depending on the number of available cores and the size of the graph.
3.1.1 12/14/2024
Improvements:
- The matrices constructed in the hitting time and nearest neighbor clustering algorithms can be reused when only the value of the slider that determines stronger or weaker clustering has been changed. This results in significant time savings for re-clustering (especially for hitting time clustering).
- After clustering, each of the clusters can be saved as a separate graph that can be used for further analysis (further clustering, centrality, ...).
- The 'Nearest Neighbor' clustering algorithm has been significantly improved, especially the part that takes into account the weights of the edges.
- Memory managing has been further optimized.
- The help function has been further expanded.
Bug fixes:
- A rare bug in the 'Save'-procedure has been fixed.
3.0.0 11/05/2024
Bug fix:
In order to cluster based on the 'hitting time', and the weight of the edges had to be taken into account, the radio buttons
. Higher weight -> stronger clustering
. Lower weight -> stronger clustering
were implemented inversely in the calculation of the clustering.
This has been corrected.
2.8.2 10/14/2024
Improvements:
- The help function (right-click on controls) has been expanded.
- The menu bar has been modified: a 'Beyond DP' menu item (in the 'Help' menu) has been added that leads to a DiscretePath web page with downloads of Wolfram Mathematica files with extended capabilities, complementing DiscretePath.
Bug fixes:
- Drawing of a random graph: if the final drawing was canceled, the buttons 'Draw graph' of the palette window are now reactivated (in previous versions, these buttons could only be reactivated by opening and then closing the window for drawing random graphs).
- The menu item: 'Help' -> 'Reset preferences and close DiscretePath' could produce an error message after closing the application (had no effect on the application). This error has been fixed.
2.8.1 09/16/2024
Improvements:
- The application has been made more responsive: during long calculations, the operating system does not perceive the application as unresponsive.
- Clusters are numbered increasing with decreasing size (largest cluster = cluster 1, ...) .
- The process of contracting clusters into 'group vertices' can now be aborted.
- The clustering result can be exported as a tab-delimited text file (can be imported into a spreadsheet).
Bug fixes:
- Cluster result in the 'Info' tab of the Palette window: The results can be sorted correctly by cluster number and clicking on the rows highlights the correct vertices in the canvas.
2.8.0 07/31/2024
Improvements:
- The import of x,y-coordinates has been made more flexible: the data can contain vertices that are not present in the graph.
- Major speed improvement of the clustering method based on hitting time.
- Graph clustering can be done sequentially by collapsing the vertices of each cluster into a group vertex. In this way, the number of clusters can be reduced and new insights into the deeper network structure can be obtained.
Bug fixes:
- When group vertices were extracted into their components and/or collapsed again, the weight of the edges between the group vertices could be incorrect. This has now been resolved.
2.7.2 07/01/2024
Bug fix:
A bug was created in version 2.6.6 that could disrupt cluster analysis for certain graphs. This bug has been resolved.
2.6.7 06/03/2024
Improvements:
- Further improvement of the clusterings based on 'nearest neighbor' and 'hitting time' (more accurate assignment of the vertices to a cluster).
- Various minor code adjustments for speed improvements.
2.6.6 06/03/2024
Improvements:
- Both the clustering on 'Hitting time' and 'Nearest neighbor' are standardized for the order of the vertices from which the clustering is started. This makes the clustering less sensitive to the way the graph was constructed.
- Clustering via 'Hitting time' has been made more efficient, although clustering larger graphs can still take a long time.
- Memory usage when calculating clusters has been optimized.
Bug fixes:
- The presence of self-loops does not interfere with clustering based on either 'Hitting time' and 'Nearest neighbor'.
2.6.5 05/05/2024
Improvements:
- The performance of the 'nearest neighbor' clustering method has been improved.
Bug fixes:
- A bug in the 'nearest neighbor' and 'hitting time' clustering algorithms has been fixed.
2.6.3 04/06/2024
Bug fix:
Repeatedly opening and closing the application can cause problems that do not disrupt the performance of the application, but do cause annoying 'error messages'. This is especially evident with faster processors like M2. This should be resolved in this release.
2.6.2 03/14/2024
Bug fixes:
- A possible conflict in the 'Quit' procedure has been resolved.
2.6.1 03/11/2024
Improvements:
- A new effective clustering method based on the 'hitting time distribution' of the vertices has been added.
- The 'nearest neighbor' clustering method has been updated.
Bug fixes:
- The help window that appears when connecting two vertices with an edge is correctly positioned at the mouse pointer.
- The error window that sometimes appears after closing the application no longer appears.
2.6.0 03/07/2024
Improvements:
- 'Help info' updated.
- Added AI for calculating cliques and centralities.
Bug fixes:
Corrected clustering with 'Take weight of edges into account' when vertices connected by edges with lower weights have stronger clustering.
2.5.5 02/20/2024
Improvements:
- For complex graphs, constructing a random walk with a start and end vertex is much faster.
- Listing the vertices or edges in the 'Info tab' of the Palette window can be canceled with the 'ESC' key.
- When the orientation of an edge is changed in the 'Layout tab' of the Palette window, the change is visualized in real time in the canvas.
Bug fixes:
- No error message is displayed when the application is closed.
- When a random walk is not possible, the graph is not frozen.
2.5.4 01/07/2024
Bug fixes:
- 'Centralities': In version 4.2.0, when the edge weights and/or the content of the vertices were very high, errors could occur in the calculations (when numbers >10^18 were reached). This is reflected in measures of centrality with a negative weight. This bug has been fixed.
- 'Maximum flow - minimum cut - global minimum cut': numbers with more than 8 digits can now be processed.
more Version 4.2.2 1d ago
Data Not Collected The developer does not collect any data from this app.