fuzzy-graph-coloring is a Python package for calculating the fuzzy chromatic number and coloring of a graph with fuzzy edges.
Project description
fuzzy-graph-coloring is a Python package for calculating
the fuzzy chromatic number and coloring of a graph with fuzzy edges.
It will create a coloring with a minimal amount of incompatible edges
using a genetic algorithm (genetic_fuzzy_color) or a greedy-k-coloring (greedy_k_color)
combined with a binary search (alpha_fuzzy_color).
If you don’t know which one to use, we recommend alpha_fuzzy_color.
If you are looking for a networkX coloring but with a given k, use greedy_k_color.
See repository https://github.com/ferdinand-dhbw/fuzzy-graph-coloring See the paper that accompanied the project https://github.com/ferdinand-dhbw/fuzzy-graph-coloring/blob/main/docs/KoenigRheinerFGCStudentResearchProject2022.pdf
Quick-Start
Install package: pip install fuzzy-graph-coloring
Consider the following graph:
Try simple code:
import fuzzy-graph-coloring as fgc
TG2 = nx.Graph()
TG2.add_edge(1, 2, weight=0.4)
TG2.add_edge(1, 3, weight=0.7)
TG2.add_edge(1, 4, weight=0.8)
TG2.add_edge(2, 4, weight=0.2)
TG2.add_edge(2, 5, weight=0.9)
TG2.add_edge(3, 4, weight=0.3)
TG2.add_edge(3, 6, weight=1.0)
TG2.add_edge(4, 5, weight=0.3)
TG2.add_edge(4, 6, weight=0.5)
TG2.add_edge(5, 6, weight=0.7)
TG2.add_edge(5, 7, weight=0.8)
TG2.add_edge(5, 8, weight=0.5)
TG2.add_edge(6, 7, weight=0.7)
TG2.add_edge(7, 8, weight=0.6)
print(fgc.alpha_fuzzy_color(TG2, 3, return_alpha=True, fair=True))
Result: {5: 0, 6: 1, 1: 2, 7: 2, 2: 1, 3: 0, 4: 0, 8: 1} 0.9285714285714286 0.4
(Tuple of coloring, score [(1-DTI)], and alpha [of alpha-cut])
Bibliography
The project uses a lot of the by Keshavarz created basics: E. Keshavarz, “Vertex-coloring of fuzzy graphs: A new approach,” Journal of Intelligent & Fuzzy Systems, vol. 30, pp. 883-893, 2016, issn: 1875-8967. https://doi.org/10.3233/IFS-151810
License
This project is licensed under GNU General Public License v3.0 (GNU GPLv3). See LICENSE in the code repository.
Setup development environment
Get poetry https://python-poetry.org/docs/
Make sure, Python 3.8 is being used
poetry installin your system shellpoetry run pre-commit install
Run pre-commit
poetry run pre-commit run --all-files
Run pytest
poetry run pytest .\tests
Create documentation
.\docs\make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fuzzy-graph-coloring-0.1.3.tar.gz.
File metadata
- Download URL: fuzzy-graph-coloring-0.1.3.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.8 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a004826035a57c9fd7e74a054f24296ad845da12e318631d9851bb4ea5ab02
|
|
| MD5 |
bb3cf738d4578b229f222832012e887c
|
|
| BLAKE2b-256 |
8c9ceb5fd2eed07004438be7ef237d727caa300e4e7491c6b9b724ff4c9252d2
|
File details
Details for the file fuzzy_graph_coloring-0.1.3-py3-none-any.whl.
File metadata
- Download URL: fuzzy_graph_coloring-0.1.3-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.8 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16dec94fa66282427204f2d131b4bbf5c6c0ee5d23d0dcd36dde41e9a26fa246
|
|
| MD5 |
c83c66262679b380c57eb1c5dc606e0a
|
|
| BLAKE2b-256 |
e940e7ea8327ea9accd60ff5e7493ae14dc4c1b13eb90764e78ab66ced7d72de
|