СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ
Благодаря готовым учебным материалам для работы в классе и дистанционно
Скидки до 50 % на комплекты
только до
Готовые ключевые этапы урока всегда будут у вас под рукой
Организационный момент
Проверка знаний
Объяснение материала
Закрепление изученного
Итоги урока
Адам мен машинаның бірлескен қызметі өте актуалды. Компьютер адамға кеңесші болу қажет, жағдайды тез талдап іс-әрекет варианттарын кісіге ұсыну керек. Ал адам келтірілген вариаттардан керегін таңдайды.
Қазір жасанды интеллект - шешімді жасау мен қабылдау үшін адамның қызметін күшейтетін, өзін-өзі үйрететін құрал-сайман.
Орын ауыстыру, билет сату (яғни тізбекті және дәлдікті орындауы мен дәл нәтижесін алуы қажетті есептер) есептерді шешу үшін формалданған орындаушының басқаруы алгоритмдық пайдаланушы үшін бағдарлама түрде орындалады. Осында пайдаланушының қолында нақты анықталған командалар жүйесі мен орта болады, олар шешілетін есептің және басқарудың сипатына әсер етеді. Бірақ, формалдауға жатпайтын есептерде бар. Осындай есептер типіне эвристикалық есептерді, тиімді басқару есептерді, бейнені айырып тануды, мәтінді машиналық аударуын және т.б-ды жатқызуға болады. Бұл есептер интеллектке жатады, осындай есептердің компьютерлік құралдар көмегімен шешу проблемасы кибернетика бағытының зерттеу ядросын құрастырады, оны жасанды интеллект деп атайды.
Жасанды интеллект (ЖИ) – компьютерлік құралдар арқылы жеке ақыл-ой іс-әрекеттерін орындау. ЖИ жеке ғылыми бағыт ретінде XX ғасырдың екінші жартысында пайда болды (бұл көбінесе, кибернетиканың дамуына тәуелді болатын). Басқару талдау, салыстыру, ақпаратты өңдеу, болжамды жасау, жорамалдың дұрыстығын дәлелдеу (яғни интеллектуалды қызметіне жататын операциялар) негізінде шешімді қабылдаумен байланысты болады.
Жасанды интеллект жүйелері – арнайы логикалық жүйелер арқылы компьютерлік бағдарламада жүзеге асырылған адам интеллектің жеке аспектісін ұдайы өндіретін техникалық жүйелер.
Жасанды интеллект жүйелерінің қолдану салалары:
- роботтехникасы;
- сараптамалық жүйелер;
- есептерді әмбебап шешушіні жасау;
- бір тілден екінші тілге аудару, мәтінді рефераттау;
- пайдаланушыны компьютермен ыңғайлы диалогын қамтамасыз ететін интеллектуалды интерфейсты жасау.
Өткен ғасырдың соңғы он жылдығында интеллектуалды жүйелер дамуының келесі маңызды бағдарлары анық көрінді:
1. Шығармашылық үдерістерді еліктейтін жүйелер. Музыкалық шығармаларды жасау, ойын есептерді (шахмат, дойбы, домино) шешу, автоматтандырылған аударма, теоремаларды дәлелдеу, бейнелерді айырып тану, ойлауды еліктеу және т.с.с.
2. Білімдерге негізделген (сараптау жүйесі) ақпараттық жүйелер, яғни жабдықтарды күйге келтіру, тәжірибелі емес пайдаланушыларға кеңес беру, оқыту және т.б.
Қазалы көлік-техникалық жоғары колледжі
БАЯНДАМА
Тақырыбы: Объектті – бағытталған сараптаушы жүйелер
Орындағандар: Терекбаева А.Б.
Әйтеке би кенті
КІРІСПЕ
Адам мен машинаның бірлескен қызметі өте актуалды. Компьютер адамға кеңесші болу қажет, жағдайды тез талдап іс-әрекет варианттарын кісіге ұсыну керек. Ал адам келтірілген вариаттардан керегін таңдайды.
Қазір жасанды интеллект - шешімді жасау мен қабылдау үшін адамның қызметін күшейтетін, өзін-өзі үйрететін құрал-сайман.
Орын ауыстыру, билет сату (яғни тізбекті және дәлдікті орындауы мен дәл нәтижесін алуы қажетті есептер) есептерді шешу үшін формалданған орындаушының басқаруы алгоритмдық пайдаланушы үшін бағдарлама түрде орындалады. Осында пайдаланушының қолында нақты анықталған командалар жүйесі мен орта болады, олар шешілетін есептің және басқарудың сипатына әсер етеді. Бірақ, формалдауға жатпайтын есептерде бар. Осындай есептер типіне эвристикалық есептерді, тиімді басқару есептерді, бейнені айырып тануды, мәтінді машиналық аударуын және т.б-ды жатқызуға болады. Бұл есептер интеллектке жатады, осындай есептердің компьютерлік құралдар көмегімен шешу проблемасы кибернетика бағытының зерттеу ядросын құрастырады, оны жасанды интеллект деп атайды.
Жасанды интеллект (ЖИ) – компьютерлік құралдар арқылы жеке ақыл-ой іс-әрекеттерін орындау. ЖИ жеке ғылыми бағыт ретінде XX ғасырдың екінші жартысында пайда болды (бұл көбінесе, кибернетиканың дамуына тәуелді болатын). Басқару талдау, салыстыру, ақпаратты өңдеу, болжамды жасау, жорамалдың дұрыстығын дәлелдеу (яғни интеллектуалды қызметіне жататын операциялар) негізінде шешімді қабылдаумен байланысты болады.
Жасанды интеллект жүйелері – арнайы логикалық жүйелер арқылы компьютерлік бағдарламада жүзеге асырылған адам интеллектің жеке аспектісін ұдайы өндіретін техникалық жүйелер.
Жасанды интеллект жүйелерінің қолдану салалары:
- роботтехникасы;
- сараптамалық жүйелер;
- есептерді әмбебап шешушіні жасау;
- бір тілден екінші тілге аудару, мәтінді рефераттау;
- пайдаланушыны компьютермен ыңғайлы диалогын қамтамасыз ететін интеллектуалды интерфейсты жасау.
Өткен ғасырдың соңғы он жылдығында интеллектуалды жүйелер дамуының келесі маңызды бағдарлары анық көрінді:
1. Шығармашылық үдерістерді еліктейтін жүйелер. Музыкалық шығармаларды жасау, ойын есептерді (шахмат, дойбы, домино) шешу, автоматтандырылған аударма, теоремаларды дәлелдеу, бейнелерді айырып тану, ойлауды еліктеу және т.с.с.
2. Білімдерге негізделген (сараптау жүйесі) ақпараттық жүйелер, яғни жабдықтарды күйге келтіру, тәжірибелі емес пайдаланушыларға кеңес беру, оқыту және т.б.
3. Интеллектуалды ақпараттық жүйелер – заттық салада есептерді шешуге арналған математикалық және алгоритмдық модельдерге негізделген үлкен және өте үлкен бағдарламалар. Олардың мүмкіндігі: басқаруды оңайлату және адамның жұмыс көлемін азайту үшін пайдаланушымен мағыналы сұхбат жүргізу.
4. Роботтық техника. «Интеллектуалдығы» жағынан бірнеше робот буындарын ажыратады. Бірінші буын – алдын ала бекітілген және өзгермейтін бағдарлама бойынша істейтін робот-манипуляторлар (мысалы, станокқа дайындамаларды әперетін). Екінші буын – бейімделген роботтар. Осындай роботтар әртүрлі датчиктермен (бұрышөлшеуіштер, тензометрлер, газ талдаушылар және т.б.) жабдықталған. Роботтардың алғашқы екі түрі - өнеркәсіптік роботтар, олар арнайы ортада (зауыт цехында) жұмыс істеуге арналған. Ұқсас проблемалар іздестіру роботтар да пайда болады, бұл ерекше бағдарламалар Ғаламторда құжаттарды индексациялауға арналған.
САРАПТАУШЫ ЖҮЙЕЛЕР
1.1. «Сараптаушы жүйе» анықтамасы
Жасанды интеллект әдістерінің кең тәжірибелік мәлімі «Сараптамалық жүйе» деп аталатын ерекше бағдарлама жасауымен өмірге келді.
Осындай бағдарламалар өткен ғасырдың 60 жылдары бірінші пайда болып, белгілі бір заттық саласы үшін жасанды «ақыл-ойды» жасауға арналған болатын. Мысалы, MYCIN бағдарламасы гематология саласында «дәрігер» ретінде ойланған, CASNET – көз аурулар саласында; ELIZA бағдарламасы «психолог» рөлін атқаруға арналған болатын және т.б.
60-70 жылдары сараптамалық жүйелердің көбі ең жақсы сарапшылардың (кейбір заттық салада) тәжірибесін жинауға мүмкіндік беретін бағдарламалық механизмі болып ойланатын. Сол кезеңдегі жасақталған деректер қорылары бұл рөльді атқаруға келмеген, өйткені олардың іздестіру тілі аса икемді емес; одан басқа ДҚ арналған іздестіру тілінің рекурсивтігі (яғни өзін өзі шақыру мүмкіндігі) болмаған.
Сараптаушы жүйенің қазіргі түсінуі – бұл тар мамандандырылған бағдарламалық кешен. Ол не өте тез стандартты шешімдерді (көбінесе, техникалық объектілерді басқару үшін) қабылдауға, не пайдаланушымен сұхбат негізінде, кейбір шешімнің таңдауына көмектесуге мүмкіндік береді (пайдаланушы ұсынатың варианттарға баға беру жолымен және өзінің шешу варианттарын ұсынуы мен оларды түзету (9.1-сурет)).
1.1-сурет. Сараптаушы жүйенің пайдалануымен әрекеттесу технологиялары және дәстүрлі сызба
1.2. Сараптаушы жүйелермен жұмыс істеу технологиясы
Сараптаушы жүйенің көмегімен қолданбалы есептің шешуі бұл әрқашан мақсатқа бейімділік итеративті процесс (9.1-сурет), себебі оның белгілі бір көзқарасына сәйкес ең жақсы шешімді табу мақсаты бар.
Егер сараптамалық жүйені қолданбай (басқа бағдарламалық құралдар арқылы) шешімді табатын болсақ, онда бұл бір реттік есеп болып табылады.
Сараптаушы жүйемен «сараптаушы емес» жүйелерінің арасындағы негізгі айырмашылығы – біріншісі әрбір итерациясында заттық салада жаңа алгоритм пайдаланады, бұл алдағы қадамның алгоритмның параметрлерімен ғана емес, құрылымымен де ерекшеленеді. Яғни қойылған мақсатқа жету кезінде мақсат және оның параметрлері де өзгеру мүмкін. 9.1-суретте сараптамалық жүйесі және оларсыз жұмыс кезеңдерінің салыстырмалы сызбалары көрсетілген.
1.3. Сараптаушы жүйелердің құрылымы
1.2-суретте абстракты сараптамалық жүйенің жалпы құрылымы берілген. Нақты сараптамалық жүйелер осындай құрылымға көбінесе, толық сай бола алмайды, себебі нақты сараптамалық жүйеде, әрбір заттық саласы үшін сипатты, қосымша блоктар өте көп болады. Сонда да жұмыстың жалпы технологиясы және СЖ негізгі құрылым элементтерінің міндеті түсінікті болу мүмкін.
1.2-сурет. Абстракты сараптаушы жүйенің жалпы құрылымы
Сараптаушы жүйенің басқа бағдарламалардан басты құрылымдық айырмашылығы – бұл білімдер қорының бар болуы және оқып үйрену мен өзін үйрету қабілетінде. Оның нақты түрі таңдалған ұсыну моделіне қатты тәуелді, бірақ жалпы түрде оған әрқашан фактілі және алгоритмды бөліктер кіреді.
Енді өнімдер ережелері жүйесі үшін біз фактілер және ережелер (логикалық, көбінесе дедуктивты қорытынды) туралы айтып отырамыз.
Мысал. Айтып салу: крокодил (табандары, тістері, құйрығы, түсі).
Ереже. крокодил (X, Y, Z, U), егер X = «қысқа», Y = «үлкен», Z = «ұзын», U = «жасыл».
Білімдерді ұсынудың фреймды моделіне негізделген, жасанды интелект жүйесі үшін фактілер мен әдістер (қосылған процедуралар) туралы әнгіме жүргізіледі.
Мысал. Фрейм «экрандағы сызық»:
- басының координатасы 100, 100;
- аяғының координатасы 200, 200;
- көрші сызықтың координатасы белгісіз.
Әдістер:
- орта арқылы саздылы айналу;
- жоқ болу;
- көріну.
Бұл жағдайда сұрақ шығу мүмкін: «Экранда салынған сызықтың қандай интеллектуалдығы бар?». Жауабы мұндай: жасанды интеллектте фреймдер көбінесе, кейбір процесті немесе құбылысты модельдеу құралы ретінде пайдалынады, сондықтан экрандағы сызық тірі организмның және т.б. моделі болуы мүмкін. Айналу кезінде ол басқа сызықтармен соғысады, нәтижесінде, мысалы «көрші сызықтың координатасы» алаңы толтырылады және т.с.с. (жүйе үйренеді).
Желілік моделі үшін жалпы жағдайда білімдер қоры: жүйенің күйін (мысалы, желі түйінділеріндегі кейбір параметрдің мәнің), таңдалған белсенді бағыныңқы желіні және шығару ережелерді ұстайды (оларға кіреді желі ішіндегі қатынастар сипаттамасы).
Шығару машинасы – БҚ алгоримдық бөлігін өзектіктіру ретіне және әдісіне жауапты бағдарлама. Әртүрлі білімдерді ұсыну моделі үшін ол, әрине әртүрлі.
Логикалық моделі үшін оның түрі қарапайым тізбекті автомат болып табылады. Бұл модельде әрбір уақыт сайын барлық логикалық теңдеулердің іріктеуі толық өткізіледі.
Өнімдер жүйесі (логикалық шығару машина) үшін оның жағдайға тәуелді, детерминдық немесе ықтималдық бағаға негізделген артық көру жүйесі бар. Бұл модельде кезекті өзектіктіретін ереженің таңдауы бір мәнді болмайды.
Фреймды моделі үшін шығару машинасы екі бөліктен тұрады. Жалпы бөлігі фреймдер жүйесінде өтетін оқиғалар барлық фреймдерге бір уақытта немесе тізбекті түрде белгілі болсын дегеніне жауапты. Екінші бөлігі – бұл фреймдер өзінің оқиғаларын өңдеуші. Олар болған оқиға туралы алынған хабарға қандай әдістің қосу қажетін шешеді.
Түсініктеме бағыныңқы жүйесі – бұл сараптамалық жүйенің маңызды элементтерінің біреуі, ол оның тәжірибелік пайдалану тиімділігін анықтайды. Түсініктеме бағыныңқы жүйесін жүзеге асыруда есептегіш қолдайтын процедураларды пайдаландықтан (бірақ, басқа ретте), шығару машина есептегіштен және түсіндіру бағыныңқы жүйесінен тұрады деп санауға болады. Машина не адам алған шешім өзі емес, ал шешімнің жолы – процесі жиі бағалы болады. Түсініктеме бағыныңқы жүйесі – бұл «Неге осылай?» немесе «Неге осылай, неге былай?» сұраққа жауап алатын бағдарламалық механизм.
Мұндай қабілет (түсініктеме бағыныңқы жүйесінің бар болуы) интеллектуалды жүйелердің барлығында бола алмайды. Бұл бағдарламау күрделігіне және білімдерді ұсыну моделінің кемшіліктеріне байланысты. Түсініктеме бағыныңқы жүйесі тек өнімдер ережелеріне және семантикалық желіге негізделген жүйелерде болады.
Мысал. Интеллектуалды жүйеге қойылған пайдаланушының (интерфейс арқылы шығару машинаға) сұранысы: «Ертеңге доллар курсы қандай болады?».
Жүйе диалогы.
1. Саяси тұрақтылығы қандай? Оператордың жауабы: «Жоғары».
2. Экономикалық болжам қандай? Оператордың жауабы: «Қолайлы».
3. Биржада белсенділік қандай? Оператордың жауабы: «Төмен».
Жүйенің жауабы: «Болжалды курс 145,7 тнг.»
Жүйе түсініктемесі.
1 ереже: Саяси тұрақтылығы жоғары және болжам қолайлы болғандықтан, 1 параметр = тұрақтылық.
2 ереже: 1 параметр тұрақты және биржадағы белсенділік төмен болғандықтан, 2 параметр = өсуі төмен.
3 ереже: 2 параметр = өсуі төмен болғандықтан, курс = бүгінгі курс + кішкене кездейсоқ ауытқуы.
Білімдер қорының интеллектуалды редакторы – бұл білімдер қорынындағы фактілер мен ережелерді қосу, жою және өзгертуге мүмкіндік беретін бағдарлама. «Интеллектуалды» дегеніміз, білімдер қорының тұтастығын, дұрыстығын және қайшылықсыздығын қамтамасыз ететін қабілет.
Жеке алынған білімдер элементінің мағынасы жоқ, сондықтан білімдер қорына қандайда операцияны (жазыларды қосу, жою, өзгерту) жасау үшін бүкіл білімдер қорының тұтастығын, дұрыстығын және қайшылықсыздығын берілген тереңдікке тексеру қажет.
Мұны мысал арқылы түсіндірейік. Телефон анықтамалық деген кесте бар болсын. Бастапқы кілт «Тегі, аты + телефон» (9.1-кесте).
1.1-кесте
Тегі, аты | Телефон | Мекенжай |
Аманов С. | 31-05-85 | Абай к., 45-60 |
Сарсенов Қ. | 65-78-41 | Ауэзов к., 71-23 |
... | ... | ... |
Тастенов А. | 45-17-80 | Желтоқсан к., 12-84 |
Енді жаңа жазуды енгізейік «Аманов С. / 31-05-86 / Абай к., 45-60». Егер енгізуде қателік (мысалы, телефон 31-05-85) шықса ДҚБЖ (СУБД) қабыл алынбайды – себебі бастапқы кілт бұзылған. Ал егер он әртүрлі тектерді терген кезде қателісіп отырсақ (мысалы, бәрін бір телефонға жазайық «31-05-85»), онда ешқандай хабар алмаймыз, бір пәтерде 11 адам тұрмайды ғой! Білімдер қорына жаңа мәлімет қосқанда, «қосылған» деп аталатың процедура белсенділі болу керек, ол жүйедегі бар болған ақпаратпен салыстырып, енгізілген ақпараттың дұрыстығын тексереді.
«Берілген тереңдік» дегенді толығырақ қарастырайық. Себебі, өзінің табиғаты бойынша білімдердің рекурсивтігі («ішке салуы») бар болады. Білімдер қорында болғанда, білім элементтері таң ғаларлық және адамға түсініксіз мағыналық тізбектер жасайды. Қандайда қосылған жаңа элемент олардың арасында «көпір» сияқты бола алады, сол себептен одан үлкен жаңа тізбектердің пайда болуына әкеледі. Осындай тізбектін шетінде заттық сала туралы кейбір жаңа қорытынды болады. Бұл жаңа қорытынды бұрынғы қорытындымен қайшы болып шығу мүмкін. Осындай қайшылықтар интеллектуалды жүйенің негізгі жұмыс тәртібі, себебі олардың пайда болуы фактілер мен ережелерді тексеруге және дәлдеуге мәжбүр етеді. Және де жүйеге енгізген жаңа білімнің (көпірдің) дұрыстығын және дәлдігін бағалауға келтіреді.
Мысал 1. Жүйеде жазулар бар болсын:
«Қайрат Майраның әкесі»;
«Майра Болаттың шешесі».
Сіз «Болат Төкеннің немересі» жазуды енгізуге тырысасыз. Жүйе 2 тереңдікте қайшылықты табады, өйткені бар болған мәлімет бойынша «Болат Қайраттың немересі»! Жүйе дәлдеуді қажет етеді: «бұл сол Болат па». Егер олар әртүрлі болса, онда жүйе білімдер қорын өзгертеді:
«Қайрат Майраның әкесі»;
«Майра Болат Амановтың шешесі»;
«Болат Қасенов Төкеннің немересі».
Немесе қателікті түзетеді:
«Қайрат Майраның әкесі»;
«Майра Болаттың шешесі»;
«Болат Қайраттың немересі».
2-мысал. Сызбада көрсетілген (1.3-сурет) техникалық объект бар.
Қатты бітеуде гайкасы бар штанга орнатылған. Сіз «Апаттан кейін «А» бетінде цилиндрлық пішіні бар бірнеше фрагменттер табылған, мүмкін – үзілген гайкалар» деген жазуды енгізуге тырысасыз.
1.3-сурет. Сараптаушы жүйеде бейнеленген объект сызбасы
Жүйеде сызба шамамен былайша сипатталған:
қосылған (қатты бітеу №1, штанга №1);
қосылған (штанга №1, гайка №1);
кішкентай (гайка №1);
алты бұрышты (гайка №1);
цилиндрлық (штанга №1);
ұзын (штанга №1);
іші қуыс (штанга №1);
қасында (штанга №1, «А»).
Жаңа жазу қайшылықты шақырады.
1. «Бір қираған гайканың ұсақ фрагменттері аса көп болмау керек». Дұрыс па?
2. Әйтпесе «фрагменттер қираған штанганікі».
3. Әйтпесе «фрагменттер сырттан түскен».
Қорытындылары сөзсіз шығады деп ойлап қалуға болады, бірақ олай емес. Мысалы, автомобиль туралы әнгіме болсын. Майын ауыстырған кезде бөлшектердің қандай фрагменттері табылғаның айталасыз ба?
Қаралған мысалдарда қатынастардың транзитивті қасиеті бар болды.
Пайдаланушының интеллектуалды интерфейсы – бұл оптималды түрде мақсатқа жету үшін пайдаланушымен сұхбатты ұйымдастыруға жауап беретін бағдарлама.
Сұхбат барысында жүйе пайдаланушыға сараптамалық жүйемен кеңесудің мақсатын дәлдеуге немесе өзгертуге көмектеседі, сондықтан ол интерфейс «интеллектуалды» деп аталады. Осындай қажеттілік болу керек, өйткені сараптамалық жүйе көмегімен модельденетін қазіргі объектілер, процестер, құбылыстар өте үлкен және күрделі болғандықтан, пайдаланушы олардың аттарын (атауларын) да параметрлерін де есте сақтай алмайды, сондықтан сұранысты сауатты қою және жауапты алу мүмкін емес.
1.4. Сараптаушы жүйелердің жіктеуі
Сараптаушы жүйелерді әртүрлі негізі бойынша топтастыруға болады: пайдалынатын білімдер ұсыну моделінің типы бойынша, қолдану саласы, міндеті, тиімділік көрсеткіштері бойынша және басқа (9.2- кесте, 9.4-сурет).
Өзінің қорытындыларын дәйекті дәлдеуге мүмкіндік беретін модель тереңдік деп аталады. Тереңдік білімдерге: абстракциялар, бейнелер, аналогиялар жатады. Оларда заттық сала құрылымының ұғынуы, жеке ұғымдардың міндеті мен өзара байланысы, белгілі заңдар және теориялық негіздер ұсынылады.
Шалағай (сыртқы) білімдер көбінесе, зерттеу объектінің сыртқы шығуына жатады. Олар кейбір (көбінесе, өте ықтималды) жорамалдарды жасауға мүмкіндік береді. Шалағай білімдерге негізделген қорытындылар, тереңдік білімдер көмегімен алынған қорытындылар сияқты, берікті және бағалы болу мүмкін, бірақ олар дәйекті емес. Шалағай білімдер, әдетте, заттық салалар ұғымдарының арасындағы эмпириялық ассоцияларға және себепті салдар қатынастарға тиеді. Көп жағдайда жасанды интеллектің моделі шалағай болып туады, сосын өзінің «пайдалығын» дәлелдегеннен кейін математикалық негіздемесін, интерпретация әдісін және модель жұмысының нәтижелер түсіндірмесін алады.
1.4-сурет. Сараптамалық жүйенің жіктеу варианттары
Мысал. Телефонды пайдаланған кезде біз шалағай білімдерге негізделеміз, яғни трубканы алып нөмірді теріп керекті абонетпен қосылуға болады. Сол кезде телефон иесіне телефонды байланыс құрылымы және телефон аппараттың сызбасы туралы терең білімдердің қажеті жоқ.
1.2-кесте
Білімдер ұсыну моделінің типы бойынша СЖ жіктеуі
Білімдер ұсыну моделі | Білімдер | |||
Тереңдік бойынша жіктеу | Қаттылық бойынша жіктеу | |||
тереңдік | шалағай | жұмсақ | қатты | |
Логика | - | + | - | + |
Өнімдер | - | + | + | + |
Фреймдер | + | - | + | + |
Семантикалық желілер | + | - | + | + |
Объекті бағытталған тілдер | + | - | + | + |
Стохастикалық модельдер | Бұл модельдер ойлау процесті модельдемейді | |||
Критериалды таңдау тілдер | ||||
Нейронды желілер |
Сараптаушы жүйелердің көбінде, қазір шалағай білімдер пайдалынады. Тереңдік ұсыныстардың енгізуі үлкен қуатты БҚ жасауға мүмкіндік береді, өйткені тереңдік білімдер қатты шалағай білімдерге қарағанда икемділеу және адаптивті келеді. Классикалық мысал – медицина, мұнда тәжірибелі дәрігерлердің тереңдік білімдері бір аурудың әртүрлі емдеу әдістерің тудыруға мүмкіндік ашады (аурудың жағдайына, оның жасына, дәрінің бар болуына және т.б. байланысты). Ал жас немесе тәжірибесі төмен дәрігер шалағай моделі бойынша жұмыс істейді: «Егер жөтел – онда жөтелден таблетка ішу керек, егер ангина – онда эритромицин ішу керек» және т.с.с.
Тереңдік білімдер заттық саланың бастапқы ұғымдарын кейбір абстракты құрылымға жинақтау арқылы пайда болады.
Білімдердің «қаттылығы» және «жұмсақтығы» берілген бастапқы жағдайларда бірмәнді, айқын ұсыныстарды алу мүмкіндікті немесе көптік, бұлдыр шешімдер мен ұсыныстарды алуды көрсетеді. Осы жіктеуге сәйкес заттық саланың өзін де қатты мен жұмсаққа жатқызуға болады. СЖ дамуының қазіргі тенденциясы - қатты шалағай модельдерден жұмсақ тереңдік модельдерге ауысу.
1.4.1. Шешілетін міндеті бойынша жіктеу
Интерпретациялау және көзбен шолу сараптамалық жүйелер көбінесе, экономикалық жүйелерде қолданылады. Себебі, кәсіпорынды басқару барысында пайдалынатын есептеуіш коэффициенттерді талдау да, есте сақтауға да өте қиын. Ал коэффициенттер мәндерінің талдауы аса күрделі емес, өйткені кейбір коэффициенті мәні берілген шектен аспау керек және олар бір-бірімен өзара байланысты болады.
Осындай жағдайда мәліметтерді көрнекті түрде ұсыну өте маңызды, яғни көзбен шолу. Ең қарапайым вариант – диаграммалар (діңгекті, дөңгелекті, нүктелі және т.б.) жасау.
Бірақ, егер коэффициенттер белгілі тәуелділікте болса, одан күрделіден көзбен шолуды пайдалану қажет (9.5-сурет). Егер 9.5-сурет үш баған цифрлерден тұрса, онда шешімді тез қабылдауға қиын болар еді.
1.5-сурет. Бірнеше шектеулерге қанағаттанған шешімді таңдау
Көзбен шолу әрқашан бола бермейді. Ең қарапайым вариант – кеңістіктің өлшемдігі үштен артық болса. Мысалы, цифрлердің төрт бағаны болсын, бірақ егер бағандардың арасында өзара тәуелділері болса, онда бұл төрт өлшемді кеңістік емес. Тәжірибеде бастапқы мәліметтердің көбі «тәуелсіз мәнді» болмайды.
Бұл жағдайда цифрлер бағандарды толық түсініктемемен ауыстыру қажет, мысалы, мәтіндік түрде. Түсініктемелер қысқа болу керек және олардың ішінде себеп пен салдар, байланыстар, мүмкін шешімдер туралы қорытындылыр болу қажет. Интерпретациялау есептерді шешу үшін математикалық және статистикалық мәліметтерді талдау теориясы бар.
Ең бірінші жасалынған сараптамалық жүйелер - диагностика жасайтың жүйелер. Мониторинг жүргізетін СЖ бірге, олар техникалық объектілердің үздіксіз диагностикасын жасау үшін арналған, мысалы, ракеталарды іске қосуда және ұшу барысында. Жалпы айтқанда, осындай СЖ объекті кейбір класқа келтіру және ақаулықтың орын мен түрін табуды орындайды. Ақаулық – бұл нормадан ауытқу. Сондықтан осындай баян ету техникалық жүйедегі жабдықтың ақаулығын, тірі организмның ауруын және әртүрлі табиғи аномалияларды бірыңғай теориялық көзқараспен қарауға мүмкіндік береді.
Мониторинг жүргізетін СЖ ерекшелігі - жүздеген не мыңдаған датчиктерден үздіксіз түсіп тұратын көп параметрлерді еске алуда. Осындай жағдайда уақыттың нақты масштабында көбінесе, жұмыс істеу керек, сонда дабыл сигналын дәл кезінде беруге болады.
Жоспарлау және жобалау СЖ көзбен шолу және интерпретация жүйелермен көп ортағы бар. Мысалы, жаңа автокөліктің электржабдықтарының сызбасын талдап, осындай жүйе сымдардың мехникалық бұзылу орындарын көрсете алады. Осы есепті шешу үшін арнайы «когнитивті» графика, варианттарды таңдау әдістері және ерекше әдістемелер пайдаланылады, оған тәжірибелі инженерлер жүйені үйретеді. Қазіргі СЖ мұны сценарийлер моделі көмегімен орындайды. Егер жоба экономика саласында жүзеге асырылса, онда сызбалар орнына біз бизнес-жоспарды қолдаймыз.
Болжам жасайтың СЖ берілген жағдайдан ықтимал салдарды шығарады. Болжамдайтың жүйеде әдетте, параметрлік динамикалық модель пайдалынады, онда параметрлердің мәндері берілген жағдайға «сыналастырылады».
Оқыту СЖ қандай да пәнді оқып үйрену кезінде ЭЕМ көмегімен қателіктерді анықтайды және дұрыс шешімдерді көрсетеді. Олар оқушы туралы білімдерді жинайды (сипатты қателерін, нашар мағлұматын) және оларды жоятын сәйкес құраларды табады.
Жалпы жағдайда білімдерге негізделген жүйелерді екі топқа: талдау есептерді шешетін және синтез есептерді шешетін жүйелерге бөлуге болады. Олардың арасындағы негізгі айырмашылығы мынадай - талдау есептерде шешімдердің көптігін атап өтіп, жүйеге қосуға болады, ал синтез есептерде шешімдердің көптігі потенциалды және компонент немесе проблема шешімдерінен құрылады. Талдау есептеріне: мәліметтерді интерпретациялау, диагностика; синтез есептері: жобалау, жоспарлау жатады.
Құрастырылған есептер: оқыту, мониторинг, болжам жасау. Автономды СЖ пайдаланушымен кеңес беру тәртібінде тек «сарапшылық» есептер үшін жұмыс істейді, оларды шешу үшін мәліметтерді өндеу дәстүрлі әдістерді (есептеу, модельдеу және т.б.) қолдамауға болады.
Гибридты СЖ бұл бағдарламалық кешен, олар стандартты қолданбалы бағдарламалардың пакеттерін (мысалы, математикалық статистика, сызықты бағдарламалау немесе мәліметтер қорын басқару жүйелер) құрастырады. Бірақ, осындай жүйелерді жасау өте күрделі.
Сараптаушы жүйелердің жасауының қазіргі күйі мұндай:
диагностика есептері, интерпретация, жобалау — мониторинг, оқыту;
статикалық — динамикалық;
автономды — гибридты.
Статикалық СЖ, есепті шешу кезінде білімдер қоры және мәліметтер өзгермейтің, заттық салада жасалынады. Олар тұрақты болады. Мысалы, автокөліктің ақаулықтарың диагностикалау.
Квазидинамикалық СЖ, кейбір қойылған уақыт барысында өзгеретін жағдайды интерпретациялайды (түсіндіреді). Мысалы, микробиологиялық СЖ. Зертханалық өлшемдер технологиялық процесс барысында 4-5 сағатта бір рет алынады және алынған көрсеткіштердің динамикасы талданады.
Динамикалық СЖ, есепті шешу кезінде өзгеретін мәліметтермен, кейде нақты уақыт тәртібінде жұмыс істейді. Мысалы, икемді өндірістік жүйелер, аурухана палатасында мониторинг және тағы басқалар.
Кейбір жақсы танымал СЖ 9.3-кестеде көрсетілген.
1.3-кесте
Кейбір жақсы танымал интеллектуалды жүйелер
Жасау орыны | Атауы | Міндеті | Жұмыс істеу принципі | Ерекшеліктері |
Стэнфорд университеті, 1965-1983 | DENDRAL | Химиялық құрылымдарды тану | Ережелер | Қазіргі түрі GENOA деп аталады |
Стэнфорд университеті, 1972-1980 | MYCIN | Қан ауруларды емдеуде кеңес беру | Өнімдер ережелері (500-дей). Дұрыс диагнозы - 70% | LISP тілі |
Стэнфорд университеті, 1977-1980 | CENTAUR | Тыныс бұзуын талдау | Гибридты модель: өнімдер ережелері және фреймдер | Фреймды және өнімді әдістемелерді салыстыру үшін жасалынған. Екі бөліктен тұрады |
Стэнфорд университеті, 1975-1984 | MOLGEN | Молекулярлы биологияда зерттеу | Фреймды модель | Ең күрделі жүйелердің біреуі |
Корпорация DEC, 1985 | XCON | Компьютердің кескін үйлесімін таңдауға көмектеседі | Бірнеше мыңдаған ережелер. Тура қорытынды | Қазір де пайдаланылады, өйткені компьютердің бөлшектер саны өте көп |
Рэдиан корпорейшн, АҚШ | WILLARD | Ауа райын болжау | Өнімдік модель | Ауа райы туралы көп жылғы мәліметтерге негізделген ережелер |
Intelligent Applications Ltd. | AMETHYST | Айналмалы бөлшектері бар машиналардың ақаулықтарын диагностикалау | Өнімдік модель | Дірілдеу датчиктармен интерфейс |
Compaq | SMART | Тәжірибелі емес клиенттердің телефон арқылы сұрақтарына жауап беруге көмектеседі | Өнеге моделіне негізделген | Жағдайларды (өнегелер) жүйеге келтіру арнайы жүйесі бар |
Португалия, гидроэлектрстанция | CONTROL OF PLANT (Alarm system) | Автоматты хабар беру жүйеден ақпаратты талдайды (100 астам әртүрлі қауіп-қатерлер) | Өнімдік модель + арнайы математикалық модель | Нақты уақыт жүйесі. |
GTE Labs inc. | COMPASS | Телефон жабдықтарында ақаулықтарды анықтау | Өнімдік модель + өнеге | Телефон станциясының жабдықтарына қосылған. |
1.5. Сараптаушы жүйелерді жасау технологиясы
1.5.1. Құрастырудың негізгі кезеңдері
Дәстүрлі бағдарламалық қамсыздандыру типтерін жасау технологиясы: талаптарды талдау, жобалау, бағдарламалау және күйге келтіру, тестілеу кезеңдерінен тұрады. Интеллектуалды жүйені жасау технологиясын жүзеге асыруында бір қатар ерекшеліктері болады (9.4-кесте).
Кестеден көрініп тұр – бірнеше жаңа кезеңдер пайда болады. Барлық кезеңдерді толық қарастырайық.
1. Талаптарды талдау арқасында негізгі ішкі мәндер және олардың арасындағы мүмкін болатын өзара байланыстар анықталады. Бұл кезеңде кәдімгі сұраныстар және оларды қолдану шектері ескертіледі. Мысалы, тұрғындарға қызмет ету орталығының деректер қорына негізделіп, СЖ туысқандық байланысты талдап, «туыс ағайындарды» табу білу керек.
2. Заттық саланың талдауы барлық мүмкін ішкі мәндер мен олардың арасындағы арақатынастарды қарыстыруды, заттық саланың шектеуін және ішкі мәндер мен арақатынастардың мүмкін болатын типтерін математикалық бейнелеуін орындайды. Мысалы, тұрғындарға қызмет ету орталығының деректер қорында мүмкін болатын ішкі мәндер: «еркек», «әйел», «үй», «пәтер», «көше». Арақатынастар: «күйеу», «зайып», «қызы», «ұл», «іні», «күйеу бала» және т.б. Нақтылау дәрежесі СЖ мүмкіндіктерін анықтайды.
1.4-кесте
Сараптаушы жүйенің жасау кезеңдері
Кезең атауы | Шешілетін есептер | Мерзім |
1. Талаптарды талдау | Проблеманы таңдау; СЖ жұмыс тәртібін анықтау; СЖ жұмыс нәтижелерінің адекваттылығына және дәлдігіне қойылатын талаптарды анықтау | 2 – 4 апта |
2. Заттық саланы талдау | Шешілетін есепке тікелей қатысатың заттық саланың мәнін бөліп шығару; шешілетін есепке тікелей қатысатын фактілер мен ережелерді алдын ала бөліп шығару | Жарты жылға дейін |
3. Жобалау 3.1. түп тұлғаны жасау; 3.2. баға беру | Білімдер ұсыну моделін алдын ала таңдау; логикалық құрылымын алдын ала жасау; программалық құрылымын алдын ала жасау; алдын ала кодтау және сынау (қысқа мерзімде); жобалауға немесе талаптарды талдауға қайту | 4 – 8 апта |
4. Бағдарламалау және күйге келтіру 4.1. кодтау; 4.2. өнеркәсіптіге келтіру; 4.3. СЖ түйісу | Бағдарламалау тілді таңдау; кодтау; интерфейсты, көмек қызметін және құжаттаманы жасау; кәсіпорынның технологиялық процесіне СЖ енгізу; білімдер қорын толтыру жолымен алдын ала оқыту | 4 – 8 апта |
5. Оқыту | Нақты есепті шешу тәртібінде СЖ жұмыс істеуі (білім бойынша инженердың көз салуымен ) | Жарты жылға дейін |
6. Эталонмен салыстыру | Эксперимент жүргізу және жоба мақсатына жету дәрежесін анықтау | 1 апта |
7. СЖ қолдау | Логикалық және бағдарламалық қателіктерді іздеу, жаңа версияларды шығару, өзгерген пайдалану шарттарына бейімделу | 5 жылға дейін |
3. СЖ жобалауы СЖ құрылымының жасауын шақырады. СЖ жобалауының мәнді ерекшелігі – құрылымның таңдап алынған білімдерді ұсыну моделіне тәуелсіздігінде. Мысалы, негізгі өнімдік модельдің таңдауы автоматты түрде ережелер редакторын; фреймдық модельдің таңдауы – объектілер редакторын; ықтималдық модельдің таңдауы – ықтимал редакторын пайдалануды білдіреді. Барлық үш жағдайда білімдер қорының редакторы қажет, бұл СЖ кейбір абстракты құрылымын көрсетуге мүмкіндік береді (9.6-сурет)
1.6-сурет. Абстракты СЖ құрылымы
Сонымен СЖ жұмыс механизмін келесі қадамдармен бейнелеуге болады:
1. Білім бойынша инженер білімдер қорын (БҚ) толтырды (СЖ оқытты);
2. Пайдаланушы жүйеге сұрақ қойды;
3. Интеллектуалды интерфейс сұрақты дәлелдеді және шығару машина үшін мақсатты тұжырымдады;
4. БҚ алынған білімдер негізінде, қойылған мақсатқа жету үшін машина талаптанды;
5. Мәліметтер кемді болғандықтан мақсатқа жетпеді;
6. Техникалық жүйенің интеллектуалды интерфейсы сәйкес мәліметтер көзімен байланысты;
7. Шығару машина мақсатқа жетуді қайтадан талаптанды;
8. Қайшы қорытындылар алғандықтан мақсатқа жетпеді;
9. Пайда болған қайшыларды шешу үшін өз өзін оқыту механизм қосылды;
10. Өз-өзін оқыту механизмнің жұмыс барысында алынған жаңа білімдер, БҚ редакторына түсті;
11. Білім бойынша инженер жаңа білімдер мен фактілерді қабылдады не қабылдамады;
12. Жаңа білімдер мен фактілер ДҚ және БҚ енгізілді;
13. 4 пунктке қайту.
СЖ басқа бағдарламалық құралдардан басты айырмашылығы – бұл білімдер қорының бар болуы, оның ішінде білімдер кейбір білімдерді ұсыну тілде (БҰТ) жазулар жиынтығы түрінде сақталынады. БҰТ мамандарға (сараптамалық жүйені әзірлеуші) түсінікті нысанда білімдер қорын оңай өзгертуге және толықтыруға мүмкіндік береді. Соңғы уақытқа дейін СЖ жасауда орталық проблемасы әртүрлі БҰТ болатын. Қазір білімді ұсынудың ондаған тілі немесе моделі бар. Ең үлкен тараған келесі модельдер: өнімдер, семантикалық желі, фреймдер, 1 ретті предикаттарды есептеу, объект-бағытталған тілдер және т.б. Модельдің таңдауы нақты заттық салада білімдердің құрылымымен анықталады. Білімдер қорын жасау және БҰТ таңдау алдында құрылымды анықтау жүргізіледі. Білімдер элементің негіздеу және нақтылау заттық саланың мамандары (сарапшы) тікелей көмегімен жүзеге асырылады. Бұл процесс білімдерді үзінді алу (шығару) деп аталады. Білімдерді шығару мен және құрылымдау мен айналысатын сараптамалық жүйені әзірлеушілерді білімдер бойынша инженерлер деп атайды.
1.5.2. Кейбір тәжірибелік ұсыныстар
Сараптамалық жүйені әзірлеу дәстүрлі бағдарламаны жасаудан бірнеше рет қиын. Сондықтан:
- есепті дәстүрлі әдістермен шешуге болатынын;
- есепті шешу қажеттілігі жиі пайда болмайтынын дәлелдеу қажет.
Тәжірибелі инженер осы бекітулерді қандай да проблемаға қатысты көрсете алады.
Ал сіздің қарсылыстарыңыз:
- кірістік мәліметтерде шу мен қайшылықтарды автоматты түрде айырып тану қажеттілігі;
- көп сан параметрлерді еске алу;
- сарапшы қолдайтың шешімді қабылдау әдістердің (эвристика) қарапайымдығы сияқты дәлелдерді келтіруі мүмкін.
Бірақ, оларға сенбеңіз. Егер шудың автоматты айырып тануы шынында оңай жүзеге асырылса, 2 мен 3 есептерді шешу мүмкін емес.
Дұрыс келіс – басынан өте қысаң есепті таңдау. Оның шешімі тұнық, түсінікті және бірнеше белгілі әдістерге сәйкес.
Сосын Сіздің бағдарламаңызды қолдайтын пайдаланушыны табу керек. Оны бірдемеге үйрету керек.
Енді Сізбен жұмыс істейтін сарапшыны табу керек. Бірақ, Сіз емес сарапшы Сізді іздеу керек.
СЖ жасауының келесі кезеңінде түп тұлғаны немесе түп тұлғалық жүйені құру қажет. Осы кезде минималды шығын ережесін сақтау керек. Түп тұлғаны жасауға және енгізуге көп уақыт пен қаражатты жұмсамау керек.
Түп тұлғалық жүйе фактілер мен байланыстардың кодтау дұрыстығын тексеруге арналған СЖ қысқартылған версиясы болып табылады. Оның көлемі – бірнеше ондаған ережелер, фреймдер немесе мысалдар.
Сосын, егер құптауға болатын түп тұлға жасалынса, жүйенің негізгі жұмыс тәртіптерін толық жетілдіру қажет. Ол үшін қосымша фактілер мен ережелерді енгізу керек, яғни өнеркәсіптікке дейін пысықтау. Бастапқы кодтар, әдетте, қайтадан жазылады. Егер бұрынғы кезеңдерде «бос СЖ» пайдаланса, онда кейбір қажетті модульдерді қосып жазады (9.7-сурет).
1.7-сурет. СЖ құрастыру мысал циклы
Сараптаушы жүйелерді жасауДыҢ аспаптық құралдарЫ
2.1 Жасанды интеллект үшін бағдарламау тілдер
Қазіргі уақытта ЖИ негізгі тілі болып табылады LISP, Prolog және C++. Алғашқы екеуі – қысаң мамандандырылған тілдер, ЖИ үшін арнайы әзірленген. Соңғысы – жалпы арнаулы аспаптық тіл, ол ең кең тараған кәсіптік тілі деп саналады.
LISP пен Prolog-ң қолдануы есептің шешу логикасына зейін қоюға мүмкіндік береді, ал C++ қолдануы – бағдарламаның жоғары жұмыс жылдамдығына жету және стандарты емес өңдеу процедураларын жүзеге асыруға мүмкіндік береді. Қазіргі есептеуіш техниканың сипаттамалары өте жоғары, сондықтан C++ қолдануы тек интерфейс пен тыс-бағдарламаларды жасау үшін пайдалы.
Бос сараптамалық жүйе (басқаша, тыс-бағдарлама немесе матрица) – бұл шығару механизмі, фактілерді енгізу және редакциялау құралдары бар бағдарлама. Матрицаны өзіндік фактілермен толтырып, ережелерді редакциялап, ол зерттелетін проблема туралы қорытындыны жасай бастайды.
ЖИ тілдер қатарында SmallTalk, Forth, LOGO, РЕФАЛ, ПЛЭНЕР (Planner) айта кетуге болады.
2.2. Prolog туралы қысқа мәліметтер
Prolog (логикалық программалау) тілі 1974 жылы Марсель (Франция) университетінде А.Колмаэро (Colmeraurer Alan) жасаған. Кейбір мамандар Prolog-ты оқу тілі деп санайды, ал бірінші орынға LISP тілін шығарады. Әрине, LISP тілінде бағдарлама өте қысқа, бірақ Prolog-бағдарламалар түсініктілеу. Prolog-ң бірнеше түрлі: Turbo Prolog, Visual Prolog және т.б. версиялары бар.
Prolog-бағдарламаның барлық айнымалылары үлкен әріптен жазылады: X, Maira. Егер айнымалының мәні қажетті болмаса, онда бос айнымалы «__» пайдаланылады. Мәні анықталмаған айнымалы еркін деп аталады. Басқа мәліметтер төменгі кестелерде көрсетілген.
2.1-кесте
Constants | Константаларды жариялау |
[GLOBAL] domains | Стандартты емес немесе құрамалы мәліметтер типін жариялау секциясы. Болмау да мүмкін |
[GLOBAL] database | Ішкі мәліметтер қорымен жұмыс істеу үшін міндетті емес предикаттарды жариялау секциясы |
[GLOBAL] predicates | Предикаттарды жариялау секциясы |
Clauses | Ережелер мен фактілерді жариялау секциясы |
Goal | Ішкі мақсатты жариялау секциясы. Болмау да мүмкін |
2.2-кесте
Мәліметтер типі
Symbol | жүйенің ішкі сиволдар кестесіне енгізілген жол |
String | ұзындығы 64 Кбайт-қа дейін символдар тізбегі |
Char | 1-байтты символдар |
Integer | 2-байтты таңбасы бар бүтін сандар |
Real | 8-байтты қалқыма нүктесі бар сандар |
Ref | мәліметтер қорының сілтеме сандары |
Reg | микропроцессордың регистры: AX, BX, CX, DX, SI, DI, DS және ES |
File | файл |
2.3-кесте
Операциялар
Арифметикалық | +, -, *, /, mod, div |
Реляционды | , =, , |
Математикалық функциялар | sin, cos, tan, arctan, ln, log, exp, sqrt, round, trunc, abs |
Логикалық | and («,»), not, or, ! (кесіп тастау) |
2.4-кесте
Енгізу – шығару
Write | экранға шығару |
Read | консольден оқу |
Параметрлер:
%d – кәдімгі ондық сан (chars және integers)
%u – таңбасы жоқ бүтін сан (chars және integers)
%R – мәліметтер қорының сілтеме саны (database reference numbers)
%X – ұзын 16-ретті сан (strings, database reference numb)
%x - 16-ретті сан (chars және integers)
%s – ағындар (symbols және strings)
%c - символ (chars және integers)
%g – ең қысқа форматта жазылған нақты сандар (default for reals)
%e – экспоненциалды түрде жазылған нақты сандар
%f – бекітілген нүктесі бар форматта жазылған нақты сандар
%lf – (fixed reals)
\n – жаңа жол
\t - табуляциялау
\nnn – nnn коды бар символ
2.5-кесте
Turbo Prolog-ң стандартты предикаттары
Стандартты предикаттар алып түседі | ||||
Енгізу / шығару | Файлдық жүйе | Экранмен жұмыс істеу | Терезелі жүйе | Жолдарды өңдеу |
Типтерді өзгерту | МҚ жұмыс істеу | Графикамен жұмыс істеу | ОЖ жұмыс істеу | Төмен деңгейлі |
Бағдарламаның мысалы (Turbo Prolog тілінде):
domains
person, activity = symbol
predicates
likes (person, activity)
clauses
likes (ellen, tennis)
likes (john, football)
likes (torn, baseball)
likes (bill, X) if likes (torn, X)
goal
likes (X,Y)
Жұмыс нәтижесі (айнымалылар мәндерінің қатынастар есімі бойынша айқындауы орын алды):
X = ellen Y = tennis
X = john Y = football
X = torn Y = baseball
X = bill Y = baseball
2.3. Lisp туралы қысқа мәліметтер
1961 жылы профессор Джон Маккартнидың тобымен жасалынған (Стэнфорд, АҚШ). LISP (List processing) қысқартуы «тізімдерді өңдеу тілі» деп аударылады. 1970-1980 жылдары бұтақ тәріздес құрылымға негізделген есептерді шешу үшін, мысалы, лабиринтті іздестіру және «генетикалық программалау» қолданған (Стэнфорд, проф. Джон Коз). Көп версиялардың ішінде ең танымалы – COMMON LISP. 1990 жылдардан кейін қолданудан шықты.
Геометриялық пішіндерді сипаттауына өте ыңғайлы болғандықтан, LISP тілі қайтадан пайдалана басталды. Қазір автоматтандырылған жобалау жүйелерде кеңінен пайдалынады, мысалы AutoLisp (AutoCAD жүйесі).
Lisp-бағдарламасында қатты құрылымы жоқ. Ол Lisp интерпретатордың кіреберісіне дәйекті келіп түсетін s–айтылулардың тізбегі болып табылады (яғни берілген грамматикадағы символды айтылулар).
2.6-кесте
Мәліметтер типі
Бүтін сан | Мысалы, 4 | |
Нақты сан | Егер нүктесі бар болса – 4.5 | |
Символдық атом | Айнымалы деген ұғымның аналогы. Айнымалының мәні сөзсіз айнымалының өзіне тең | s(ymbolic) деп аталатын айтылулар |
Тізім | Белгіленеді (), мысалы (А, В, С) | |
Ішкі құрылған функция | Тізім төменде берілген |
|
Примитив | Тек AutoLisp үшін |
|
Кейбір функциялар үшін, мысалы CAR және CDR, қысқартылған вариант бар:
C-R, мұнда символдың орнына D немесе А символдарды қоюға болады.
Мысалы:
(CAAAR Х)(СAR(CAR(CAR X))) немесе (СADR Х)(С AR(CDR X))
Бағдарламаның мысалы (-LISP тілінде):
Факториалды есептеу:
(defun factorial (n)
(cond((=n l) 1)
(t (*n (factorial (-n l))))))
2.7-кесте
Кейбір негізгі функциялар
Атауы | Қысқа сипаттамасы |
QUOTE A | Функция өзінің аргументін бағаламайды және оны нәтиже ретінде шығарып береді |
+, - , *, / | Арифметикалық функциялар (тек сандар үшін) |
SETQ және SET | Меншіктену функциялар |
CAR A | Тізім болатын өзінің аргументін (А) бағалайды және мән ретінде осы тізімнің бірінші элементін шығарып береді |
CDR A | Тізім болатын өзінің аргументін (А) бағалайды және мән ретінде осы тізімді шығарып береді, бірақ бірінші элементсіз |
CONS A B | Аргументтерді бағалайды, бірінші аргументтің мәні түрлі s–айтылуы болу мүмкін, ал екіншінің мәні тізім болу керек. Функцияның нәтижесі басы А және құйрығы В тізім болып табылады |
APPEND A B | А мен В мәндері тізімдер болсын: (А...А) және (В...В), онда APPEND функцияның мәні тізім болады: (А...А В...В) |
NULL X | Аргументті бағалайды және Т-ны шығарады, егер оның мәні NIL болса, ал керісінше, NIL шығарады. Функция NOT аналогы болып табылады. |
ATOM X | Аргументті бағалайды және Т-ны шығарады, егер оның мәні атом болса, ал керісінше NIL шығарады. |
NUMBERP X | Өзінің аргументін бағалайды және Т-ны шығарады, егер аргументтің мәні сан болса, ал керісінше, NIL шығарады. |
LISTP X | Өзінің аргументін бағалайды және Т-ны шығарады, егер аргументтің мәні тізім болса, ал керісінше, NIL шығарады. ATOM функциясына қарама-қарсы болып табылады. |
EQ A B | Екі атомды салыстыру функция |
EQUAL A B | Түрлі s–айтыларды салыстыру |
COND A A | Шарттарды тексеретін функциялар |
DEFUN | Жаңа функцияны анықтайтын функция |
Қорытынды
Сараптаушы жүйе нақты салада тәжірибелі мамандардың білімі енгізілген
және осы салада тәжірибесі аз пайдаланушыларға күш беру сияқты қызмет көрсететін жұрыс шешім қабылдауға бағыт беретін концептуалды жүйенің күрделі программалық кешені. Ол сараптаушы жүйе құрылып отырған саланың бір бағыты бойынша маманның шешіміне ұқсас нәтиже шығарып, сараптаушы жүйені пайдаланудың дұрыс шешім қабылдауына септігін тигізеді, яғни сараптаушы жүйе қайсыбір пәндік облысқа арналып дайындалған үлкен көлемді білімдер қоры бойынша сараптаушы ретінде пайдаланылатын электрондық кеңесші. Сараптаушы жүйенің жұмыс процесін төмендегіше көрсетуге болады. Қажетті ақпаратты алғы келетін пайдаланушы интерфейсі арқылы сараптаушы жүйесіне сұраныс береді. Мәселені шешуші білім қоры қолданып ішкі түсініктемелер жүйесі көмегімен бағыт бағдарын, шешімдерін түсіндіре отырып, сәйкестелетін шешімдер мен ұсынымтарды генерациялауды және пайдаланушыға ұсынады.
Пайдаланушы – жүйені пайдаланатын пәндік облыстың маманы. Әдетте оның біліктілігі жоғары деңгейде емес, сондықтан да сараптаушы жүйе тарапынан өз қызметіне көмек пен қолдауды қажет етеді. Білім инженері – жасанды интеллект саласы бойынша маман. Сарапшы мен білім қоры арасын байланыстырушы аралық буфер рөлін атқарады. Синонимддер корнитолог инженер интерпретатор және аналитик.
Пайдалаушы интерфейсі – кеңес алатын пайдаланушы мен сараптаушы жүйксі арасындағы сұхбатты жүзеге асыратын программалар кешені. Байланыс мәлімет енгізу стадиясында да нәтижелік ақпарат беру барысында да орнатылады. Білім қоры сараптаушы жүйесінің ядросы – машинаға түсінікті формада, тілмен жазылған сарапшы мен пайдаланушыға да түсінікті табиғи тілде сипатталған пәндік облыстың білімдері жиынтығы. Мысалы, фактілер, ережелер, сенімділік коэффициенттері.
Шешуші – пайдаланушы енгізілген мәліметтер мен білім қорын пайдаланып, сараптаушының ойын, бағытын өңдеуші программа.
Ішкі түсініктер жүйесі – берілген жауаптың шығарушының сәйкестігін қадағалайтын және нәтиженің қалай алынғандығын таңдалынған, не себепті қабылданғандығы не қабылданбағандығы сияқты сұрақтарға жауап беретін арнайы программа. Шешуші мен түсінік беруші жүйені шығару машинасы деп атайды. Пайдаланушы сұрақ қойғаннан кейін ол мына әрекеттерді орындайды. Алынған қорды білім қорында сақталған мәліметтермен салыстырылады. Әрбір факт үшін берілген сенім коэффициентін енгізе ала отырып, фактінің салыстырмалы анықтаушыны бағалайды. Осылардың өзінде сараптаушы адам сияқты қорытынды жасайды.
Интелектуалды білім қоры редакторы білімнің инженеріне, жасанды интеллект маманына сұхбаттық режимде білім қорын дайындауға мүмкіндік беретін программа. Суретте көрсетілген құрылым машиналары тұрғыда сақталған ол кеңейтіліп, толықтырылуы да мүмкін. Олардың құрамына қосымша мәліметтер базасы, әртүрлі қолданушылар программа кешенімен мәлімет алмасуды қамтамасыз ететін интерфейс, электрондық кітапхана және т.б. кіруі мүмкін. Жалпы сараптаушы жүйені дайындау процесінде ең кемінде 4 адам қатыстырылады: сараптаушы, білімдер қоры инженері, программалаушы, пайдаланушы.
Тәжірибелі сараптаушыдан білімді алатын жүйенің ұсынған нәтижесі қарапайым орнықты және жеңіл түсінетіндей болуы міндетті жүйеде мынадай талаптар орындауы тиіс.
толық емес бір-біріне қарама қайшы берілгендер бойынша да пікір айту мүмкіндігіЯ;
пікірлер тізбегін пайдаланушыға түсінікті тілде жеткізе білу;
фактілер мен оларды шығарудың айқын түрде ажыратылуы;
қажетіне орай білім қорын толықтыру мүмкіндігі;
сараптаушы жүйеден шығу кезінде оның айқын кеңес бере алуы;
сараптаушы жүйенің өзіндік құндылығының онша қымбат болмауы.
Пайдаланылған әдебиеттер
Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ. - М.: «Мир», 1990. - 560 с.
Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - СПб.: «Питер», 2000. - 384 с.
Девятков В. В. Системы искусственного интеллекта. - М.: Изд-во МГТУ им. Баумана, 2001. - 352 с.
Лорьер Ж.-Л. Системы искусственного интеллекта. Пер. с франц. - М.: Мир, 1991. - 568 с.
Люгер Д. Искусственный интеллект: стратегии методы решения сложных проблем. – М.: «Вильямс», 2003. – 864 с.
Марселлус Д. Программирование экспертных систем на Турбо Прологе: Пер. с англ. - М.: «Финансы и статистика», 1994. – 256 с.
Нейлор К. Как построить свою экспертную систему: Пер. с англ. - М.: Энергоатомиздат, 1991. - 286 с.
Потапов А.С. Технологии искусственного интеллекта – СПб: СПбГУ ИТМО, 2010. – 218 с.
Рассел, Стюарт, Норвиг, Питер. Искусственный интеллект: современный подход, 2-е изд.: Пер. с англ. - М.: Издательский дом "Вильямс", 2006. - 1408 с.
Смолин Д.В. Введение в искусственный интеллект: конспект лекций. - М.: Физматлит, 2004. - 208 с.
Сойер Б., Фостер Д.Л. Программирование экспертных систем на Паскале. - М.: «Финансы и статистика», 1990. - 191 с.
Стобо Д.Ж. Язык программирования Пролог: Пер. с англ. - М.: «Радио и связь», 1993. – 368 с.
Тейз А., Грибомон П., Луи Ж. Логический подход к искусственному интеллекту: От классической логики к логическому программированию. - М.: «Мир», 1990. - 432 с.
Шампандар А. Искусственный интеллект в компьютерных играх. - М.: Издательский дом "Вильямс", 2007. - 768 с.
Элти Дж., Кумбе М. Экспертные системы: концепции и примеры. — М.: «Финансы и статистика», 1987. - 192 с.
Жоспар:
Кіріспе
І. Сараптаушы жүйелер
а) «Сараптаушы жүйе» анықтамасы
б) Сараптаушы жүйелердің құрылымы
в) Сараптаушы жүйелердің жіктеуі
ІІ. Сараптаушы жүйелерді жасауДыҢ аспаптық құралдарЫ
Қорытынды
Пайдаланылған әдебиеттер