Name | fuzzytri JSON |
Version |
1.1.0
JSON |
| download |
home_page | None |
Summary | Noravshan mantiq nazariyasi va amaliyoti uchun Python kutubxonasi |
upload_time | 2025-10-20 10:31:55 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
fuzzy
logic
noravshan
vector
mathematics
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
## FuzzyTri
```
Noravshan mantiq nazariyasi va amaliyoti uchun Python kutubxonasi. Uchburchak fuzzy sonlar va ular ustida amallarni bajarish imkoniyati.
## Xususiyatlari
- ✅ Uchburchak fuzzy sonlar bilan ishlash
- ✅ Arifmetik amallar (qo'shish, ayirish, ko'paytirish, bo'lish)
- ✅ Mantiqiy amallar (birlashma, kesishma, komplement)
- ✅ Alfa-kesim operatsiyalari
- ✅ 5 xil defuzzifikatsiya usullari
- ✅ Vizualizatsiya va grafiklar
- ✅ Kophadli transformatsiyalar (exp, sin, cos)
- ✅ JSON va dictionary serializatsiya
## O'rnatish
### PyPI orqali (kelajakda):
```bash
pip install fuzzytri
```
### Manba koddan o'rnatish:
**bash**
```
git clone https://github.com/username/fuzzytri.git
cd fuzzytri
pip install -e .
```
## Tezkor Boshlash
**python**
```
from fuzzytri import FuzzyTriangular, DefuzzificationMethod
# Fuzzy sonlar yaratish
yosh = FuzzyTriangular(0, 20, 40, "Yosh")
orta_yosh = FuzzyTriangular(30, 45, 60, "O'rta yosh")
qari = FuzzyTriangular(50, 70, 100, "Qari")
# A'zolik darajasini hisoblash
age = 35
print(f"{age} yosh uchun a'zolik darajalari:")
print(f"Yosh: {yosh(age):.3f}")
print(f"O'rta yosh: {orta_yosh(age):.3f}")
print(f"Qari: {qari(age):.3f}")
# Arifmetik amallar
yosh_10 = yosh + 10
print(f"Yosh + 10 = {yosh_10}")
# Defuzzifikatsiya
markaz = yosh.defuzzify(DefuzzificationMethod.CENTROID)
print(f"Yosh fuzzy sonining markazi: {markaz:.2f}")
```
## Batafsil Misollar
### Asosiy Operatsiyalar
**python**
```
from fuzzytri import FuzzyTriangular, OperationType
import matplotlib.pyplot as plt
# Fuzzy sonlar yaratish
A = FuzzyTriangular(1, 3, 5, "A")
B = FuzzyTriangular(2, 4, 6, "B")
# Birlashma va kesishma
birlashma = A.union(B, OperationType.MAX)
kesishma = A.intersection(B, OperationType.MIN)
# Alfa-kesim
alpha = 0.7
alpha_kesim = A.alpha_cut(alpha)
print(f"Alpha={alpha} kesim: {alpha_kesim}")
# Grafik chizish
A.plot(color='blue', show_core=True)
B.plot(color='red', show_core=True)
plt.show()
```
### Transformatsiyalar
**python**
```
from fuzzytri import FuzzyTriangular
# Fuzzy son yaratish
temp = FuzzyTriangular(15, 25, 35, "Harorat")
# Eksponensial transformatsiya
exp_data = temp.fuzzy_exp()
# Sinus transformatsiya
sin_data = temp.fuzzy_sin()
# Grafik chizish
temp.plot_transformation('exp')
temp.plot_transformation('sin')
```
### Defuzzifikatsiya Usullari
**python**
```
from fuzzytri import FuzzyTriangular, DefuzzificationMethod
fuzzy_son = FuzzyTriangular(10, 20, 30, "Namuna")
# Turli defuzzifikatsiya usullari
usullar = [
DefuzzificationMethod.CENTROID,
DefuzzificationMethod.BISECTOR,
DefuzzificationMethod.MEAN_OF_MAXIMUM,
DefuzzificationMethod.LARGEST_OF_MAXIMUM,
DefuzzificationMethod.SMALLEST_OF_MAXIMUM
]
for usul in usullar:
natija = fuzzy_son.defuzzify(usul)
print(f"{usul.value}: {natija:.2f}")
```
## API Dokumentatsiya
### FuzzyTriangular Klassi
#### Konstruktor
**python**
```
FuzzyTriangular(a: float, b: float, c: float, name: str = "Triangular")
```
* `a`: Chap chegarasi (support boshi)
* `b`: Maksimal qiymat (core)
* `c`: O'ng chegarasi (support oxiri)
* `name`: Fuzzy son nomi
#### Asosiy Metodlar
* `membership(x: float) -> float`: x nuqtadagi a'zolik darajasi
* `alpha_cut(alpha: float) -> Tuple[float, float]`: Alfa-kesim oraliq
* `defuzzify(method: DefuzzificationMethod) -> float`: Defuzzifikatsiya
* `plot(**kwargs) -> plt.Axes`: Grafik chizish
* `union(other, method) -> Callable`: Birlashma amali
* `intersection(other, method) -> Callable`: Kesishma amali
* `complement() -> Callable`: Komplement amali
#### Xususiyatlar
* `support`: A'zolik > 0 bo'lgan oraliq
* `core`: A'zolik = 1 bo'lgan oraliq
* `height`: Maksimal a'zolik darajasi
* `area`: Fuzzy to'plam yuzasi
* `centroid`: Markaz nuqtasi
## Loyihani Ishga Tushirish
**bash**
```
# Kutubxonani o'rnatish
pip install -e .
# Testlarni ishga tushirish
pytest
# Misollarni ishga tushirish
python examples/basic_usage.py
python examples/advanced_operations.py
python examples/visualization_demo.py
```
## Misollar Katalogi
`examples/` katalogida quyidagi misol fayllari mavjud:
* `basic_usage.py`: Asosiy foydalanish misollari
* `advanced_operations.py`: Murakkab amallar misollari
* `visualization_demo.py`: Vizualizatsiya misollari
* `defuzzification_comparison.py`: Defuzzifikatsiya usullari taqqoslashi
## Rivojatlash
**bash**
```
# Repository ni klonlash
git clone https://github.com/username/fuzzytri.git
cd fuzzytri
# Virtual muhit yaratish
python -m venv venv
source venv/bin/activate # Linux/Mac
# yoki
venv\Scripts\activate # Windows
# Zarur kutubxonalarni o'rnatish
pip install -r requirements.txt
# Testlarni yuritish
pytest tests/
```
## Litsenziya
MIT Litsenziyasi
## Aloqa
Savollar va takliflar uchun:
* GitHub Issues: [https://github.com/asilbek3450/fuzzytri/issues](https://github.com/username/fuzzytri/issues)
* Email: asilbekmirolimov@gmail.com
## Qo'shimcha Ma'lumotlar
* [Noravshan Mantiq Nazariyasi](https://en.wikipedia.org/wiki/Fuzzy_logic)
* [Uchburchak Fuzzy Sonlar](https://en.wikipedia.org/wiki/Fuzzy_set)
* [Python Ilmiy Hisoblash](https://scipy-lectures.org/)
---
**Eslatma** : Bu kutubxona hali rivojlanish jarayonida. Xatoliklar va takliflarni GitHub orqali bildirishingiz mumkin.
**text**
```
## Asosiy o'zgarishlar:
1. **Kod bloklari** to'g'ri formatda
2. **List itemlar** `-` bilan (yoki `*` bilan)
3. **Boshqa hamma narsa** bir xil saqlangan
Endi README.md to'g'ri ishlaydi va GitHub'da yaxshi ko'rinadi! 🚀
```
Raw data
{
"_id": null,
"home_page": null,
"name": "fuzzytri",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "fuzzy, logic, noravshan, vector, mathematics",
"author": null,
"author_email": "FuzzyTri Team <fuzzytri@example.com>",
"download_url": "https://files.pythonhosted.org/packages/b7/72/ce1b183bd9fcc3e4cde242f6129947cedc17827cacaf0deccfec02551e31/fuzzytri-1.1.0.tar.gz",
"platform": null,
"description": "\r\n## FuzzyTri\r\n\r\n```\r\nNoravshan mantiq nazariyasi va amaliyoti uchun Python kutubxonasi. Uchburchak fuzzy sonlar va ular ustida amallarni bajarish imkoniyati.\r\n\r\n## Xususiyatlari\r\n\r\n- \u2705 Uchburchak fuzzy sonlar bilan ishlash\r\n- \u2705 Arifmetik amallar (qo'shish, ayirish, ko'paytirish, bo'lish)\r\n- \u2705 Mantiqiy amallar (birlashma, kesishma, komplement)\r\n- \u2705 Alfa-kesim operatsiyalari\r\n- \u2705 5 xil defuzzifikatsiya usullari\r\n- \u2705 Vizualizatsiya va grafiklar\r\n- \u2705 Kophadli transformatsiyalar (exp, sin, cos)\r\n- \u2705 JSON va dictionary serializatsiya\r\n\r\n## O'rnatish\r\n\r\n### PyPI orqali (kelajakda):\r\n\r\n```bash\r\npip install fuzzytri\r\n```\r\n\r\n### Manba koddan o'rnatish:\r\n\r\n**bash**\r\n\r\n```\r\ngit clone https://github.com/username/fuzzytri.git\r\ncd fuzzytri\r\npip install -e .\r\n```\r\n\r\n## Tezkor Boshlash\r\n\r\n**python**\r\n\r\n```\r\nfrom fuzzytri import FuzzyTriangular, DefuzzificationMethod\r\n\r\n# Fuzzy sonlar yaratish\r\nyosh = FuzzyTriangular(0, 20, 40, \"Yosh\")\r\norta_yosh = FuzzyTriangular(30, 45, 60, \"O'rta yosh\")\r\nqari = FuzzyTriangular(50, 70, 100, \"Qari\")\r\n\r\n# A'zolik darajasini hisoblash\r\nage = 35\r\nprint(f\"{age} yosh uchun a'zolik darajalari:\")\r\nprint(f\"Yosh: {yosh(age):.3f}\")\r\nprint(f\"O'rta yosh: {orta_yosh(age):.3f}\")\r\nprint(f\"Qari: {qari(age):.3f}\")\r\n\r\n# Arifmetik amallar\r\nyosh_10 = yosh + 10\r\nprint(f\"Yosh + 10 = {yosh_10}\")\r\n\r\n# Defuzzifikatsiya\r\nmarkaz = yosh.defuzzify(DefuzzificationMethod.CENTROID)\r\nprint(f\"Yosh fuzzy sonining markazi: {markaz:.2f}\")\r\n```\r\n\r\n## Batafsil Misollar\r\n\r\n### Asosiy Operatsiyalar\r\n\r\n**python**\r\n\r\n```\r\nfrom fuzzytri import FuzzyTriangular, OperationType\r\nimport matplotlib.pyplot as plt\r\n\r\n# Fuzzy sonlar yaratish\r\nA = FuzzyTriangular(1, 3, 5, \"A\")\r\nB = FuzzyTriangular(2, 4, 6, \"B\")\r\n\r\n# Birlashma va kesishma\r\nbirlashma = A.union(B, OperationType.MAX)\r\nkesishma = A.intersection(B, OperationType.MIN)\r\n\r\n# Alfa-kesim\r\nalpha = 0.7\r\nalpha_kesim = A.alpha_cut(alpha)\r\nprint(f\"Alpha={alpha} kesim: {alpha_kesim}\")\r\n\r\n# Grafik chizish\r\nA.plot(color='blue', show_core=True)\r\nB.plot(color='red', show_core=True)\r\nplt.show()\r\n```\r\n\r\n### Transformatsiyalar\r\n\r\n**python**\r\n\r\n```\r\nfrom fuzzytri import FuzzyTriangular\r\n\r\n# Fuzzy son yaratish\r\ntemp = FuzzyTriangular(15, 25, 35, \"Harorat\")\r\n\r\n# Eksponensial transformatsiya\r\nexp_data = temp.fuzzy_exp()\r\n\r\n# Sinus transformatsiya \r\nsin_data = temp.fuzzy_sin()\r\n\r\n# Grafik chizish\r\ntemp.plot_transformation('exp')\r\ntemp.plot_transformation('sin')\r\n```\r\n\r\n### Defuzzifikatsiya Usullari\r\n\r\n**python**\r\n\r\n```\r\nfrom fuzzytri import FuzzyTriangular, DefuzzificationMethod\r\n\r\nfuzzy_son = FuzzyTriangular(10, 20, 30, \"Namuna\")\r\n\r\n# Turli defuzzifikatsiya usullari\r\nusullar = [\r\n DefuzzificationMethod.CENTROID,\r\n DefuzzificationMethod.BISECTOR,\r\n DefuzzificationMethod.MEAN_OF_MAXIMUM,\r\n DefuzzificationMethod.LARGEST_OF_MAXIMUM,\r\n DefuzzificationMethod.SMALLEST_OF_MAXIMUM\r\n]\r\n\r\nfor usul in usullar:\r\n natija = fuzzy_son.defuzzify(usul)\r\n print(f\"{usul.value}: {natija:.2f}\")\r\n```\r\n\r\n## API Dokumentatsiya\r\n\r\n### FuzzyTriangular Klassi\r\n\r\n#### Konstruktor\r\n\r\n**python**\r\n\r\n```\r\nFuzzyTriangular(a: float, b: float, c: float, name: str = \"Triangular\")\r\n```\r\n\r\n* `a`: Chap chegarasi (support boshi)\r\n* `b`: Maksimal qiymat (core)\r\n* `c`: O'ng chegarasi (support oxiri)\r\n* `name`: Fuzzy son nomi\r\n\r\n#### Asosiy Metodlar\r\n\r\n* `membership(x: float) -> float`: x nuqtadagi a'zolik darajasi\r\n* `alpha_cut(alpha: float) -> Tuple[float, float]`: Alfa-kesim oraliq\r\n* `defuzzify(method: DefuzzificationMethod) -> float`: Defuzzifikatsiya\r\n* `plot(**kwargs) -> plt.Axes`: Grafik chizish\r\n* `union(other, method) -> Callable`: Birlashma amali\r\n* `intersection(other, method) -> Callable`: Kesishma amali\r\n* `complement() -> Callable`: Komplement amali\r\n\r\n#### Xususiyatlar\r\n\r\n* `support`: A'zolik > 0 bo'lgan oraliq\r\n* `core`: A'zolik = 1 bo'lgan oraliq\r\n* `height`: Maksimal a'zolik darajasi\r\n* `area`: Fuzzy to'plam yuzasi\r\n* `centroid`: Markaz nuqtasi\r\n\r\n## Loyihani Ishga Tushirish\r\n\r\n**bash**\r\n\r\n```\r\n# Kutubxonani o'rnatish\r\npip install -e .\r\n\r\n# Testlarni ishga tushirish\r\npytest\r\n\r\n# Misollarni ishga tushirish\r\npython examples/basic_usage.py\r\npython examples/advanced_operations.py\r\npython examples/visualization_demo.py\r\n```\r\n\r\n## Misollar Katalogi\r\n\r\n`examples/` katalogida quyidagi misol fayllari mavjud:\r\n\r\n* `basic_usage.py`: Asosiy foydalanish misollari\r\n* `advanced_operations.py`: Murakkab amallar misollari\r\n* `visualization_demo.py`: Vizualizatsiya misollari\r\n* `defuzzification_comparison.py`: Defuzzifikatsiya usullari taqqoslashi\r\n\r\n## Rivojatlash\r\n\r\n**bash**\r\n\r\n```\r\n# Repository ni klonlash\r\ngit clone https://github.com/username/fuzzytri.git\r\ncd fuzzytri\r\n\r\n# Virtual muhit yaratish\r\npython -m venv venv\r\nsource venv/bin/activate # Linux/Mac\r\n# yoki\r\nvenv\\Scripts\\activate # Windows\r\n\r\n# Zarur kutubxonalarni o'rnatish\r\npip install -r requirements.txt\r\n\r\n# Testlarni yuritish\r\npytest tests/\r\n```\r\n\r\n## Litsenziya\r\n\r\nMIT Litsenziyasi\r\n\r\n## Aloqa\r\n\r\nSavollar va takliflar uchun:\r\n\r\n* GitHub Issues: [https://github.com/asilbek3450/fuzzytri/issues](https://github.com/username/fuzzytri/issues)\r\n* Email: asilbekmirolimov@gmail.com\r\n\r\n## Qo'shimcha Ma'lumotlar\r\n\r\n* [Noravshan Mantiq Nazariyasi](https://en.wikipedia.org/wiki/Fuzzy_logic)\r\n* [Uchburchak Fuzzy Sonlar](https://en.wikipedia.org/wiki/Fuzzy_set)\r\n* [Python Ilmiy Hisoblash](https://scipy-lectures.org/)\r\n\r\n---\r\n\r\n **Eslatma** : Bu kutubxona hali rivojlanish jarayonida. Xatoliklar va takliflarni GitHub orqali bildirishingiz mumkin.\r\n\r\n**text**\r\n\r\n```\r\n## Asosiy o'zgarishlar:\r\n1. **Kod bloklari** to'g'ri formatda\r\n2. **List itemlar** `-` bilan (yoki `*` bilan) \r\n3. **Boshqa hamma narsa** bir xil saqlangan\r\n\r\nEndi README.md to'g'ri ishlaydi va GitHub'da yaxshi ko'rinadi! \ud83d\ude80\r\n```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Noravshan mantiq nazariyasi va amaliyoti uchun Python kutubxonasi",
"version": "1.1.0",
"project_urls": {
"Documentation": "https://fuzzytri.readthedocs.io",
"Homepage": "https://github.com/username/fuzzytri",
"Issue Tracker": "https://github.com/username/fuzzytri/issues",
"Repository": "https://github.com/username/fuzzytri"
},
"split_keywords": [
"fuzzy",
" logic",
" noravshan",
" vector",
" mathematics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0fa59d2fcdfdeb4889f420618fafb3b3a7c8a16b922a8bfe15ee364bf9bc3327",
"md5": "beb6f5cd80293ae60afeed55b4984c5d",
"sha256": "b02f9f8888d0e30953f34060a3dc6f36f04b78007885dd4782bda8b9757dc767"
},
"downloads": -1,
"filename": "fuzzytri-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "beb6f5cd80293ae60afeed55b4984c5d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 21767,
"upload_time": "2025-10-20T10:31:53",
"upload_time_iso_8601": "2025-10-20T10:31:53.002978Z",
"url": "https://files.pythonhosted.org/packages/0f/a5/9d2fcdfdeb4889f420618fafb3b3a7c8a16b922a8bfe15ee364bf9bc3327/fuzzytri-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b772ce1b183bd9fcc3e4cde242f6129947cedc17827cacaf0deccfec02551e31",
"md5": "5ec4abbd6d9e23471b5cb3f982f4797e",
"sha256": "13fa7762330fc891f017cb574aa0922d52a3674ff211f9a4530dc92b8596187b"
},
"downloads": -1,
"filename": "fuzzytri-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "5ec4abbd6d9e23471b5cb3f982f4797e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 39245,
"upload_time": "2025-10-20T10:31:55",
"upload_time_iso_8601": "2025-10-20T10:31:55.042308Z",
"url": "https://files.pythonhosted.org/packages/b7/72/ce1b183bd9fcc3e4cde242f6129947cedc17827cacaf0deccfec02551e31/fuzzytri-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-20 10:31:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "username",
"github_project": "fuzzytri",
"github_not_found": true,
"lcname": "fuzzytri"
}