Skip to content

Commit d6f151f

Browse files
Implementazione metodi MCDM WSM e MOORA
1 parent 31e62b5 commit d6f151f

28 files changed

Lines changed: 4259 additions & 89 deletions

README.md

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,23 @@ analysis and attack simulation. The library implements hypernetworks using
1010
efficient dict-of-sets representation to achieve O(1) amortized performance
1111
for most operations.
1212

13+
## Installation
14+
15+
Install HIPER locally using pip:
16+
17+
```bash
18+
pip install -e .
19+
```
20+
21+
This installs the package in editable mode, which is ideal for development as
22+
changes to the source code are immediately available without reinstalling.
23+
24+
For a standard installation:
25+
26+
```bash
27+
pip install .
28+
```
29+
1330
## Key Features
1431

1532
The library offers comprehensive hypernetwork manipulation capabilities with
@@ -72,7 +89,7 @@ hypernetwork.print_info()
7289

7390
## Attack Simulation
7491

75-
The simulation framework enables comprehensive analysis through individual
92+
The simulation framework enables comprehensive analysis through individual
7693
attacks and coordinated sequences.
7794

7895
```python
@@ -113,7 +130,8 @@ The library provides several example scripts in the `examples/` directory for
113130
comprehensive hypernetwork analysis. Each script performs specific experiments
114131
and saves results in dedicated output directories.
115132

116-
For detailed documentation of all examples, see [`examples/README.md`](examples/README.md).
133+
For detailed documentation of all examples, see [
134+
`examples/README.md`](examples/README.md).
117135

118136
### Resilience Experiments
119137

@@ -124,11 +142,15 @@ python examples/run_resilience_experiments.py [optional_dataset_path]
124142
```
125143

126144
**What it does:**
145+
127146
- Removes nodes at percentages: 1%, 2%, 5%, 10%, 25%
128-
- Uses three strategies: Random, TOPSIS Top (critical), TOPSIS Bottom (peripheral)
147+
- Uses three strategies: Random, TOPSIS Top (critical), TOPSIS Bottom (
148+
peripheral)
149+
- Supports multiple MCDM methods: TOPSIS, WSM, MOORA
129150
- Computes metrics: connectivity, redundancy coefficient, s-walk efficiency
130151

131152
**Results location:** `resilience_results/`
153+
132154
- `resilience_analysis.png` - Metric degradation plots
133155
- `impact_comparison.png` - Strategy comparison
134156
- `resilience_summary.csv` - Detailed numeric results
@@ -142,12 +164,14 @@ python examples/run_perturbation_analysis.py
142164
```
143165

144166
**What it does:**
167+
145168
- Single perturbations: 1%, 2%, 5%, 10% node removal
146169
- Multiple perturbations: Attack sequences with k ∈ {2, 5, 10, 25, 50, 100}
147170
- Compares Random vs TOPSIS targeting strategies
148171
- Analyzes component fragmentation and largest component evolution
149172

150173
**Results location:** `results/`
174+
151175
- `{dataset}_single_comparison.png` - Single perturbation plots
152176
- `{dataset}_multiple_timeline.png` - Evolution over attack sequences
153177
- `{dataset}_component_analysis.png` - Fragmentation analysis
@@ -164,17 +188,41 @@ python examples/run_node_hyperedge_experiments.py
164188
```
165189

166190
**What it does:**
191+
167192
- Tests removal of both nodes and hyperedges
168193
- Computes traditional metrics (connectivity, redundancy)
169194
- Computes higher-order cohesion metrics (HOCR_m, LHC_m)
170195
- Removal percentages: 1%, 2%, 5%, 10%, 25%
171196

172197
**Results location:** `resilience_results/plots/`
198+
173199
- `node_removal_traditional_metrics.png` - Node removal analysis
174200
- `hyperedge_removal_traditional_metrics.png` - Hyperedge removal analysis
175201
- `higher_order_cohesion_comparison.png` - Advanced metrics
176202
- `strategy_effectiveness_heatmap.png` - Comparative effectiveness
177203

204+
### MCDM Methods Comparison
205+
206+
Compare different Multi-Criteria Decision Making methods for node selection:
207+
208+
```bash
209+
python examples/compare_selection_methods.py
210+
```
211+
212+
**What it does:**
213+
214+
- Compares three MCDM methods: TOPSIS, WSM (Weighted Sum Model), MOORA
215+
- Tests targeted node removal using each method
216+
- Removal percentages: 5%, 10%, 25%
217+
- Analyzes whether simpler methods (WSM, MOORA) achieve comparable results to
218+
TOPSIS
219+
220+
**Results location:** `comparison_results/`
221+
222+
- `methods_comparison.png` - Side-by-side comparison of all three methods
223+
- `difference_from_topsis.png` - Percentage difference from TOPSIS baseline
224+
- `comparison_results.json` - Complete numerical results
225+
178226
### Statistical Analysis
179227

180228
Perform cross-domain statistical analysis on hypernetwork features:
@@ -184,12 +232,14 @@ python examples/run_statistical_analysis.py
184232
```
185233

186234
**What it does:**
235+
187236
- Computes structural features for all datasets in `data/` directory
188237
- Performs ANOVA/Kruskal-Wallis tests across hypergraph families
189238
- Correlation analysis between features and resilience metrics
190239
- Normalized metrics for size-independent comparisons
191240

192241
**Results location:** `statistical_analysis_results/`
242+
193243
- `data_directory_features_by_family.png` - Feature distributions by family
194244
- `structural_correlations_heatmap.png` - Feature correlation matrix
195245
- `structural_features_scatter.png` - Relationship visualizations
@@ -235,13 +285,15 @@ python examples/run_statistical_analysis.py
235285
```
236286

237287
Results will be organized in:
288+
238289
- `results/` - Perturbation analysis outputs
239290
- `resilience_results/` - Resilience experiment outputs
240291
- `statistical_analysis_results/` - Statistical analysis outputs
241292

242293
## API Documentation
243294

244-
Complete API documentation is available and built with **Sphinx**. The documentation
295+
Complete API documentation is available and built with **Sphinx**. The
296+
documentation
245297
includes:
246298

247299
- Complete class and function references with type hints
@@ -290,10 +342,10 @@ make.bat html # Windows
290342

291343
- **User Guide**: Getting started, experiments, and examples
292344
- **API Reference**: Complete module, class, and function documentation
293-
- Core modules (Hypernetwork, Node, Hyperedge)
294-
- Dataset management (loading and configuration)
295-
- Metrics (experiments, TOPSIS, connectivity, distance, etc.)
296-
- Simulation framework (simulator, attacks, sequences)
345+
- Core modules (Hypernetwork, Node, Hyperedge)
346+
- Dataset management (loading and configuration)
347+
- Metrics (experiments, TOPSIS, connectivity, distance, etc.)
348+
- Simulation framework (simulator, attacks, sequences)
297349
- **Development**: Contributing guidelines and license
298350

299351
## Configuration
29.7 KB
Binary file not shown.
575 KB
Loading

0 commit comments

Comments
 (0)