fuzzytri


Namefuzzytri JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryNoravshan mantiq nazariyasi va amaliyoti uchun Python kutubxonasi
upload_time2025-10-20 10:31:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
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"
}
        
Elapsed time: 0.77484s