
Bilimler bazası hám ekspert sistemaları
.pdfBilimler bazası hám ekspert sistemaları
Jobası:
Kirisiw
Bilimlerdi ajıratıp alıw usılları
Bilimlerdi usınıw modelleri
Anıq emes bilim modelleri
Ekspert sistemaları
Ámeliy qollanıw
1. Kirisiw
Bilimler bazası - bul qanday da bir taraw boyınsha bilimlerdi sistemalı túrde saqlawǵa hám qayta islewge múmkinshilik beretuǵın maǵlıwmatlar bazasınıń bir túri. Bilimler bazası ekspert sistemaların jaratıwdıń tiykarǵı elementi bolıp tabıladı.
2. Bilimlerdi ajıratıp alıw usılları
Bilimlerdi ajıratıp alıw - bul ekspertlerdiń bilimlerin formallaw hám strukturalaw procesi. Tiykarǵı usılları:
2.1.Tekstlik dereklerde analiz júrgiziw
Kitaplar, maqalalar, dokumentler
Ilimiy izertlewler nátiyjeleri
Texnikalıq hújjetler
2.2.Ekspertler menen jumıs
Soraw-juwap
Bayqaw
Anketa tolıtırıw
Intervyu alıw
2.3.Másele sheshiw processin analiz qılıw
Case-study
Protocol-analiz
Sheshimler teregi
3. Bilimlerdi usınıw modelleri
3.1. Freym modeli
Freym - bul obyekttiń yamasa situaciyanıń strukturalıq kórinisin beriwshi data strukturası.

Freymniń strukturası:
Freym atı
Slotlar (qásiyetler)
Slotlar mánisleri
Demon proceduraları
Slottı tolıtırıw qaǵıydaları
3.2.Produkciyalıq model
Produkciyalıq model "eger-onda" túrindegi qaǵıydalar sistemasına tiykarlanǵan.
Strukturası:
Copy
EGER <shárt>
ONDA <háreket/juwmaq>
Artıqmashılıqları:
Ápiwayı hám túsinikli
Modullik
Parallel qayta islew múmkinshiligi
3.3.Logikalıq model
Predikatlıq logika tiykarında bilimlerdi usınıw.
Tiykarǵı elementleri:
Faktler
Qaǵıydalar
Logikalıq operatorlar
Predikatlıq formulalar
3.4.Semantikalıq model
Semantikalıq tor arqalı bilimlerdi usınıw.
Komponentleri:
Túyinler (koncept/obyektler)
Baylanıslar (qatnaslar)
Qásiyetler
4.Anıq emes bilim modelleri

4.1.Anıq emes logika tiykarları
Anıq emes kóplikler
Lingvistikalıq ózgeriwshiler
Aǵzalıq funkciyası
4.2.Anıq emes qaǵıydalar
EGER x anıq emes A
ONDA y anıq emes B
4.3.Qollanıw tarawları
Basqarıw sistemaları
Sheshim qabıl qılıw
Pattern tanıw
5. Ekspert sistemaları
5.1. Tiykarǵı túsinikler
Ekspert sisteması - bul qanday da bir taraw boyınsha ekspertlik bilimlerdi qollanıp, qıyın máseleledi sheshiwge járdem beretuǵın programmalıq támiynlew.
5.2.Ekspert sistemasınıń strukturası
1.Bilimler bazası
2.Juwmaq shıǵarıw mashini
3.Maǵlıwmatlar bazası
4.Túsindiriw moduli
5.Bilimlerdi ajıratıp alıw moduli
6.Paydalanıwshı interfeysi
5.3.Ekspert sistemalarınıń tipleri
Diagnostikalıq
Proǵnozlawshı
Jobalawshı
Monitoringli
Oqıtıwshı
5.4.Qollanıw tarawları
Medicinalıq diagnostika
Finans analizi
Texnikalıq qollaw
Ilimiy izertlewler

Biznes konsalting
6.Ámeliy qollanıw
6.1.Ekspert sistemasın jaratıw basqıshları
1.Másele qoyıw
2.Bilimlerdi jıynaw
3.Formallaw
4.Prototip jaratıw
5.Testlew
6.Óndiriske endiriw
6.2.Zamanagóy qurallar
CLIPS
Prolog
Python frameworkleri
Jaqın AI sistemaları
Juwmaq
Bilimler bazası hám ekspert sistemaları - jasalma intellekttiń áhmiyetli bólimi bolıp, kóp tarmalarda qollanıladı. Házirgi waqıtta bul sistemaları machine learning (mashinalıq oqıtıw) hám neural networks (neyron tarmaqlar) penen integraciyalaw aktiv rawajlanbaqta.
Áhmiyetli terminler
Freym
Produkciya
Semantikalıq tor
Anıq emes logika
Ekspert sistema
Bilimlerdi usınıw
Juwmaq shıǵarıw mashinı
ÁMELIY MÍSAL:
# 1. Freym modeli mısalı class Freym:
def __init__(self, atı): self.atı = atı self.slotlar = {}
def slot_qosıw(self, slot_atı, mánis): self.slotlar[slot_atı] = mánis

def slot_alıw(self, slot_atı):
return self.slotlar.get(slot_atı)
def kórsetiw(self): print(f"\nFreym: {self.atı}")
for slot, mánis in self.slotlar.items(): print(f"{slot}: {mánis}")
#Freym mısalın qollanıw def freym_mısal():
print("\n1. Freym modeli mısalı:") student = Freym("Student") student.slot_qosıw("atı", "Arıwxan") student.slot_qosıw("jası", 20) student.slot_qosıw("kurs", 3) student.kórsetiw()
#2. Produkciyalıq model mısalı
class Qaǵıyda:
def __init__(self, shárt_func, nátiyzhe): self.shárt = shárt_func self.nátiyzhe = nátiyzhe
class ProdukciyaSistema: def __init__(self):
self.qaǵıydalar = [] self.faktler = {}
def qaǵıyda_qosıw(self, qaǵıyda): self.qaǵıydalar.append(qaǵıyda)
def fakt_qosıw(self, atı, mánis): self.faktler[atı] = mánis
def juwmaq_shıǵarıw(self): juwmaqlar = []
for qaǵıyda in self.qaǵıydalar:
if qaǵıyda.shárt(self.faktler): juwmaqlar.append(qaǵıyda.nátiyzhe)
return juwmaqlar
# Produkciya mısalın qollanıw def produkciya_mısal():
print("\n2. Produkciyalıq model mısalı:") sistema = ProdukciyaSistema()
# Qaǵıydalar qosıw
def temperatura_joqarı(faktler):
return faktler.get('temperatura', 0) > 38
def qan_basımı_joqarı(faktler):
return faktler.get('qan_basımı', 0) > 140
sistema.qaǵıyda_qosıw(Qaǵıyda(temperatura_joqarı, "Temperatura joqarı")) sistema.qaǵıyda_qosıw(Qaǵıyda(qan_basımı_joqarı, "Qan basımı joqarı"))
# Faktler qosıw

sistema.fakt_qosıw('temperatura', 39) sistema.fakt_qosıw('qan_basımı', 150)
# Juwmaq shıǵarıw
juwmaqlar = sistema.juwmaq_shıǵarıw() print("Juwmaqlar:", juwmaqlar)
# 3. Anıq emes logika mısalı class AnıqEmesLogika:
def __init__(self): self.aǵzalıq_funkc = {}
def aǵzalıq_qosıw(self, atı, min_mánis, max_mánis): def aǵzalıq_funksiyası(x):
if x < min_mánis or x > max_mánis: return 0
if min_mánis <= x <= max_mánis:
return 1 - abs((2 * x - (max_mánis + min_mánis)) / (max_mánis -
min_mánis))
return 0
self.aǵzalıq_funkc[atı] = aǵzalıq_funksiyası
def bahalaw(self, atı, mánis):
return self.aǵzalıq_funkc[atı](mánis)
# Anıq emes logika mısalın qollanıw def anıq_emes_mısal():
print("\n3. Anıq emes logika mısalı:") sistema = AnıqEmesLogika()
#Temperatura ushın anıq emes kóplikler sistema.aǵzalıq_qosıw("temperatura_joqarı", 37.5, 40)
#Test mánisler
temperaturalar = [37.0, 38.0, 39.0, 40.0] print("Temperatura joqarı bolıw dárejesi:") for temp in temperaturalar:
dáreje = sistema.bahalaw("temperatura_joqarı", temp) print(f"Temperatura {temp}°C: {dáreje:.2f}")
# 4. Ekspert sisteması mısalı class EkspertSistema:
def __init__(self): self.bilimler = {} self.qaǵıydalar = []
def bilim_qosıw(self, atı, mánis): self.bilimler[atı] = mánis
def qaǵıyda_qosıw(self, shárt_func, nátiyzhe): self.qaǵıydalar.append((shárt_func, nátiyzhe))
def diagnoz_qoyıw(self, simptomlar): natiyjeler = []
for qaǵıyda in self.qaǵıydalar: if qaǵıyda[0](simptomlar):
natiyjeler.append(qaǵıyda[1])

return natiyjeler
# Ekspert sisteması mısalın qollanıw def ekspert_sistema_mısal():
print("\n4. Ekspert sisteması mısalı:") sistema = EkspertSistema()
# Qaǵıydalar qosıw
def gripp_qaǵıyda(simptomlar):
return ('temperatura' in simptomlar and 'bas awırıwı' in simptomlar and 'buwin awırıwı' in simptomlar)
def suıq_tiygen_qaǵıyda(simptomlar): return ('temperatura' in simptomlar and
'júteliw' in simptomlar)
sistema.qaǵıyda_qosıw(gripp_qaǵıyda, "Gripp bolıwı múmkin") sistema.qaǵıyda_qosıw(suıq_tiygen_qaǵıyda, "Suıq tiyiw bolıwı múmkin")
# Test
pacient_simptomları = {'temperatura', 'bas awırıwı', 'buwin awırıwı', 'júteliw'} diagnoz = sistema.diagnoz_qoyıw(pacient_simptomları)
print("Pacient simptomları:", pacient_simptomları) print("Diagnoz:", diagnoz)
# Barlıq mısallardı orınlaw if __name__ == "__main__":
freym_mısal() produkciya_mısal() anıq_emes_mısal() ekspert_sistema_mısal()
Joqarıdaǵı kodta tómendegi 4 ámeliy mısal implementaciyalanǵan:
1. Freym modeli mısalı:
oStudent haqqında maǵlıwmatlardı freym túrinde saqlap atır
oSlot qosıw hám alıw funkciyaları bar
oFreymdi kórsetiw funkciyası bar
2.Produkciyalıq model mısalı:
oMedicinalıq diagnostika sisteması
o "Eger-onda" qaǵıydaları menen isleydi
oFaktlerdi qaǵıydalar menen salıstırıp juwmaq shıǵaradı
3.Anıq emes logika mısalı:
oTemperatura ushın anıq emes kóplikler
o Aǵzalıq funkciyası arqalı bahalawdı esaplaydı
oHár qıylı temperaturalar ushın anıq emeslik dárejesin kórsetedi
4.Ekspert sisteması mısalı:
oAwırıwdı anıqlaw sisteması
o Bir neshe simptomlar tiykarında diagnoz qoyadı o Qaǵıydalar hám bilimler bazasına iye
Kodtı qollanıw ushın:
1. Kodtı .py faylına saqlan'

2.Fayldı orınlan'
3.Hár bir mısaldıń nátiyjesi konsolta basıp shıǵarıladı
Bul mısallardı keńeytiwge yamasa basqa tarawlarda qollanıwǵa boladı.
Keyingi mısal:
# Tolıq bilimler bazası hám ekspert sistemaları sisteması import time
from typing import Dict, List, Set, Callable, Any, Tuple
class Freym:
"""Freym klassi - obyektlerdi strukturalı túrde saqlawǵa arnalǵan""" def __init__(self, atı: str):
self.atı = atı
self.slotlar: Dict[str, Any] = {} self.demon_proceduralar: Dict[str, Callable] = {}
def slot_qosıw(self, slot_atı: str, mánis: Any) -> None:
"""Freymge jańa slot qosıw""" self.slotlar[slot_atı] = mánis
if slot_atı in self.demon_proceduralar: self.demon_proceduralar[slot_atı](mánis)
def demon_qosıw(self, slot_atı: str, procedura: Callable) -> None:
"""Slotqa demon procedura qosıw""" self.demon_proceduralar[slot_atı] = procedura
def slot_alıw(self, slot_atı: str) -> Any:
"""Slottıń mánisin alıw""" return self.slotlar.get(slot_atı)
def kórsetiw(self) -> None:
"""Freymnıń maǵlıwmatların kórsetiw""" print(f"\nFreym: {self.atı}")
for slot, mánis in self.slotlar.items(): print(f"{slot}: {mánis}")
class Qaǵıyda:
"""Produkciyalıq qaǵıyda klassi"""
def __init__(self, shárt: Callable[[Dict], bool], nátiyzhe: str, salmaǵı: float = 1.0):
self.shárt = shárt self.nátiyzhe = nátiyzhe self.salmaǵı = salmaǵı
def tekser(self, faktler: Dict) -> bool:
"""Qaǵıydanı tekserip kóriw""" return self.shárt(faktler)
class AnıqEmesLogika:
"""Anıq emes logika klassi""" def __init__(self):
self.aǵzalıq_funkc: Dict[str, Callable] = {}

def aǵzalıq_qosıw(self, atı: str, min_mánis: float, max_mánis: float) -> None:
"""Anıq emes kóplik ushın aǵzalıq funkciyasın qosıw""" def aǵzalıq_funksiyası(x: float) -> float:
if x < min_mánis or x > max_mánis: return 0
if min_mánis <= x <= max_mánis:
return 1 - abs((2 * x - (max_mánis + min_mánis)) / (max_mánis -
min_mánis))
return 0
self.aǵzalıq_funkc[atı] = aǵzalıq_funksiyası
def bahalaw(self, atı: str, mánis: float) -> float:
"""Berilgen mánis ushın aǵzalıq dárejesin esaplaw""" return self.aǵzalıq_funkc[atı](mánis)
class EkspertSistema:
"""Ekspert sisteması klassi""" def __init__(self):
self.freymler: Dict[str, Freym] = {} self.qaǵıydalar: List[Qaǵıyda] = [] self.faktler: Dict[str, Any] = {} self.anıq_emes = AnıqEmesLogika()
self.juwmaqlar_tariyxı: List[Tuple[str, float]] = []
def freym_qosıw(self, freym: Freym) -> None:
"""Sistemaga freym qosıw""" self.freymler[freym.atı] = freym
def qaǵıyda_qosıw(self, qaǵıyda: Qaǵıyda) -> None:
"""Sistemaga qaǵıyda qosıw""" self.qaǵıydalar.append(qaǵıyda)
def fakt_qosıw(self, atı: str, mánis: Any) -> None:
"""Sistemaga fakt qosıw""" self.faktler[atı] = mánis
def juwmaq_shıǵarıw(self) -> List[Tuple[str, float]]:
"""Barlıq qaǵıydalar tiykarında juwmaq shıǵarıw""" juwmaqlar: List[Tuple[str, float]] = []
for qaǵıyda in self.qaǵıydalar:
if qaǵıyda.tekser(self.faktler): juwmaqlar.append((qaǵıyda.nátiyzhe, qaǵıyda.salmaǵı))
self.juwmaqlar_tariyxı.extend(juwmaqlar) return juwmaqlar
def tariyxtı_kórsetiw(self) -> None:
"""Juwmaqlar tariyxın kórsetiw""" print("\nJuwmaqlar tariyxı:")
for juwmaq, salmaǵı in self.juwmaqlar_tariyxı: print(f"Juwmaq: {juwmaq}, Iseniw dárejesi: {salmaǵı}")
def medicinaǵa_mısal():
"""Medicinalıq diagnostika sisteması mısalı""" print("\nMedicinalıq diagnostika sisteması:")
# Ekspert sistemasın jaratıw

sistema = EkspertSistema()
# Freymler qosıw
pacient = Freym("Pacient") pacient.slot_qosıw("atı", "Alisher") pacient.slot_qosıw("jası", 25) sistema.freym_qosıw(pacient)
# Anıq emes kóplikler qosıw sistema.anıq_emes.aǵzalıq_qosıw("temperatura_joqarı", 37.5, 40) sistema.anıq_emes.aǵzalıq_qosıw("qan_basımı_joqarı", 140, 180)
# Qaǵıydalar qosıw
def gripp_qaǵıyda(faktler: Dict) -> bool:
temp_dáreje = sistema.anıq_emes.bahalaw("temperatura_joqarı", faktler.get('temperatura', 0))
return (temp_dáreje > 0.5 and
'bas_awırıwı' in faktler and 'buwin_awırıwı' in faktler)
def gipertoniya_qaǵıyda(faktler: Dict) -> bool:
qan_basımı_dáreje = sistema.anıq_emes.bahalaw("qan_basımı_joqarı", faktler.get('qan_basımı', 0))
return qan_basımı_dáreje > 0.7
sistema.qaǵıyda_qosıw(Qaǵıyda(gripp_qaǵıyda, "Gripp bolıwı múmkin", 0.8)) sistema.qaǵıyda_qosıw(Qaǵıyda(gipertoniya_qaǵıyda, "Gipertoniya belgileri bar",
0.9))
# Faktler qosıw sistema.fakt_qosıw('temperatura', 38.5) sistema.fakt_qosıw('qan_basımı', 150) sistema.fakt_qosıw('bas_awırıwı', True) sistema.fakt_qosıw('buwin_awırıwı', True)
#Pacient maǵlıwmatların kórsetiw sistema.freymler["Pacient"].kórsetiw()
#Diagnoz qoyıw
print("\nDiagnoz:")
juwmaqlar = sistema.juwmaq_shıǵarıw() for juwmaq, salmaǵı in juwmaqlar:
print(f"- {juwmaq} (Iseniw dárejesi: {salmaǵı:.2f})")
return sistema
def texnikalıq_support_mısal():
"""Kompyuter mashqalaların anıqlaw sisteması mısalı""" print("\nKompyuter texnikalıq support sisteması:")
sistema = EkspertSistema()
# Freym qosıw
kompyuter = Freym("Kompyuter") kompyuter.slot_qosıw("model", "HP Pavilion") kompyuter.slot_qosıw("os", "Windows 10") sistema.freym_qosıw(kompyuter)