Файл қосу
Білімнің логикалық моделі
|Қазақстан Республикасы білім және ғылым министрлігі | |Шәкәрім атындағы Семей мемлекеттік университеті | |Ақпараттық – коммуникациялық технологиялар факультеті | |3 деңгейдегі СМК құжаты | | | | |ПОӘК | | | | | | | | |ПОӘК 042.14.2.02.1.20.21/03-2008 | |«Жасанды интеллект |03.09.2008ж | | |жүйелері» пәні бойынша |№1 басылым | | |оқу-әдістемелік материалдар| | | «Жасанды интеллект жүйелері» пәнін оқыту-әдістемелік комплекс 050602 - «Информатика» мамандығына арналған Оқу-әдістемелік материалдар Семей 2008. МАЗМҰНЫ | |Глоссарий | | | |Дәрістер | | | |Машықтану сабақтары | | | |Студенттердің өздік жұмыстар жоспары | | 1. Глоссарий Осы ОӘМ келесі терминдер қолданылған: |1.1 Эвристикалық программалау - нейрондық желілер деңгейінде моделдеуден| |эвристикалық программалау операционды деп аталлатын басқа деңгейдегі | |тәртіп ұйымын зерттейді. | |1.2 Білімдедің логикалық тәуелсіздігі -қолданбалы программалардың | |өзгеруінсіз жалпы логикалық мәліметтер құрылмының өзгертілуі мүмкін | |(өзгертілу, әрине қолданбалы программалармен қолданылатын мәліметтер | |қорындағы элементтердің жоюы емес). | |1.3 Мәліметтердің физикалық тәуелсіздігі - Жалпы логикалық мәліметтер | |құрылымын не қолданбалы программаларды шақырмай-ақ физикалық қойылымы | |және мәліметтердің ұйымы өзгере алады. | |1.4 Білім - бұл жақсы структураланған берілгендер, немесе берілгендер | |туралы берілгендер. | |1.5 Фрейм - кез-келген құбылыстың, оқиғаның, жағдайдың, пресс немесе | |объектінің мәнінің минимальды мүмкін сипаты. | |1.6 Роботтар - бұл адам еңбегін автоматизациялауға негізделген | |электромеханикалық құрылғы. | |1.7 Есімдер - әріптен басталатын әріптер және де цифрлар тізбегі. | |1.8 Айнымалылар- бас әріптен басталатын әріптер және де цифрлар | |тізбегі. | |1.9 Сарапшылық жүйелер – зерделі есептегіш жүйе, бұған кейбір пәндік | |саладағы тәжірибелі мамандардың білімі енгізілген, олар осы сала | |шеңберінде сарапшылық шешімдер қабылдауға қабілетті. | 2. Дәрістер 1-Дәріс. Жасанды интеллект жүйесі жайлы түсінік. Дәріс жоспары: ▪ ЖИ даму тарихы; ▪ ЖИ қолданыстары. 1. Жасанды интеллект адамның ойлауын құрылымдау әрекеттерімен байланысты ғылыми бағыт ретінде ұзақ тарихы бар. Платон, Аристотель, Р.Декарт, Дж.Буль және т.б да зерттеушілер өз білім деңгейлерінде ойлауды кейбір элементарлы операциялардың, ережелер мен процедуралардың жиыны ретінде сипаттауға тырысты. Жасанды интеллекттің жаңа даму периоды ғылыми лабораторияларда ғылыми ЭЕМ-нің пайда болуы және Н.Винердің “Кибернетика или управление и связь в животном и машине” кітабының шығуымен байланысты. Кибернетиканың алғашқы қадамдары күрделі, тірі және ойлайтын жүйелердегі процестерді оқуға және түсінуге бағытталған болатын. Зерттеулер ашық, танымдық сипатта болды. Бірақ сол кезде анықталған процестердің және ойлау феномендердің ЭЕМ-дегі қайтадан жасауға бағытталған алғашқы өңдеулері пайда бола бастады. Кейіннен, осы жұмыс бағыты жасанды интеллект проблемасын қарайтын облысқа айналды. Жасанды интеллекті зерттеудің кейінгі дамулары 60-70 жылдардағы зерттеулер бойынша оның өз бетінше екі бағытқа бөлінуіне әкелді. Осы бөліну осы уақытқа дейін сақталуда. Екі бағыттың да даму тенденциясын және айырмашылығын түсінбей, проблеманы дұрыс шеше алу мүмкін емес. “Жасанды интелект” курсы пәні кибернетиканың алғашқы қадамдары күрделі, тірі жєне ойлайтын жүйелердегі процестерді оқуға жєне түсінуге бағытталған. Жалпы жасанды интеллект пәні адамныњ ойлауын құрылымдау єрекеттерімен байланысты ғылыми бағыт ретінде тарихы бар. Жасанды интеллект информациялық жүйесі алға қойылған мақсатпен оны шешудің міндеттері жєне талдауға тиіс ретінде оқуға жєне өздігінен оқуға қабілетті жүйе. Зерттеулер нєтижесінде жасанды интелектіні құруда күрделі “ойлауды” қамтамасыз ететін – экспертті жүйелер, оқыту жүйелерін кескінге талдау жасау жүйесі. Адамдарды көптен ойландырып келе жатқан мәселелердің бірі-жасанды интеллект (интеллект-ақыл, ой сана деген мағына) жүйесі. Жасанды интеллект жүйесі адамның ойлау қабілетін формальдандыру, адамның ойлауын моделдеу және олардың программалау мәселелерімен айналысатын информациялық жүйе. Жасанды интелект информациялық жүйесі алға қойылған мақсатпен оны шешудің міндеттері және талдауға тиіс ретінде оқуға және өздігінен оқуға қабілетті жүйе болуы тиіс. Алғашқы кезде зерттеушілер жасанды интелект жүйесімен адам “миы” жұмысының көшірмесі арқылы ғана құруға болады деп түсінді. Ол үшін арнайы нерв клеткалары мен олардың өзара күрделі байланысын моделдеуші электронды жобалар құрылады. Зерттеушілер ми жұмысын моделдеу арқылы бір- бірімен миллиондаған байланыста болатын 200-250 мыңға жуық қарапайым микропроцессорлар қолданылатын электронды жүйелер құруға үлкен жетістіктерге жетті. Мұндай жүйелер арқылы оқуға қабілеттілік сияқты “ойлау операцияларының” шешімін табуға болатынына көз жеткізді. 2. Зерттеулер барысында электронды жүйелердің әріптер мен дыбыстар арасындағы байланысты түсінгенімен, анасының түрін танитын нәрестенің шеше алатын “ойлау есептері” секілді мәселелералдында дәрменсіз екендігі айқындалды. Зерттеу жұмыстары жалғаса берді. Бұл жұмыстар неғұрлым көп зерттелген сайын, соғырлым адам миының күрделілігі айқындала бастады. Енді жасанды интелектіні зерттеушілер зерттеудің басқа да жолдарын іздестірді. Мысалы, дәрігердің алдымен адамның ауыруы жайлы жан-жақты информация алып, содан соң ғана диагноз қоятыны секілді адам миының шығармашылық жұмысты орындау барысындағы әсерлерін бақылау жұмыстарын жүргізді. Зерттеулер нәтижесінде жасанды интелектіні құруда күрделі “ойлауды” қамтамасыз ететін – экспертті жүйелер, оқыту жүйесі, кескінге талдау жасау жүйесі, автоматтандырылған программалау жүйесі секілді кешенді программалар жүйесі жасалады. Эксперттік жүйені халық шаруашылығының барлық саласына қолдану кеңінен зерттелді. Бұл жүйе ғылым мен экономика саласында күрделі талдаулар жүргізуге мүмкіндік береді. Нәтижеде, барлық эксперттік жүйелерді біріктіріп, тұтас–интегралды жүйеге келтірудің тиімді болатыны анықталады. Енді бұл жүйенің білім беру саласындағы қолданыстарына тоқталайық. Оқыту жүйесі – білімнің қандай да бір аймағын немесе белгілі бір пәнді оқытуда жинақталған тәжірибелі оқытушылардың оқұыту әдістерін талдаудан құралады. Осы оқыту әдістері арқылы электронды машинаның бір тілде құралған оқыту әдістері жүйесі пайда болады. Мұндағы ескертілетін бір мәселеқалыптасқан дәстүр бойынша оқытушы оқушылар тобын оқытады. Оқытушының бір оқушыны оқытуда оның қабілетін тез байқайтыны белгілі болғанымен, бір оқушыны оқыту біздің елімізде сирек кездеседі. Сол себепті барлық оқушының қабілетін, мүмкіндігін тез айқындау оқытушыға қиынға соғады. Ал, информатикалық оқыту жүйесі бір уақытта әрбір оқушымен жеке, арнайы, “құпия” түрде оқыту программалары арқылы жұмыс істейді және компьютерлердің әрбір оқушымен жеке информация алмасуы оқытушыға қарағанда жүз, мың есе артық. Осындай зеріттеу жұмыстарының нәтижелері информатциялық оқыту жүйесінің жаңа формаларын құрауға болатынын дәлелдеді және оны үйдегі несие кітапхандағы кампютерлердің жұмыс үстелінде оқыту программаларын мысалы, ағылшын тлін үйрену, физика, химия, матиматика, информатика, т.б. пәндері меңгерумен қатар, тігу мен пішу, бау-бақшамен айналысу, т.б. мәселелерде көмек беруді қамтамасыз етеді. Қорыта айтқанда, компьютерді – “электронды оқытушы” ретінде де пайдалануға болатындығы анықталды. Өзін тексеруге арналған сұрақтар: 1. Жасанды интеллект ұғымын қалоай түсінесіз? 2. Жасанды интеллекті қай салаларда қолданылады? Ұсынылатын әдебиеттер: Г.Ә.Жапарова. Информатика негіздері.Алматы. Экономика.2006 ж. 2-дәріс. Жасанды интеллект облысындағы зерттеулер бағыты. Дәріс жоспары: ▪ Нейрокибернетика бағыты; ▪ Машиналық интеллект бағыты. Жасанды интеллект жұмысының екі бағытқа бөлінуі, жасанды интеллект жүйесін қалай құру туралы сұрақ екі түрлі көзқарастың болуымен байланысты. Бір көзқарасты ұстаушылар жасанды құрылған және шынайы интеллектуалды жүйелердің сәйкестігінің нәтижесі маңызды деп ойлады, ішкі тәртіптің құрылу механизмдеріне қатысты жасанды интеллект өңдеушілері көшіруге немесе шынайы тірі аналогтардың қасиеттерін елеуге міндетті емес. Екінші көзқарас бойынша, шынайы ойлау механизмдерімен танысу және адамның дұрыс тәртібінің құрылу тәсілдерінің берілгендер анализі жасанды интеллект жүйесін құруға негіз құрады, және де құрылу принциптердің техникалық құралдарын және биологиялық объектілердің құрылуының конкретті қасиеттерін қайта құруды моделдеу түрінде жүзеге асады.Яғни, бірінші бағыт аадмның интеллектуалды өнім қызметін қаарстырады, оның құрылымын оқиды (интеллектуалды қызметтің әртүрлі пайда болуын – есептерді шешу, теорема дәлелдеу, ойындар) және осы өнімді ЭЕМ, жаңа техника құралдары көмегімен ұдайы өндіруді жүзеге асыруға көмектеседі. Егер ЭЕМ-ді дұрыс есеп жүргізуі үшін программалап тастауға мүмкіндік болса, онда интеллектуалды қызметтің сәйкес түрі автоматтандырылған. Осы жасанды интеллектің жетістіктері ЭЕМ- нің дамуымен және программалау өнерімен т.с.с компьютерлік ғылымдар деп аталатын ғылыми-техникалық комплекстермен байланысты екені түсінікті. Жасанды интеллектің екінші бағыты интеллектуалды қызметтің нейрофизиологиялық және психологиялық механизмдері жайлы мәліметтерді, яғни, кең түрде қарастырсақ – адамның дұрыс тәртібін қарастырады. Өңдеушілер осы механизмдерді техникалық жабдықтар көмегімен ұдайы өндіруге тырысады, олардың тәртіптері алдын-ала берілген шектеулерде адамдардың тәртіптерімен сәйкес келуі үшін. Осы проблеманың дұрыс шешімі табылса, адамдардың қызметтерінің осы түрі автоматизацияланған деп есептеледі. Осы бағыттың дамуы адам жайлы ғылымның жетістіктерімен байланысты жасанды ақылмен байланысты болып табылады. Осы оқиғада өзіндік болып машиналық интеллектегіден де кең ауқымдағы адамның ақыл қызметінің пайда болу спектрін ұдайы өндіру табылады. Жасанды интеллектің екі негізгі бағыттары моделдеумен тығыз байланысты. Бірінші жағдайда моделдеу феноменологиялық және имитационды моделдеумен, екінші де құрылымды моделдеумен байланысты. Жасанды интеллект бойынша жұмысының екі бағытқа бөлінуі екі көзқарасқа ие болды. Бұл екі көзқарас жасанды иетеллектің жүйелері қандай үлгіде құрылған? Деген сұраққа жауап береді: бірінші көзқарас бойынша жаратылған интеллектуалды жүйелерінің сәйкестігі, ал ішкі механизмнің формалдау тәртібіне келетін болсақ, жасанды интеллектің жұмыс істеу бойынша ол қайталамау керек, сондай –ақ жаратылған тірі аналогтардың айырмашылықтарына көңіл аудармау керк. Екінші -көзқарас бойынша механизмнің жаратылған ойлау қабілетін оқу және білімді адамның тәртібін формалдау әдістері жасанды интелекктің құрылуына негіз береді, құрылу алдымен модельдеу, техникалық нәрсенің принциптері және биологиялық объектілердің функциялау айырмашылықтарының шығуын береді. ЭЕМ –ді программалауға болатын болса, онда ол машина шынайы есептерді лезде шығарады, немесе интеллектуалды түрін автоматтандырылған деп есептеледі. Осы бағытта жасанды интеллектің жетістіктері ЭЕМ-ң дамуымен тығыз байланысты және программалау өнері, яғни ғылыми –техникалық зерттеулердің комплексті компьютерлік ғылым деп аталады. Бұл жасанды интеллектің бағытын көбнесе машиналық интеллект деп аталады. Екі -бағыт бойынша жасанды интеллект нейрофизиологиялық, психологиялық механизмнің интеллектуалды берілгендерін қарастырады, ал үлкен жоспарда –ақылды адамның тәртібі. Осы механизмді техникалық құрылғылардың көмегімен шығаруға тырысады, оның тәртібі белгілі адамның тәртібімен жақсы сәйкес келеді. Осы бағыттың дамуын жасанды сана –сезім деп аталады. Екі -негіздік жасанды интеллекттің бағыттары модельдеумен байланысты. Бірінші бағыт феноменолдық, имитациондық модельдеумен, екінші бағытта құрлысымен байланысты. Сурет 1. ЖИ облысындағы зерттеулер бағыты. Өзін тексеруге арналған сұрақтар: 1. ЖИ саласында зерттеулердің қандай бағыттары болады? 2. Машиналық интеллект ұғымын қалай түсінесіз? 3. «Қара жәшік ұғымын қалай түсінесіз?» Ұсынылатын әдебиеттер: Г.Ә.Жапарова. Информатика негіздері.Алматы. Экономика.2006 ж. 3- дәріс. Жасанды интеллектіні модельдеу. Дәріс жоспары: ▪ Нейрон тәрізді желілер; ▪ Нейрон тәрізді желілердің типтері. 1. ЖИ облысындағы зерттеулер бағытында адам мен жануардың жүйке жүйесінің құрылымы мен үрдістері модельдеудің тікелей объектісі болып табылады. Жүйке жүйесін модельдік тұрғыдан оқуда зерттеушінің көз алдына бірінші кезекте жүйке клеткалары – нейрондар және өзара байланысқан клеткалардан – нейрондық желілерден тұратын құрылым келеді. Нейрон тәрізді желілір. Адамның миының үлкен жарты шарының қабықшасы шамамен 14 млрд. нейрондар құрайды. Олардың қысқа және өскіндері –дендриттер, олардан кіретін әрекеттер келіп түседі, және оксонда, шығатын реакцияларды жүргізеді, бұлар байланыстың күрделі өрімін құрайды. Нейронның өзінің құрылымы мен қызметінің заңдары өтое күрделі. Сондықтан нейрондарды модельдеуде қысқартылған сипаттамалар қолданылады. Нейрондар желісінің осындай қысқартылған модельдері нейрон тәрізді желілер деп аталады. 2. Нейрон тәрізді желілердің екі типі бар. Оның біріншісінде желі түйіндері болып жеке нейрондарды сипаттайтын формальды элементтер табылады. Осы типтегі желілерге белгілі нейрон тәрізді желілер жатады, оларды У.Маккалаком және У.Питсом зерттеген және дайындаған. Екінші типтегі желілерде түйіндер болып жеке нейрондарға емес, оның ерекше жиынтықтарына - нейрондық ансамблдерге сәйкес келетін формальды элементтер табылады. Нейрондық ансамбль деп оның қандай да бір бөлігі қозған кезде толық қозатын өзара байланысқан нейрондар жиынтығы түсіндіріледі. Зерттеушілер тек нейрондық ансамбльдер ғана адамның немесе жануардың күрделі қалыптасу қызметтерін қамтамасыз ететінін айтады. Модельдеуді сипаттау объектісі ретінде нейрондық ансамбльдер жеке жеке нейрондардан екі негізгі ерекшеліктерімен ерекшеленеді. Оның біреуі ансамбльдердің қозуының шығуы үнемі өзгеріп отырғандықтан тұрады, яғни «иә- жоқ» заңы бойынша емес. Сәйкесінше ансамбль анықталған статикалық және динамикалық сипаттамалар жиынтығы түрінде берілетін аналогты ақпараттың сызықты емес түрлендірушісі ретінде сипатталуы мүмкін. Екінші ерекшелік былайша түсіндіріледі, ансамбль ойлау қызметі үрдісінде қатысатын ұғымға , образға және т.б. элементтерге, яғни қандай да бір мазмұнды бірлікке сәйкес қойылуы мүмкін. Жеке нейрондар деңгейінде, сонымен қатар ансамбльдер деңгейінде нейрон тәрізді желіліерді зерттеу роботтық техниканың есептерін шешуде кеңінен қолданылады. Өзін тексеруге арналған сұрақтар: 1. Нейрондық желіліер деген не? 2. Нейрон тәрізді желілердің неше типі бар? 3. Нейрондар деген не? 4. Нейрондық ансамльдер деген не? Ұсынылатын әдебиеттер: 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980 4-дәріс. Эвристикалық модельдеу. Дәріс жоспары: ▪ Эвристикалық программалау. ▪ Эвристикалық модельдеу. ▪ Эвристикалық қолданбалы бағдарламалау интерфейісі. 1. Нейрондық желілер деңгейінде моделдеуден эвристикалық программалау операционды деп аталлатын басқа деңгейдегі мінез-құлықты ұйымдастыруды зерттейді. Бұл деңгейде мінез-құлықтың орындалуы бір есептің шешілуіне әкелетін адамдармен үнемі сезіле бермейтін операциялар, ойлау тізбегі ретінде түсіндіріледі. Эвристикалық әдіспен моделдерді құрудың қарапайым процедурасы келесі жолмен құрылады. Сезінушілерге кейбір есептеулерді өз ойларын ауызша комментарийлармен шешу ұсынылады. Олардың барлық ойлары хаттамаға жазылады. Сосын хаттамалар шешу жолы, қолданылатын операциялар характерлері, ойлар, қабылдауларды шығару мақсатымен талданады. Талдау нәтижесінде алынған материал осы түрде берілгендер моделі компьютерлік программалар құруда қолданылады. Осы себепті, программа модел сыналушынікі емес хаттаманыкі болып табылады. Мұндай модель сыналушы не істейді және қалай істейді тура солай істеуі керек. Процедураның келесі этабы сыналушымен берілген сол типтегі есепті шешудегі модель жұмысының зерттеуімен байланысты. Егер шешу процесі протоколда жазылып қойылған бағытынан ауытқыса, программа қайта жөнделеді. Сипатталған әдістің қолданысы қиындықтармен байланысты. Сынақтан өтуші есеп беру кезінде олармен жасалған шешімсіз барлығына түсіндірме жасай алмайды, егер олар түсіндірілмейтін қорытындылармен, ойлармен байланысты болса. Әрине, мұндай қадамдар хаттамаға енбейді және зерттеуші өзінің біліміне ғана сүйенеді, сол арқылы проблеманы шешуі керек. Осы себептен психология облысымен байланысты хаттамаға негізделген және анықталған мәліметерге негізделген соңғы программа зерттеушінің гипотезасын моделдейді. Эвристикалық программалаудың дамуы әртүрлі таңдау мінез-құлық моделдер, бағалы қағаздарды орналастырудағы стратегияны анықтау т.б әртүрлі моделдермен байланысты. Бірақ көптеген теоретикалық және қолданбалы сипаттағы есептерді шешушілер деп аталатын жасанды интеллект жүйесін құрумен алынған. Есептерді шешу программаларын өңдеу екі негізгі мақсатты ұстайды: біріншіден, анықалған шарттардағы адам мінез-құлқының моделі бола отырып, шешуші түсіндірілетін күшті қолданады және шешу барысында адамның әрекеттерін айтуға қолданылады; екіншіден, шешуші күрделі объектілерді, соның ішінде көбінесе роботтарды автоматизацияланған басқару жүйелерінде құрама бөлік ретінде қолданылады. Көбінде, шешушілер жағдайлардың қайта құрылуымен байланысты есептерге құрылады. Мұндай есептерде бастапқы және ұнайтын, жағдайлар, сонымен қатар жақында жағдайды өзгерте алатын операторлар мен әрекеттер жиыны беріледі. Мұндай есептер класы өте кең ауқымды. Оларға мысалы, формальды логика есептері және мақсатты бағытталған жоспарлар әрекеттері кіреді. Шешушілердің құрылу тарихы 50 жылдарда GPS жалпы шешушіні өңдеудегі зерттеу циклынан басталады. GPS авторы – А.Ньюэлл, Дж.Шоу және Г.Саймон – жасанды ақыл облысында жұмысқа арналған эффектілі шешушіні құруды мақсат еткен. Соcын олар GPS –ты адам ойлауларының жалпы теориясы ретінде қарады. Бұл әрекеттері іске аспады. Сонымен қатар GPS-тың әмбебап характеріне де қойған мақсаттары орындалмайды.: оларға рұқсат етілген есептер класы өте тар болып шықты. GPS позитивті жағы Жасанды интеллект проблематикасына есептерді шешу жолдарының стратегияының бірнеше қатарын өңдеуде болып табылады. GPS –қа арналған стратегиялар роботтарға да арналған, шешушілердің құрылуы кезінде қолданылған. Мұндай шешушілер негізінен STRIPS жүйесінде және оған жуық интегралды роботтарды басқаруға арналған жүйелерде қолданылады. Жұмыстардың ерекше бағыттары есептерді шешуде және роботтардың активтілігін жоспарлауда осы эвристикалық әдістерді қолдану В.М.Глушков атындағы Кибернетика институтында В.П.Гладун басшылығымен жыл көлемінде дамуда. Осы жұмыстардың ерекшеліктері болып шешушілерді құруда әртүрлі стратегияларды қолдану да жаңа түсініктер мен байланыстардың құрылу процестері анықталған пирамидалық семантикалық желілер түрінде білімді көрсетудің аппаратының қолданылуы табылады. Соңғы жылдары осы ұжыммен APROS деп аталатын, практикалық есептерді шешуде және жоспарлауда экспериментальды зерттеулер жүргізуге арналған жүйе құрылды. Осы жүйеде 100 объектісі бар ортада есептерді шешетін роботтардың әрекеттерін жоспарлауға арналған эксперименттер жүргізілді. Эвритикалық моделдеумен бірге жасанды ақыл жасау аймағында тағы бір эвристикалық моделдеу деп аталатын бағыт қалыптасты. 2. Эвристикалық моделдеу. Қандай да бірмінез-құлықтық акт, мінез-құлықтық функция, немесе F тәртібі болсын, және қандай да бір практикалық есепті шешу үшін осы мінез-құлықтың моделін құру керек болсын. Нейрондық деңгейде жұмыс істейтін зерттеуші бірден нейрондық құрылымын табуға тырысады. F-тің құрылуына жауаптылық ол онымен танысу және осы құрылымның моделін құру. S моделін функционалдау F мінез-құлқын қайта қалпына келтіруі керек. S F схемасының сипаттаудың нейрондық деңгейі тәртіптік деңгейден өте алыс және S моделін F функциясы өте қарапайым болғанда ғана құруға болғандықтан аздаған кемшіліктері бар. Эвристикалық әдістерді білетін зерттеуші оған басқа жағынан келіп қарайды. Ол F мінез-құлқын құратын сынақтан өтушілермен эксперименттер жүргізеді, P – F тәртібінің құрылу процесінің моделіне осы гипотезаны жатқызады және олардың ойлау операцияларының гипотезасын құрады. Процестер деңгейі мінез-құлық деңгейіне жақын, сол себепті P -F схемасы тәртіптің салыстырмалы түрде күрделі моделдерін құруға мүмкіндік береді. Бірақ осы жерде де сынақтан өтушінің өз әрекеттерін сипаттау мүмкіндігі шектелген және зерттеушінің хаттамаларды корректілі интерпретациялау мүмкіндігі де шектелген. Осы екі жақты мәселенің кемшіліктерін эвристикалық моделдеу шешуге тырысады. F тәртібі өте қиын-ақ болсын. Эвристикалық моделдеу облысында жұмыс істеп жүрген зерттеушінің әрекеттері мынандай болмақ. F-тың құрылуына жауапты нейрондық механизмдермен танысады. F-тың күрделі болуына байланысты құрылған құрылым нейрондардың жеке құрылымдарын сипаттай алмайды, тек оның кейбір нейрондық аппараттына ғана сипаттама бере алады. Осындай гипотезаның құрылуы кезінде нейрофизиология және ми физиологиясының берілгендері қолданылады. Содан кейін S моделі құрылады. Бірақ бұл модел F–тің қайта қалпына келуіне мүмкіндік жасай алмайды, тек осы есепті шешетін аппарат ролін ғана атқарады. Жұмыстың келесі кезеңі F-тің құрылу процесімен танысумен байланысты. Зерттеуші бұл жерде эвристикалық программалау әдістемесіне сүйеніп құрылымды гипотеза құруға тырысды. F мінез-құлқының күрделілігі осы гипотезаның құрылуының мүмкін емес екенін көрсетеді. Гипотеза экспериментальды зерттеулер негізінде емес психологияның F-қа тән тәртіп формаларымен танысуға кіретін бөлімдері негізінде құрылады. Қазіргі кезде психология сапалы ғылымдардың бірі болып табылады. Құрылған гипотезаның P моделі сол себептен сапалы түрге келеді. Сонымен, бізде екі түрлі сұрақ туады: бір жағынан F өңделген моделіне не саламыз, екінші жағынан F моделін қалай құру керек? Жұмыстың келесі кезеңінде зерттеуші P-ны S-тің көмегімен іске асырады. Құрылған модель нейрон тәрізді желілердің түрлілігі барлық желілер секілді компьютерлік программа, немесе мамандандырылған физикалық құрылғы ретінде іске асырылады. S(P(F тізбегімен жылжи отырып, зерттеуші эвристикалық ұсыныстардың бір қатарын жасауы керек. Сол себепті моделдің мінез-құлқы мен F-ке қажет мінез- құлқы арасында айырмашылық бар екенін түсіне білу керек. Осыларды талдай келе, зерттеуші шығатын гипотезаларды корректрлейді S және P моделдеріне енгізеді. Эвристикалық моделдеудің схемалық түсіндірмесі осылай. Эвристикалық моделдеу күрделі тәртіп формаларындағы моделдерді құруға бағытталған. Эвристикалық моделдеу процедурасы өте күрделі және көп жұмысты қажет етеді. Сол себепті практикада моделдеудің оңайлатылған түрлері қолданылады. Біздің еліміздегі эвристикалық моделдеу бағытындағы зерттеулер 60 жылдары басталған. Бұл бағыттағы қызықты жұмыстар Л.Б.Емельянов және Ярославскиймен жасалған. Қазір эвристикалық моделдеу идеяларының кейбіреулері психология және жасанды интеллект негізіндегі мінез-құлықтың құрылуымен танысу процестерінде қолданылады. Эвристикалық моделдеудегі дамыған бағыттардың бірі Н.М.Амосов басшылығымен жұмыс жасайтын ұжым жұмыстарымен көрсетілген. Ең қызықты нәтижелері моделдерді құрудың эффектілі М –желілер деп аталатын семантикалық желілер аппаратының пайда болуымен байланысты. М-желі мидың ақпараттық процестерін моделдеу аппараты ретінде өңделген және автономды роботтар әрекеттерін басқару жүйелерін құруда қолданылады. М- желі семантикалық нейрон тәрізді желілер класына жатады; оның тораптары нейрондық ансамблдерді көрсететін және роботтың ішкі және сыртқы орта процестері және объектілері түсінігі бойынша қойылатын формальды элементтермен байланысты; ал байланыс – түсініктер арасындағы қарым- қатынас. М-желінің тораптары мен байланыстары қозуды қайта құрушы ретінде сипаттайтын анықталған функционалды мінездемелерге ие. Қозу М-желіге кіретін екі канал бар: Бірінші канал – сыртқы ортаны қабылдау. Кейбір объектілерді қабылдау кезінде арнайы процедуралар ішкі ақпаратты көрсететін элементті қоздырады, М-желісінің тораптары. Екінші канал – “роботтың жалпы орнатулары”. Бұл орнатулар М-желісінің анықталған тораптарында тұрақты қозумен беріледі. М-желідегі белсенділікті реттеуде ерекше рольді қатаю–тежелу жүйесі атқарады (ҚТЖ). Бұл әр мезетте бір ақпараттық дискреттің басқаларына қатысты басты ролде болуын қамтамасыз ететін спецификалық жүйе. Шешімдерді қабылдау роботтың мүмкін әрекеттерінің аттарындағы көптеген желінің шығу тораптарының біреуінің ҚТЖ актысының белгіленуімен теңестіріледі. Осындай белгілеудің нәтижесі болып әрекеттерді іске қосатын арнайы процедураларды активизациялау табылады. Айтылған әрекеттер ортаны өзгертеді, ол роботпен қабылданады және желідегі қозу ағындарының өзгеруіне әкеледі. Барлық ақпараттың қайта бағалауына әкеледі, ҚТЖ-ны жаңа қайта қосуларға әкеледі. Жаңадан шешім қабылданады, жаңа әрекеттер орындалады т.б. 3. Эвристикалық қолданбалы бағдарламалау интерфейісі. АРІ (Application Programming Interface) қолданбалы бағдарламалау интерфейісі. ОЖ мен бағдарламалар арасындағы интерфейс жүйелік шақырулар жинағымен анықталады. Мысалы егер қолданушы процесіне файлдан берілгендерді оқу қажет болса, ол жүйелік шақыру командасын орындау керек, яғни ядро режиміне ауысу үзілісін орындап, содан кейін ОЖ-нің файлдан берілгендерді оқуға арналған функциясын іске қосу керек. POSIX стандартының барынша жиі қолданылатын жүйелік шақыруларын қарастырайық. POSIX-те 100-ден артық жүйелік шақырулар бар. Fork-жаңа процесті жасау Exit-процестің аяқталуы Open- файлды ашады Close-файлды жабады Read-файлда берілгендерді буфеге оқып алады Write-берілгендерді буферден файлға жазады Stat-файлдың жай-күйі жайлы ақпарат алады Mkdir-жаңы каталог жасайды Rmdir-каталогты өшіреді Link-сілтеме (ссылка) жасайды unlink-сілтемені өшіреді Mount-файл жүйесін маунттайды Umount-файл жүйесін кері маунттайды (немесе маунсыздайды) Chdir-жұмыс каталогын өзгертеді UNIX-те шақырулар жүйелік шақыруларды қолданатын библиотекалық процедураларға дәлме-дәл сәйкес келеді. Windows-қа арналған қолданбалы бағдарламалау интерфейсін қарастырамыз- Win32 API. Win32 API жүйелік шақырулардан бөлек болады. Бұл бағдарламаларды қайта жазып жатпай-ақ әртүрлі версияларда жүйелік шақыруларды өзгертуге мүмкіншілік береді. Сондықтан, шақыру жүйелік пе (ядрода орындалады) әлде ол қолданушы аясында өңделіп жатыр ма түсініксіз болып табылады. Win32 API- де 1000-нан артық шақырулар бар. Ондай көп болуының себебі:UNIX-те қолданушының графикалық интерфейсі қолданушылық режимді іске қосылады, ал Winndows-та ядрода орнатылған. Сондықтан, Win32 API-де терезелер, мәтін, шрифт, т.б.-ларды басқаруға арналған көптеген шақырулар бар. Win32 API-дің POSIX стандартының шақыруларына ұқсас шақыруларын қарастырайық: CreatProcess(fork)- жаңа процесті жасау ExitProcess(exit)-процестің аяқталуы CreatProcess(open)-файлды ашады CloseHandle(close)-файлды жабады ReadFile(read)- файлда берілгендерді буфеге оқып алады WriteFile(write)- берілгендерді буферден файлға жазады CreatDirectory(mkdir)-жаңа каталог жасайды RemoveDirectory(rmdir)-каталогда өшіреді SetCurrentDirectory(chdir)-жұмыс каталогын өшіреді Win32 API интерфейсі бағдарламалардың Windows- тың барлық дерлік версияларында орындалуына мүмкіншілік береді. Өзін тексеруге арналған сұрақтар 1. Эвристикалық программалау нені зерттейді? 2. Эвристикалық программалаудың дамуы немен байланысты? 3. Эвристикалық модельдеуді қалай ұғасыз? 4. М-желіліер деген не? 5. API интерфейсін қалай ұғасыз? Ұсынылатын әдебиеттер: 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980 5-6 Дәріс. ЖИ жүйесінде білімді қалыптастыру. ▪ Білім жүйесін құрудағы проблемалар; ▪ БЖ қойылатын талаптар; ▪ БЖ қасиеттері мен пайдалану сипаттамасы арасындағы байланыстар. Жасанды интеллект құрудың ең бір үлкен проблемалары болып білімді қолданудағы проблемалар болып табылады. Оның өңделуі жасанды интеллектің әртүрлі бағыттарымен іске асады. Жасанды интеллект облысындағы білім туралы түсінік мәліметтер қорының кең көлемімен және мәліметтер қорын құрудың жұмыс техникасы және принциптерін құру жайлы зерттеулер бойынша қалыптасқан. Мәліметтер қорының эффектілігі көбінде ЭЕМ жадысында мәліметтер қалай құрылады, қандай әдіспен ұйымдастырылады соған тәуелді. Алайда, мәліметтер қорының эффектілігі егер сақталған ақпаратты форма есебінен және басқа құжаттар есебінен емес, басқару объектісі мен шынайы орта фактыларында бар қарым-қатынастар есебінен тәуелді. Бұл қатынастар аяқ- астылы, оқиғалы емес объектінің байланыстарын, табиғатын көрсетуі қажет. Осындай мәліметтер қоры (МҚ) интеллектуалды немесе білім МҚ деп аталады. Білім жүйесін (БЖ) құру келесі өзара байланысты проблемалардың шешімдерін жорамалдайды. Алдымен қолданбалы білім облысын құру керек. Осы қиын есеп қолмен шешіледі. Барлық осы операциялардың әдістемесі бірінші формализациялау проблемасының мазмұнын құрайды. Екінші проблема – ЭЕМ жадысында фиксация және әдістер сипатын көрсететін формальды аппараттың құрылуымен байланысты – білімдерді көрсету проблемасы. Құрылатын моделдерде жүргізілетін есептеу теориясының дамуы – үшінші проблеманы – білімді қолдану проблемасына әкелді. Соңғы 4-ші проблема - шешілуін жүйелік программаистер қарап жүрген технологиялық проблема, - ол программалық моделдерді қолдау құралдарын өңдеу проблемасы. Жасанды интеллектте негізгі көңіл 2-ші және 3-ші проблемаларға аударылады. БЖ-ға қойылатын талаптар. БЖ келесі ерекшеліктерге ие болуы керек. 1. Қайшылықтарға шыдау. Яғни, кедергілер кездескенде Жасанды интеллект қызметін баяулатамыз, бірақ толық тоқтатпау керек. 2. Шығаруды қамтамасыз ету. Әлем жайлы толық ақпараты жоқ БЖ бар және келетін ақпараттардан дұрыс қорытынды жасай алуы керек. 3. Жаңа ақпаратқа сыншы бола алуы керек. Бұл жаңа ақпараттың қажеттігін, оны басқа қолда бар ақпратпен салыстыра отырып қорытындыға келу. 4. БЖ бөлшектігі. Жаңа хабарламалар келгенде БЖ осы хабарламалардың эффектілі өңделуін қамтамасыз ететін білімнің кейбір фрагментін белгілеп алу қасиетіне ие болуы керек. 5. Білімді қайта құруға оқыту және қабілеттілігі. Оқыту сынау механизмдеріне қарама -қарсы болу керек. БЖ-ға деген негізгі қойылатын талаптар осындай. Алайда, жасанды интеллекте бәрі толық зрттелгенмен, әлі барлық талаптарға сай БЖ жасалған жоқ. Бірақ, бұлар міндетті түрдегі талаптар, себебі олар бір-бірін толықтырады және БЖ-ның компактілігі, беріктігі, сенімділігі сияқты мінезедемелерін қамтамасыз етеді. Білімдер жүйесінің қасиеттері мен эксплуатационды мінездемелері арсындағы өзара байланыс: об – қамтамасыз етеді, ум- азайтады, сод- бар, комп – тәркілейді. Жоғарыдағы айтылған талаптарға сай БЖ-ны құру осындай аппаратты таңдау және өңдеуге негізделген. Айтылған талаптардың тек принципияльді орындалу мүмкіндігін қасиеттер қамтамасыз ете алады. Бірақ үнемді және қолайлы орындалуына мүмкіндік бере алады. Сонымен қатар, ерекше талаптар қатары білімді көрсетуде көрінуі керек. Осындай талаптардың маңыздылары болып келесілер табылады: Көрсету өзіндік көрсету құрылымы және шешуші құрылымы сәйкес келетін БЖ құруды қамтамасыз етеді.Сонымен қатар ол БЖ-ны функционалдау мүмкіндігі жақында пайда болатын, әлем жағдайын сипаттайтын мәліметтер белсендірілетін режимда қамтамасыз етуі керек. Және де осындай сипаттама мазмұны мен көлемі актуальды жұмыс мақсаты жиынымен анықталады. Сипаттаудың жасанды интеллект жүйесіндегі бары әлем жағдайына жауап ретінде емес оған тәртіп реакцияларын тосқанға жауап ретінде құрады. Алғашқы білім жүйесін басқаруды қолдану тәжірибесінде мәліметтер тәуелсіздігінің қосымша деңгейі айқын бола түсті. Жалпы мәліметтердің логикалық құрылымы әдетте күрделі, және мәліметтер қорының өсуімен бірге өзгереді. Сондықтан жалпы логикалық құрылымының өзгеруін көптеген қолданбалы программаларды қолданумен өзгертпеуіне болады. Кейбір жүйелерде жалпы логикалық мәліметтер құрылымының өзгерістерін, оның бар болу формасын құрайды, демек бұл құрылым үнемі даму үстінде болады. Бұларды мәліметтер тәуелсіздігінің логикалық және физикалық деп атайды. Білімдедің логикалық тәуелсіздігі деп, қолданбалы программалардың өзгеруінсіз жалпы логикалық мәліметтер құрылмының өзгертілуі мүмкін (өзгертілу, әрине қолданбалы программалармен қолданылатын мәліметтер қорындағы элементтердің жоюы емес). Мәліметтердің физикалық тәуелсіздігі деп, жалпы логикалық мәліметтер құрылымын не қолданбалы программаларды шақырмай-ақ физикалық қойылымы және мәліметтердің ұйымы өзгере алады. Төртінші кезең мәліметтердің логикалық және физикалық идеяларымен сипатталады, логикалық мәліметтер құрылымы физикалық мәліметтер құрылымынан қатты ерекшеленуі мүмкін, нақты қолданбалы программалардан да ерекшеленуі мүмкін. Өзін тексеруге арналған сұрақтар 1. Білім жүйесі деген не? 2. Білім жүйесін құруда қандай проблемалар болуы мүмкін? 3. Білімдердің логикалық тәуелсіздігін қалай түсінесіз? Мәліметтердің физикалық тәуелсіздігін қалай түсінесіз? Ұсынылатын әдебиеттер 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980. 3, Г.Ә.Жапарова. Информатика негіздері.Алматы. Экономика.2006 ж. 7-8 дәріс. Білімді бейнелеу модельдері. Дәріс жоспары: ▪ Білім туралы түсініктің логикалық моделі ▪ Білім туралы түсініктің желілік моделі ▪ Білім туралы түсініктің фреймдік моделі ▪ Білім туралы түсініктің өнімдік моделі 1. Кез-келген пәндік облыс өзінің түсініктер жиынымен және олар арасындағы байланыспен, осы пәндік облыстың объектілері байланыстыратын өз заңдарымен, өз процестерімен, оқиғаларымен сипатталады. Әрине, әрбір пәндік облыстың тапсырмаларды шешудің спецификалық әдістері бар. Пәндік облыс жайлы және ондағы есептерді шешу тәсілдері жайлы білім әртүрлі. Осы білімдердің әртүрлі классификациялары бар. Көбінде білім ресми түрдегі және процедуралық бөлімдерге бөлінеді. Процедуралық білімдер есептерді шешу кезінде қолданылатын әрекеттер тізбегін сипаттайды. Ол, мысалы, ЭЕМ-ге арналған программалар, сөз бойынша арналған алгоритмдер, бір затты құрау инструкциясы. Ресми түрдегі білімдер – барлық процедуралық емес программалар, мысалы, сөздіктегі және энциклопедиялардағы мақалалар, физика, химия және де басқа ғылымдардағы заңдар түсініктемелері және процедуралық білімдерден басқа “Х – ты қалай жасау керек?” деген сұрақтарға жауап береді. Ол “Х деген не?” немесе “Х және У арасында қандай байланыстар бар?”, “Неге Х?” деген сұрақтарға жауап қайтарады. Интеллектуалды жүйелер - өз құрамына міндетті түрде ЭЕМ-ді қосатын аппараттық программалық комплекстер. Пәндік облыс жайлы ақпаратты ЭЕМ-ге енгізу үшін ол ақпаратты машинаға түсінікті формада енгізу қажет. Басқа сөзбен айтқанда білімді ЭЕМ-ге түсінікті тілде, мысалы, программалау тілдеріндегідей етіп енгізу қажет. Ол үшін білімді көрсететін арнайы тілдер бар. Оларды олардың негізінде жатқан ұсынудың формальды моделдері типтері бойынша жіктеуге болады. Ондай 4 модель бар: логикалық, желілік, фреймдік және өнімдік. Білімнің логикалық моделі Логикалық модель өзімен кейбір логикалық есептеудің формальды жүйесін көрсетеді. Пәндік облыс жайлы білімдердің барлығы осы есептеудің формуласы түрінде немесе шығару ережесі ретінде сипатталады. Формула түрінде сипатталғандар ресми білімді, ал шығару ережелері – процедуралық білімдерді көрсетуге мүмкіндік береді. Мысал ретінде “пештегі температура 120 градусқа жетеді және және пеш қосылғаннан бері 30 минуттан аз уақыт болса, қысым қиын – қыстау режимнен аспайды. Егер пеш қосқаннан бері 30 минуттан асса, №2 вентилін ашу керек.” Осы білім жайлы түсініктің логикалық моделі мына түрде болады. P(p=120) T (t<30) ( (D30) ( F(№2); Бұл жазуда келесі белгілер қолданылады: P(p=120) – температура 120 градусқа жеткенде ақиқат болатын предикат. T (t<30) – процесс басталғаннан бастап 30 минут ішінде ақиқат болатын предикат. T(t>30) - процесс басталғаннан бастап 30 минут өткен соң ақиқат болатын предикат. (D <слот2><слот3>…<слотN>. Мысал ретінде “алу” фреймін қарап көрейік: “Алу”: (Субъект,Х1); (Объект,Х2); (Орын,Х3); (Уақыт,Х4); (Шарт,Х5). Бұл фреймде слоттар аты көрсетілген, бірақ оның мәнінің орнына (Х1,Х2 және т.б) айнымалылары қолданылады. Мұндай фрейм прототип–фрейм немесе протофрейм деп аталатын. Пртофрейм түсініктің өзі жайлы білімді сақтайды. Мысалы, “алу” түсінігі аты көрсетілген бар слотпен байланысты. Алуды «Егер Х5 шарты орындалғанда, Х1 Х3 орыннан, Х4 уақытта, Х1 Х2 деп белгіленді алады.» Барлық айнымалылардың орнына нақты мәндерді қоя отырып, сипаттаудың нақты фактісін аламыз: “Алу”: (Субъект, Робот); (Объект, Деталь); (Орын, Қабылдау бункері); (Уақыт, Х4); (Шарт, Бункерде деталь бар, ал роботта ол жоқ ). Жасанды интеллекте негізгі слоттар көрсетілген фреймдер фрейм- экземпляр немесе экзофрейм деп аталады. Біздің мысалымызда “алу” фреймінде негізгілер деп “объекті” және “субъекті” атауға болады. Семантикалық желіні фреймдер жиыны ретінде көрсету үшін желі төбелерінің арасындағы қатынасты көрсете білу керек. Осы үшін фреймнің слоттары қолданылады. Слот ретінде жаңа фрейм шыға алады, көпшілік фреймдарға иерархиялық классификацияны орындай алады. Бұл фреймдердің қолайлы қасиеттері болып табылады, себебі адамның білімі жалпылама реттелген. Білімдер түсінігінің өнімдік моделі Өнім- жасанды интеллект жүйелеріндегі білімді көрсетудің кең тараған түрі. Модельдер негізін өнімдер жүйесі құрайды. Әрбір өнім келесідей стандартты түрде жазылуы мүмкін. «Өнім аты» Сфера аты, Бастапқы шарт; Ядро шарты; Егер А, онда В; Соңғы шарт. Негізгі ядро «Егер А, онда В» түрінде, мұнда А және В әртүрлі мәндер болуы мүмкін. Қалған элементтер көмекші сипатта болады. Өнімдік модельдің қарапайым түрі өнім аты және ядродан тұруы мүмкін. Сфера мысалы физика, информатика, химия және т.б. бола алады. Өзін тексеруге арналған сұрақтар 1. Білім модельдері не үшін қолданылады? 2. Білімнің логикалық моделін қалай түсінесіз? 3. Білімнің өнімдік моделін қалай түсінесіз? 4. Білімнің фреймдік моделін қалай түсінесіз? 5. Білімнің желілік моделін қалай түсінесіз? Ұсынылатын әдебиеттер: 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980. 3. Под ред. И.Г.Семакина, Е.К.Хеннера. Информатика. Задачник практикум. Том. 2. – М.: Лаборатория Базовых Знаний, 1999 г. 9-10 дәріс. Сарапшылық жүйелер. Дәріс жоспары: • Сарапшылық жүйе анықтамасы • СЖ міндеттері • СЖ ерекшеліктері Сарапшылық (эксперттік) жүйелер - зерделі есептегіш жүйе, бұған кейбір пәндік (қаржы, медицина, құық, геология, сақтандыру, радиоэлектрондық аппаратуралардағы ақауларды іздеу және т.б) саладағы тәжірибелі мамандардың (сарапшылардың білімі енгізілген, олар осы сала шеңберінде сарапшылық шешімдер (кеңес беру, диагноз қою) қабылдауға қабілетті. СЖ – нақты міндеттерді жақсы шешетін сарапшылардың білімдерін, кәсіби тәжірибесін жинақтауға, жүйелеуге және сақтауға мүмкіндік береді. СЖ-де жинақталған білім іс-тәжірибеде шексіз мәрте қолданылады. Сарапшылық жүйелердің жұмысы жасанды зерденің алгоритмдеріне негізделген және маман-сарапшылардан алдын-ала алынған ақпаратты қолдануды көздейді. Осылайша, сарапшылық жүйе – электронды сарапшыға (кеңесші) көмекші болып табылады. СЖ-ның қалыптасқан теория жоқ жерде, толық тория, дәл математикалық үлгі жасауды қиындататын, өзгермелі шамалар (факторлар, көрсеткіштер, тән белгілер(симптомдар) өте көп, мәнді сомаларда қолданылады. Осындай мәнді салаларда міндеттер шешу кезінде іс-тәжірибедегі шеберлер өз тәжірибесіне, дағдыларына және түйсіктеріне сүйенеді. [pic] 2 сурет. Сарапшылық жүйенің құрылымдық сызбасы. Білім базасы редакторының көмегімен сарапшы осы мәнді саладағы маман білім базасын толықтырады (осы білімін, шеберлігін, дағдысын бергендей болады). СЖ құрған кезде жұмысына қажетті мәліметтермен білім базасын толиыру рәсімі(процедурасы) көп еңбек сіңіруді талап ететін және қалыптасуы қиын кезең болып табылады. Білім базасына бірнеше ондаған мың ереже кіруі мүмкін. Мұндай білім базаларын құрғанда сарапшыларға білім бойынша инженерлер – когнитологтар көмек көрсетеді... Пайдаланушы интерфейсінің көмегімен электронды сарапшының кеңесіне мұқтаж СЖ адамдарымен қарым-қатынас жасалады. Пайдаланушылар СЖ-ге тар ауқымды мәнді салалардағы арнайы мәселелер жөнінде кеңес сұрайды, оған ерекшелікті фактілер мен гипотезалар ұсынады. Білім базасы(ББ) дегеніміз – жарияланымдардан алынған осы мәнді сала бойынша, сондай-ақ сарапшылық жүйемен (немесе бірнеше сарапшыларынан) өзара әрекеттесетін процесінде эксперт енгізген білімнің жиыниығы. Ұйғарушы (басқа аты- логикалық қорытынды машинасы) - ББ-да бар білім және пайдаланушы енгізген мәліметтер негізінде сарапшының пайымдаулар барысын үлгілейтін(ұқсатқыш) программа. Ұйғарушы – СЖ-ның «миы». Ұйғарушының көмегімен енгізілген мәліметтер өңделеді және тиісті тұжырымдар жасайды. Түсіндірмелер жүйесі (подсистема) – яғни электронды сарапшының ойлар тізбегін, қорытындының, қалай алынғанын ашық көрсетуге мүмкіндік беретін программа. Түсіндірмелер жүйесі погнитологқа қателерді табу мен СЖ жаңғыртып, жетілдіруді жеңілдетеді. Жоғарыда баяндалған СЖ құрылымында білім білімді өңдеу алгоритмінен ажыратылған. Мұндай бөлу мынадай себептер бойынша қойылады. Білім базасының құрамы нақты мәнді салаға байланысты. Екінші жағынан, пайдаланушылық интерфейс, ұйғарушы, білім базасының редакторы, түсіндірмелердің жүйешесі (кейде бұл блоктар қабық деп аталады) пәндік салаға тәуелді емес. Осылайша, бірнеше тіркемелерге арналған сарапшылық жүйені жасаудың ақылға қонымды тәсілі әмбебап қабықтан тұрады. Мұндай СЖ-де әрбір жаңа тіркеме үшін білім базасын ерекшелікті мәліметтерімен толтыру жеткілікті. EMYCIN (Empty MYCIN – бос MYCIN) осындай СЖ (қабық) мысалы болып табылады. Білім базасында фактілер мен ережелер болады. Фактілер қысқа мерзімді ақпарат болып саналады және кеңес беру процесінде өзгеруі мүмкін. Ережелер жаңа фактілер немесе болжамдарды қалай жасау қажеттігі туралы ұзақ уақыттық ақпарат ұсынады. Ережелер күмәнсіз фактіден гөрі шындыққа жуықтайтын кеңесті шоғырландыратын, табиғаты жағынан эвристикалық (тәжірибелік) болады. Тәжірибеден және түйсік бойынша алынатын білім сарапшылық жүйе терминологиясында эвристикалық деп аталады. Білім базасында, сондай-ақ, метабілім, яғни білім жайлы білім ( сарапшының қалай ойлайтындығы жайлы) кіруі мүмкін. Кәдімгі мәліметтер базасына қарағанда білім базасында фактілер ғана емес, жаңа фактілер шығаруға мүмкіндік беретін ережелер де сақталады. Ұйғарушы (логикалық қорытынды машинасы) «пайымдаушылық қабілетін» қамтамасыз етеді, ол сарапшылық жүйеге қорытынды қалыптастырып, кеңес беруге жол ашады. Логикалық қорытынды машинасы ізденістің әр түрлі стратегиясын: «фактіден мақсатқа дейін» тікелей ізденісті және «мақсаттан фактілерге» кері ізденісті қолданады. Алғашқы жағдайда ЭЕМ проблеманың бастапқы жағдайынан мақсаттарға баратын жолдарды, яғни, қорытындыға немесе кеңеске іздейді.Екінші жағдайда, мақсаттан (қорытындыдан) бастап, ЭЕМ қорытындының шынайылығын дәлелдеуге тырысады. Сарапшылық жүйе ерекшеліктерін қарастырайық. 1. СЖ белгілі бір мәндік саламен шектелген. 2. СЖ күмәнді бастапқы мәліметтермен де қабылдауға қабілетті. 3. СЖ өзі жасауға пайымдаулар тізбегін түсіндіруге қабілетті. 4. Қорытынды қалыптастыратын фактілер мен механизм(прогамма) бір – бірінен аық ажврвтылған . 5. СЖ оны біртіндеп өсіру (кеңейту) және жаңғыртып , жетілдіру мүмкіндігін болатындай етіліп құрылыды. 6. СЖ жұмысы нәтижесінде зерттелетін объектісімен не болғандығы жорамал немесе нақтылы жағдайды не істеу керектігі жайлы түсінік диагноз қою , ұсыныс , кеңес қалыптасады. Сарапшылық жүйелер сарапшы адамдардың шешім қабылдау процессін ұқсатады және күрделі проблемаларды құдіреттілікпен шешуге қабілетті .Кейбір СЖ- ны қысқаша сипаттайық , бұл «электронды кеңесшілерді» қолдану өрісін тағы да көрнекті көрсетуге мүмкіндік береді. MYCIN (Станфорд университеті) сарапшылық жүйесі – алғашқы және ең әйгілі СЖ-ның бірі , жиырмасыншы ғасырдың 70 жылдарының ортасында жасалды. Жүйе жұқпалы аурулар диагностикасына арналған. Гейдельберг пен Дармштадт университеттерінде заңгерлерге азаматтық істер жөніндегі сарапшылық қорытындыларды алуға мүмкіндік беретін алғашқы заңдық ЭС - JUDITH нің (1975ж) бірі жасалады. INTERNIST сарапшылық жүйесі білікті дәрігер жасаған диагноздың дәлдігімен слыстыруға болатындай дәлдікпен бірнеше жүздеген ауруларға диагностика қояды. PROSPECTOR – жаңа пайдалы қазбаларды іздегенде геологтарға көмектесетін сарапшылық жүйе. Географиялық карталардан, шолулардан, геологтарға қойылатын сұрақтарға жауаптардан ЭЕМ-ға көшірілген ақпараттың негізінде PROSPECTOR жаңа кен орындарын болжайды. Бұл жүйені қолдану британ Колумбиясында молибден кенін табуға мүмкіндік береді. TIIM жүйесі (жасап шығарушы General Research) әскери ұшқышқа тікұшақтың ұрыс қимылдары кезінде көмек көрсетеді. Management Advisor (менеджер кеңесшісі) сарапшылық жүйесін 1986 ж Paladin Software6 Inc. Фирмасы жасаған. Жүйе басшыға өзінің коммерциялық іс- қызметін жоспарлауға жәрдемдеседі. XCON(Carnegie- Melon university) жүйес компьютерлерді сатқан кезде пішін үйлесімін айқындауға арналған. Сатып алушы мен белгілі бір сипаттамалары бар ЭЕМ тапсырыс береді; ал СЖ кешенді құрастыратын блоктарды(дисплей типі, ОЗУ көлемі, процессор типі, дыбыс картасының типі, бейнежады көлемі және т.б) оңтайлы таңдап алуға мүмкіндіе береді. EXPRETAX ( Coopert and Lybrand) сарапшылық жүйесі қаржылық диаграммаларды әзірлеу мен салық жөніндегі есеп айырысуларды даярлауда ревизорлар салық мамандарына ұсыныстар дайындайды. Білім базасын 20-дан астам сарапшының тәжірибесі бейнелейді. Өзін тексеруге арналған сұрақтар 1. СЖ деген не? 2. СЖ мақсаты неде? 3. СЖ дәстүрлі программалардан айырмашылығы неде? 4. СЖ атқаратын іс-қызметтердің негізгі түрлерін атаңыз. 5. Экономикада, компьютерлік жүйеде, экологияда, медицинада СЖ шешетін міндеттердің түрлерін сипаттаңыз. 6. СЖ жинақтап қорытылған құрылымын келтіріңіз. Жекелеген блоктарға сипаттама беріңіз. 7. СЖ ерекшеліктерін атаңыз. Ұсынылатын әдебиеттер: 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980. 3. Г.Ә.Жапарова. Информатика негіздері.Алматы. Экономика.2006 ж. 11-12 дәріс. Машиналық интеллект және роботтық техника. Дәріс жоспары: ▪ Машиналық интеллект. ▪ Роботтар типологиясы. Машиналық интеллект. Роботтың неше түрі оның негізін 1 дене құрады, механикалық, электромеханикалық, пневматикалық құрылғылардың жиынтығы. Оның мықтылығын қамтамасыз етеді. Кеңістікте жүретін (дөңгелек, аяқ) өмірле объектілерге әсер ету (манипуметорлар, итергіштер) сыртқы қабығында ақпаратты қоршаған ортадан алатын құрылғы (сенсоры), басқару құрылғылары және әртүрлі қосымша (көмектегіш) құрылғылар физикалық объектілер ретінде қарастырылады. Роботтық құрылым “денесі өзгеруі мүмкін”. Роботтың негізін оның берік қасиеттерін, механикалық, электромеханикалық, пневматикалық құрылғылар жиынын, орын ауыстыру және сыртқы орта объектілеріне әсер ететін қабілетін қамтамасыз ететін оның денесі құрайды. Шассиде ортадан ақпаратты қабылдау құрылғылары, басқару және қосымша құрылғылар орналасқан. Оның мақсатына байланысты роботтың денесінің құрамы өзгеріп отырады. Роботтың міндетті түрдегі компоненті болып, оның “қатты” деп атайтын басқару жүйесі табылады (0 блок 6). Ол өзгермейтін программаны немесе оның жұмысын басқаратын логикалық құрылғылардан тұрады. Қабылдау жүйесі роботтың денесін басқаратын уақыт көрсеткіштерінен және ол тұратын сыртқы оқиға параметрлерінен тұрады. Сонымен қатар мұнда оптикалық, ультрадыбыстық, телевизиялық құрылғылардан тұратын дамыған техникалық көру жүйелері де кіреді. Олар бірігіп робот сенсорының жиынын құрайды. Қабылдау жүйесі сонымен қатар сенсорлардан келетін ақпараттарды алдын-ала өңдеу құралдарын және осы ақпараттың интерпретация құралдарынан тұрады. Интерпретация ұғымымен сенсорлардың объектілерді сипаттау және сыртқы орта жағдайын сипаттау шығу сигналдарына тілді аудару түсіндіріледі. Интерпретация сыртқы орта жайлы білім және роботтың 2-ші блокта сақталған денесі көмегімен орвындалады. Интерпретацияланған хабарлаулар роботты басқарып отырған операторға (3 блокпен байланыс) немесе басқару жүйесінәің өзімен қолданылады (4 және 5 блоктарымен байланыс). Алдын-ала өңдеу функциясы қолданылып отырған тіл жайлы білім негізінде орындалатын морфологиялық және синтаксистік анализінен тұрады. (7-ші блок). Диалогтық процессордың келесі функциясы пікірлердің семантикалық анализімен байланысты. Анализдің жүру барысында пікірлер оның ішкі жүйелеріне түсінікті роботтың ішкі тіліне интерпретацияланады. Семантикалық анализ екінші блокта көрсетілген білімдердің негізінде жүргізіледі. Және тек сыртқы орта жайлы және робот жайлы ғана емес, адам өмірі, оның мақсаты жайлы да білімдер қолданылуы керек. Сипатталған функциялар толықтығы роботтың мақсаты мен қолданылып отырған тілді басқару деңгейінен тәуелді. Тағы бір диалогтық функция процессоры интерпретацияда және хабарламалар мен сұраныстарды беруден тұрады. Интерпретация хабарламаны роботтың ішкі тілінен шығару жүйесінің тіліне аударудан тұрады. Негізінен, роботты басқару жүйесі, оның ең жоғарғы деңгейі жоспарлаушымен (5-ші блок) және шешім қабылдау жүйесі немесе шешушімен (4-ші блок) көрсетілген. Жоспарлаушының міндеті сәйкес мәліметтер негізінде диалогтық процессорден түсетін формальды сипаттамасы бар есептерді автоматты шешуде болып табылады. Шешуші де жоспарлаушының қызметін атқарады. Айырмашылығы есептерді деталдаудағы деңгейлерінде ғана. Жоспарлаушының деңгейін – стратегиялық, шешушінің деңгейін – тактикалық деп атауға болады. Өзінің есептерін шешуде жоспарлаушы ортаның жалпы жағдайы жайлы ақпаратты қолданады. Егер орындау сәтсіздікке әкелсе, мысалы, робот анықталмаған, күтпеген кедергіге келсе, шешуші оны қабылдау жүйесінің мәліметтері бойынша немесе қатты деңгейден келген сигналдар арқылы табады және жоспарлаушыға осы туралы хабарлама жібереді. Жоспарлаушы жаңа жоспар құру арқылы есепті қайта шешеді, немесе диалогтық процессор арқылы операторға хабарлама жібереді де келесі сигналды тосады. Қарастырылған блоктардың әрқайсысы өте қиын функциялар комплексін қарастырады, осы лайықты өз есептеулерін жүргізеді. Теориялық принциптерді өңдеу және техникалық құралдарды құрумен байланысты проблемалар роботтық техниканың негізгі проблемалары болып табылады. Олардың бәрі жасанды интеллект әдістерімен және идеяларымен тығыз байланысты. Роботтар типологиясы. Роботтар – бұл адам еңбегін автоматизациялауға негізделген электромеханикалық құрылғы. Робот сөзінің өзі 20-жылдары пайда болды. Оның авторы –чехтың жазушысы Карел Чапек. Сол уақыттан бері роботтардың сан –алуан түрлері құрастырылды, бірақ олар әлі өндіріске қолданылмады. Роботтар қатаң басқару схемасымен. Қазіргі кездегі өндіріс роботтарының барлығы дерлік бірінші кезеңге (ұрпаққа, к первому поколению) жасады. Адаптивті роботтар сенсорлық құрылығылармен. Бұл роботтардың үлгілері бар, бірақ олар өндірісте әлі қолданылмайды. Өздігінен әзірленетін интеллектуалды роботтар. Бұл робот жасау техникасын дамытудың ақырғы мақсаты. Интеллектуалды роботтарды жасау басты проблемасы-машинаның көру проблемасында. Қазіргі таңдағы әлемде жылына 60 мыңнан астам робот құрастырылды. Қазіргі кездегі бар роботтар бір-бірінен құрылымы бойынша және функционалды мүмкіндіктері бойынша әртүрлі болып табылады. Роботтардың 3 буыны бар. 6-шы –7-ші блоктар енген роботтар бірінші құрылған. Олар бірінші роботтар буынына жатады. Оларға қазіргі кездегі белгілі ойдан шыққан роботтардың бәрі жатады. Екінші буын роботтары немесе жандандырылған роботтар 1,4,6,7 блоктарын кіргізеді. Мысалы, “көз-қол” жүйесі. Осы буынның роботтары бұрын тез сенсорлармен, ал олардың шешім қабылдау жүйесі “қатты” программалардың автоматты қосылуын қарастырған. Кейіннен олар күрт күрделеніп кетті, бірақ бұл кластың өте дамыған роботтары тек лабараторияларда ғана бар. Үшінші буын роботтары немесе жасанды интеллект роботтары (1-7 блоктар), қазіргі кезде өңдеу деңгейінде болып табылады. Оларды құрудың негізгі проблемасы болып, білім проблемасы табылады. Әртүрлі типтегі роботтардың компоненттері кіретін дамыған, функционалды аяқталған жүйелер бес топқа бөлінеді: В тобы – сыртқы орта жайлы көзбен көру, есту, тактильді және т.б басқа да түрдегі ақпараттарды қабылдау жүйесі; М тобы – сыртқы орта объектілеріне әсер ететін жүйелер - әртүрлі манипуляторлар, талқылаушылар; Т тобы – роботтың орын ауыстыруын жүзеге асыратын жүйелер; П тобы – роботтың әрекетін жоспарлау жүйесі, есептерді шешу жүйесі; Р тобы – оператормен және басқа да роботтармен әртүрлі деңгейдегі қатынасы тілдерінде роботпен коммуникационды жұмысты қамтамасыз ететін жүйелер. Қазіргі уақыттағы роботтардың структура жағынан және функцияналдық атқару жағынан айырмашылығы бар. Структура жағынан роботтарды 3 ғасырға бөлуге болады: Бұл классификация структуралық айырмашылықтарға ғана емес, техникалық роботтың даму хронологиясына да негізделген. Ең бірінші 6-7 блоктарды қосқанда жүретін роботтар шықты. Оны бір ғасырға жатқызады. Оған атақты біздегі уақыттағы өнеркәсіптік роботтар жатады. Екінші ғасырға жататын роботтар 1,4,6,7 блоктар қосылады. Мысалы, “қол –көз” жүйесі. Үшінші ғасырға жататын роботтар немесе роботтар жасанды интеллект (блок 1-7). Оның негізі құрудағы проблемасы –білім проблемасы болып отыр. Роботтың техника үшін теориялық дамуы және техниканың автоматты түрде теорияның дәлелденуі басты роль атқарады. Өзін тексеруге арналған сұрақтар: 1. Машиналық интеллект ұғымын қалай түсінесіз? Мысал келтіріңіз. 2. Робот деген не? 3. Роботтардың қандай типтері болады? Ұсынылатын әдебиеттер: 1. Лорьер Ж.Л. Системы исскуственного интеллекта. М.:Мир.1991. 2. Умнстон П. Искусственный интеллект. М.:Мир. 1980. 13-15 дәріс. Логикалық программалау. Дәріс жоспары: ▪ Логикалық программалардың түрлері. Олардың тарихы. ▪ Пролог тілінің ерекшелігі. ▪ Проглог тіліндегі негізгі ұғымдар. ▪ Пролог тіліндегі негізгі операциялар. XX ғасырдың 90 – жылдарынан бастап дүние жүзінде жасанды интеллекті игерген компьютерлердің жобалары құрылған және де олар кейінгі жылдары көп ілгері дамыған. Бұл – компьютерлердің 5 – ұрпағы, олардың аппараттық негізіне өте жоғары деңгейдегі программалау тілдері алынған, бұл тұрғыда дәстүрлі Бейсик тілінің ролін бүгінгі Пролог тілі орындайтын болады, себебі оның мәні мен мүмкіндіктері логикалық программалауды таратуда және де танытуда тым үлкен болып тұр. ЖИ идеялары адамның жұмысын жеңілдетуге арналған электр-механикалық құрылғылар - зерделі роботтар жұмысы негізіне салынған. ЖИ программалары көбінесе ПРОЛОГ, ЛИСП. Лисп тілі 1965 жылы американдық профессор Джон Маккарти «жасанды интеллект» пролемалары бойынша зерттеу үшін ойлап тапты. Бұл тілдің ерекшілігі оның негізі болып алгоритмдердің математикалық теориясы және рекурсивті функциялар болуында. Лисп тілінде рекурсивті анықтайтын функциялар ұғымдары негізгі болып табылады. Осы себептен Лисп тілі әмбебап тіл болып есептеледі, себебі кез-келген алгоритм бірнеше рекурсивті функциялардың жинағы ретінде сипатталуы мүмкін. Бұл жағдай ЭЕМ күрделі алгоритмдерді, мәліметтерді өңдеуге, сонымен қатар адамдардың интеллектуальдық қызметерін модельдеуге модельдеуге мүмкіндік береді. Пролог – логикалық программалау тілі (logic programming language), XX ғасырдың 70 – жылдары компьютерде жасанды интеллект жүйесін, яғни, сарапшылық жүйе, аудармашы – программа, интеллектуалдық ойындар тағы сол сияқты құруға арналған. Дәлдеп айтқанда Пролог 1972 жылы Францияда «жасанды интеллект» проблемаларын зерттеу бойынша құрылды. Осы тілдің ұғымдары мен принциптері математикалық логика ұғымдарына және «жасанды интеллектіні» зерттеу бойынша жасалған теоремаларды автоматты түрде дәлелдеу аппаратына негізделген. Сондықтан да Пролог тілі формальды түрде әртүрлі бекітілімдерді, ойқорыту ережелерін сипаттауға мүмкіндік береді және ЭЕМ-ді ойқорытуға және берілген сұрақтарға жауап беруге көндіреді. Пролог тілінің негізі білімнің логикалық моделіне негізделген, өзі логикалық программалау тілдерінің тобына жатады және де дәстүрлі программалау тілдерімен салыстырғанда, атап айтқанда Бейсик, Фортран, Паскаль, Си, біраз ерекшеліктерімен оқшауланады: - Пролог тілінде программа алгоритм болмайды, ол есеп шарттарын формальды логика тілінде жазады. - Пролог тілі есептеуге немесе графикалық есептерді шығаруға арналған, ол логикалық есептерді шығаруға, адамның логикалық ойлау процесін модельдеуге арналған; Пролог тілінде есептеулер және де графиктік салулар логикалық қорытындылаудың туынды өнімі ретінде орындалады. - Пролог тілі программисттің ойлау қабілетінің ерекше түрін қажет етеді. Сондықтан процедуралық программалауды үйренген программист оқып – үйренуде қиындықтарға ұшырайды, программистер бұл тілге ауысуға асықпайды, осыған байланысты Пролог тілі кең тарай алмай отыр, алайда көп елдерде ( Япония, Англия, Франция, Германия, Израиль) білім беру саласында Пролог тілін іс – тәжірибеде программалаудың бірінші оқып – үйрену тілі ретінде пайдалану кеңінен тарап келеді және де ол Паскаль сияқты процедуралық тілдерге ауысуда қиындықтар туғызбайды. Міне, осындай ерекшеліктер Пролог тілін бүгінгі таңдағы ең жоғары деңгейдегі тілдерге жатқызуға мүмкіндік береді. Пролог тілін оқып – үйренуде математикалық логиканы және де онда пайдаланылатын ұғымдық жүйені алдын – ала оқып – үйрену көп септігін тигізеді. Пролог тілінде программалау төмендегі кезеңдерді қамтиды: 1) объектілер және де олардың арасындағы қатынастар туралы дәйектерді хабарлау. 2) объектілер және де олардың арасындағы қатынастардың өзара байланысу ережелерін анықтау. 3) объектілер және де олардың арасындағы қатынастар туралы сұрақтарды тұжырымдау. Компьютерлер үшін Пролог тілінде программалау жүйесі латын әріптерін пайдалануға мүмкіндік береді, сондықтан орыс алфавитіндегі әріптер пайдаланылмайды. Алайда практикалық жұмыста жүйенің мәні анық болу үшін орыс тіліндегі есімдерді жазуда латын әріптерімен ауыстыру ұсынылады. 4. Пролог тіліндегі негізгі ұғымдар: Есімдер - әріптен басталатын әріптер және де цифрлар тізбегі. Айнымалылар - бас әріптен басталатын әріптер және де цифрлар тізбегі. Айнымалылар түрлері: атомдар, бүтін сандар, жолдар. Құрылым – құрылым есімінен және де жақшаға алынған аргументтер тізімінен тұратын жүйе, мысалы, киеді (айгүл, көйлек), str (А, В, С). Құрылым элементтері сандар, атомдар, айнымалылар басқа құрылымдар болуы мүмкін. Тізім – квадрат жақшаға алынып үтірмен бөлінген кез – келген түрдегі элементтер жиынтығы, мысалы, [1,3,5,7], [қызыл, жасыл, көк]. Тізімдердің құрылымдардан айырмашылығы - олардағы элементтер санының программаны орындау барысында ауысу мүмкіндігінде. Дәйек – объектілер арасындағы қатынастарды немесе объектілердің қасиеттерін белгілейтін тұрақты аргументі бар предикат. Мысалы, телефон (мадина, т 451198), бұл Мадинаның телефон номері 451198 екенін анықтайды және де мұндағы «Т» әрпі телефон номерін литерлі (сөзді) тұрақты ретінде көрсетеді, себебі 451198 саны өте үлкен болып табылады. Тағы бір мысал, ұнайды (назия, рэп), яғни бұл дәйектен ұғатынымыз: « Назияға рэп ұнайды». Дәйектер әрқашанда ақиқат болып саналады сондықтан программаны орындау жағдайында дәлелдеудің негізі болып табылады. Ереже – тақырыбы және де бір – екі предикаты бар сөйлем. Ереженің жазылу түрі төмендегідей: < ереже тақырыбы >: - < предикаттар тізімі>, мұндағы: - белгісі «егер» деп оқылады, ал предикаттар тізімі – үтірмен жеке – жеке предикаттар жиынтығы, мұндағы үтірлер «және» деп оқылады. Ережелер дәйектер арқылы объектілердің арасындағы белгілі қатынастар негізінде жаңа қатынастар анықтауға мүмкіндік береді. Мысалы, әдемі қыз (Х): - ұнайды (Х, рэп), киеді (Х, көйлек), бұл ережені оқығанда « кез – келген Х - әдемі қыз, егер Х рэп ұнаса және де Х көйлек кисе» сөйлемі шығады. Сұрақ – программа орындауда шығатын логикалық қорытындының негізі. Кез – келген сұраққа компьютер «иә» немесе «жоқ» деп, білімдер қорындағы дәйектер мен ережелерге сай жауап береді. Мысалы, білімдер жүйесін құрайық: ұнайды (назия, рэп) ұнайды (айжан, джаз) киеді (назия, көйлек) киеді (айжан, жейде) әдемі қыз (Х): - ұнайды (Х, рэп), киеді (Х, жейде) Енді сұрақ қояйық: ? - әдемі қыз (Айжан) Компьютер бізге «жоқ» деп жауап береді. Себебі ереже бойынша Айжанға ұнау керек болатын рэп, алайда Айжан джазды ұнатады. Егерде сұрақ былай қойылса! ? - әдемі қыз (Назия), онда жауап «иә» болады, себебі дәйектемеде қайшылық жоқ. 5. Пролог тіліндегі негізгі операция салыстыру немесе келісу операциясы, операция нәтижесі табысты немесе табысты емес болуы мүмкін. Салыстыру операциясы төмендегідей анықталады: - тұрақты шама өзіне тең тұрақтымен салыстырылады. - сайма сай құрылымдар бір – бірімен салыстырылады. - айнымалы тұрақтымен немесе бұрынғы айнымалымен салыстырылады. - екі бос айнымалы өзара салыстырылады. Мысалдар, 5 салыстырылады 5, «бар» салыстырылады «бар», «қайрат» салыстырылмайды «қанат», «ұнайды (айжан, джаз)» салыстырылады «ұнайды (Х, джаз)». Тағы бір айта кететін жайт компьютер программадағы «ұнайды», «киеді», «назия», «айжан» сияқты есімдерді «түсінбейді», сондықтан бізге оларды басқаша белгілеуге болар еді. Алайда Пролог тілінде енгізілген предикаттар бар, олар арифметикалық амалдарды графиктік салуларды, енгізу – шығару және де басқа да пайдалы операцияларды программаның туынды өнімі ретінде пайдалануға мүмкіндік береді. Arity – Prolog енгізілген предикаты программалау жүйесі бойынша анықтамаларда жазылған және де оны Ғ1 батырмасы арқылы шақыруға болады. Пролог тілінің басқа нұсқаларында да осы сияқты енгізген предикаттар түрлері болады. Ғылымда объектілердің арасындағы қатынастарды анықталатын қатыстар мен анықтайтын бүтін бір сала бар. Оларды реттейтін ережені рекурсивті деп атайды. Мысалы, натурал сандардың рекурсивтік анықтамасын жазыңдар: 1) 1 – натурал сан 2) натурал саннан 1 артық сан да натурал. Бұл мысалда сандар арасындағы белгілі қатыс арқылы, яғни «1 артық», келесі сандарды анықтауға болады: 2; 3; 4... Логикалық программалау жүйесінде рекурсивтік ережелерді циклды, қайталану алгоритмдерін жазуға кеңінен пайдалануға болады, сондықтан бұл әдіс программалаудың маңызды құрал болып табылады. Мысал қарастырайық: Натурал санның факториалын есептеу (n!), есептеу шарттарын анықтайық, 1)1!=1 2) n1=(n - 1)1*n, яғни, сандар арасындағы қатынас «көрші сандардың көбейтіндісі» қатысы арқылы анықталады, сондықтан натурал сандардың факториалы рекурсивті. Бұл есептің программасын жазу үшін екі орынды предикат пайдаланып оны сұраулар мен байланыстырайық, сонда программа төмендегі түрде жазылады: Программа 2; факт (1,1). факт (N.X): - факт (N – 1, Y), Х is Y*N . ? – факт (3,А); Бұл программада «факт» ережесі өзін - өзі анықтайды, яғни берілген мәндер бойынша санның факториалын есептейді, сондықтан ереже рекурия болады, ал is Y*N жазуы «бар» предикатына арифметикалық амалды орындау үшін сұрау жасайды. Программаның жұмыс процесін төмендегідей бейнелеуге болады. ? факт (3,АО). Жауап: А=6 ? факт (2, А1). Х1=2*3 =6 ? факт (1, А2). Х2=1*2=2 факт (1,1). Программаның орындалу барысында «факт» ережесі өзін - өзі шақырып, қатыстар бойынша жұмыс жүргізеді. Сондықтан пайда болатын айнымалылар үшін ЭЕМ жадысында А, АО,А1, А2, және де N, NO, N1, N2 айнымалылры үшін орын, яғни, стэк бөлінеді. Сұрақты факт (1,1) предикаты мен келістіру барысында рекурсия тоқталады да кейін жүру басталады – түзу бойында қалған келісімдерді орындау. Бұл тәртіп шексіз қайталанбас үшін факт (1,1) предикатының ролі ерекше – ол рекурсияны шектеулі, яғни, аяқтау шарты. Программаның орындалуын басқару Пролог жұмысының негізі болып табылады және де бұл арнайы енгізілген « кесу» функциясымен іске асырылады. «Кесу» функциясының белгісі «!» бұл енгізілген функция төмендегідей мақсаттарды орындауға пайдаланылады: 1) Программаны орындау барысында шексіз қайталауды болдырмау. 2) Бір – бірін қайталамайтын сөйлемдер құру. 3) Мақсаттарды көруді шектеу. Осы мақсаттарды мысал арқылы тексерейік. Мысал 1; Шексіз қайталануды жою. Фибоначчи сандарының анықтамасын тексерейік. Программа 3; fib (0, ,1). fib (1,1,1). fib (N,G,H): - fib (N –1,F,G), H is F+G. ? – fib (0, ,F). Бұл сұраққа Ғ=1 деген жауап алынады, сондықтан Пролог екінші дәйекті салыстыруға кіріседі, алайда бұл операция табыссыз болады, енді үшінші сөйлемге жауап іздей отырып fib (-1, ҒО, Ғ1) мақсатын дәлелдеу әрекеті орындалады және де ол fib (-2,..,..) мақсатына әкеледі, сөйтіп келесі мақсатты дәлелдеу қажет болды, яғни, шексіз қайталануды орындау қажет болады. Алайда, мұндай жағдайды болдырмау үшін кесуді пайдаланып, біз Прологқа шешім іздеу барысында алғашқы табысты шешімнен басқа келісімнің болмайтындығын көрсетеміз және де программаның орындалуы төмендегідей болады: Программа 3А; fib (0, ,1): - ! fib (1,1,1): -! fib (N, G, H): - fib (N – 1, F,G), H is F+G Сондықтан, ? – fib (0, ,Ғ) жауап F=1 болады және де басқа шешім болмайды. Мысал 2; бір – бірін қайталамайтын сөйлемдер құру. «Екі санның үлкенін табу» ережесінің орындалуын қарастырайық. Бұл қатынас төмендегідей жасалады max (X,Y,M), сондықтан сәйкес ережелер төмендегі түрде жазылады: «Егер x>=Y, онда М=X және де егер X =y; max (X,Y,Y): -X =Y, онда M=X әйтпесе M=Y, бұл ереже әрі ұғымды, әрі ықшамды және де Пролог тілінде кесуді пайдаланып төмендегідей программа жазуға болады. max ( X,Y,X) : - >=Y,1. max (X,Y,Y). Үшінші мақсат бойынша қарастыруды шектеу үшін төмендегі программаны қарастырайық. Программа 4; b. d. A: -B,C. (1) C: -D,1,E. (2) E: -F, S, H. (3) ? A. Бұл программаның орындалу барысында бірінші ережеден (1) екінші ереже (2) туындайды, себебі С айнымалысы екі сөйлемде де кездеседі және де бірінші сөйлемдегі С орнына мәндері қойылуы қажет. Осы тәртіппен екінші ережеден (2) үшінші ереже (3) туындайды және де егерде үшінші ереже табыссыз болса, онда екінші ережеде кесу операциясы орындалады, сөйтіп программадағы сұраққа шешім ізделінеді. Қорыта келе, «кесу» функциясы Пролог тілінде программаны орындау процесін басқарып, шешімдерін анықтауда өте пайдалы құрал екендігіне көзіміз жетті. Өзін тексеруге арналған сұрақтар 1. Логикалық программалау тілдеріне қандай программалар жатады? 2. Лисп тілі нешінші жылы, қай елде және не мақсатта пайда болды? 3. Пролог тілі нешінші жылы, қай елде және не мақсатта пайда болды? 4. Лисп тілі неліктен әмбебап тіл қатарына жатады? 5. Пролог тілінің қандай ерекшеліктерін білесіз? 6. Пролог тіліндегі негізгі операцияларды атаңыз. 7. Прлогог тіліндегі қандай ұғымдарды білесіз? Ұсынылатын әдебиеттер 1. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог.- М.: Мир, 1990. 2. Братко И. Программирование на языке Пролог для искусственного интеллекта. – М.: Мир, 1990. 3. Сырецкий Г.А. Информатика, Основы логического программирования на PDC prolog: Учеб.пособие. - Новосибирск: НГТУ.- 1994. Ч.3. 4. Хоггер К. Введение в логическое программирование М: Мир, 1988. 3. Машықтану сабақтарының 1-тақырып. Жасанды интеллектінің даму тарихы. Мақсаты: ЖИ ұғымымен, оның зерттеу бағыттарымен толық танысу. ЖИ даму тарихын толық білу. Сұрақтар: 1. ЖИ шет елдерде дамуы. 2. ЖИ ТМД дамуы. 2-тақырып. Білімді модельдеу. Мақсаты: Білім базасы және білім моделі ұғымдарымен толық танысу. Білімдердің түрлерін мысалдар арқылы түсіну. Қарастырылатын сұрақтар: 1. Білім моделі және білім базасы ұғымдары. 2. Ұғымдық, конструктивтік, процедуралық және фактографиялық білімдер. 3-тақырып. Семантикалық желіліер. Мақсаты: Семантикалық желі ұғымын түсіну. Семантикалық графтар сала білу. Семантикалық желі – граф формуласындағы білім моделі. Мұндай модельдер негізінде кез-келген білімді объектілер (ұғымдар) және байланыстар (қатынастар) түрінде арақатынасы түрінде көрсетуге болады. Мысал1. «Әтеш – Петя құс болып есептеледі және ол кукареку деп шақырады Папугай Кеша менің сыныптасым Васяның үйінде тұрады. Аю бұл күнгірт түсті жануар» [pic] Граф төбелерінде объектілер мен ұғымдар (овалдарда) бейнеленді. Оларды қатынастарды қосағын білдіреді. Екінші сөйлем үшін граф: [pic] Үшінші сөйлем үшін граф: [pic] Үшеуінен бір граф: [pic] Тапсырма1. Келесі ақпаратты көрсететін семантикалық желі құр. «Диірменшіде үш ұл бар. Ол оларға мұра қалдырды. Мұра диірменнен , жылқыдан және үйден тұрды. Үлкені диірмен , ортаншысына жылқы, кішісіне үйді берді». Тапсырма2: Келесі ақпаратты көрсететін семантикалық желі құр. Мария күндізгі ауысымда жұмыс істейді. Сергей кешкі ауысымда жұмыс істейді. Борис кешкі ауысымда жұмыс істейді. Валентина кешкі ауысымда жұмыс істейді. Егер екі қызметкер бір ауысымда жұмыс істесе , бір-бірін біледі. Анықтаңыз. 1) Сергей Бористі білеме ? 2) Валентина кімді біледі ? 3) Мария кімді біледі ? 4-тақырып. Сөйлемдердің мағыналық құрылымы. Мақсаты: Компьютерлік лингвистика ғылымымен танысу. Графтар құрып үйрену. ЖИ компьютерлік лингвистика деген бөлім бар. Бұл ғылымның міндеті – компьютерді адаммен табиғи тілде сөйлеуге уйрету. Кез-келген сөйлемнің мағынасы оны құрайтын сөздерден ғана емес, сонымен қатар сөздер арасындағы байланыстарға тәуелді.Мысалы: «Таңертең далада жылы жаңбыр жауды». Сөйлемнің граф түрінде көрсетуге болады. [pic] Егер осы граф төбелерінде сөйлем мүшелерін ұқсас сөздерге алмастырса, онда тағы да мағыналы сөйлем алынуы мүмкін. Тіпті нақты ұғымды қамтымайтын сөйлем де, қандай да бір анықталған мағынада болуы мүмкін. Мысалы: «Қандай да, әлдебіреу, бірдемемен,біреуді т.б». Мұнда мүлде анықталған объект және ұғымдар жоқ, бірақ байланыстар бар. Осыған ұқсас модельдер компьтер жадысына енгізіледі және мәтіндерді табиғи тілде талдау үшін қолданылады. Тапсырма 1. Келесі сөйлемніңмағынасы қарай граф құр. «8-Наурыз Халықаралық әйелдер күніне Маша силыққа қызыл және сары райхандар және үлкен жұмсақ аю алды.» Тасырма 2. Қандай да бір әріптен басталатын сөздерден тұратын сөйлем құрыңыз және оны граф түрінде бейнелеңіз. Мысалы: «Еңселі Еркебұлан Елбасының «Елу елге ену» ережесін екі етпеді.» 5-тақырып. Математикалық өрнектердің мағынасы. Мақсаты: Математикалық өрнектерді графтар түрінде көрсете білу. Дәстүрлі математикалық символына математиканың дәстүрлі түрі болып табылады. Олар адамдардың кәсіпқой қызметтеріне ойластырылған және барлық әлемнің мамандарына түсінікті. Математикалық өрнектің мағынасы есептелетін операциялардың тізбектілігінде. Оны түсіну үшін амалдардың орындалу ретін, жақшаларды ашу ережелерін білу керек. Мысалы, 7-5*3 мысалында алдымен көбейтуді, содан кейін алуды орындау қажет. Оны білмесе есептеуден қателеседі. Математикалық өрнектердің рет-ретімен орындалуының көрнекті құралы ретінде графтарды алуға болады. Мұндай граф болатын жапырақтары сандар болатын, басқа да төбелері- амалдар болатын ағаш табылады. Доғалар төбелері амалдарды төбелер-операндалармен байланыстырады. Мысалы: 16*(3+8)*(13-5) өрнегі үшін граф мына түрде болады. [pic] Операцияларды орындау реті жапырақтарынан тамырына қарй жүреді, яғни тқменнен жоғары қарай. Ең соңындағы тамырындағы амал орындалады. Тапсырма 1. Келесі арифметикалық өрнектердіңграфын құр. 1) 7-3*5+20/4 2) 6*4+7*(9-1) 3) (2+8)*(4+6)*7 Тапсырма 2. Келесі графтарды қарап өрнекті анықта 1) [pic] 2) [pic] 6-тақырып. Екі үлесті графтардағы модельдер. Мақсаты: Екі үлесті граф ұғымымен танысу. Екі үлесті графтарды құруды үйрену. Екі үлесті граф – семантикалық желінің бір түрі. Мұнда әрбір байланыс екі емес, одан көп объектілерді байланыстырады. Мұндай графта екі типтің төбелері болады, оларды «қаралар» және «ақтар» деп атаймыз. Қара төбелерге объектілер сәйкестігі қойылады (ұғым), ақтарға – объектілер арасындағы байланыс қойылады. Мұндай графтағы кез келген доғалар әр түстердегі екі төбелер арасынан өтеді. Мысалы. Екі үлесті граф формасында ромб – геометриялық объектісі туралы білім моделін алу қажет. Ромбыда 7 сипаты бар: қабырғалар ұзындығы а, сүйір бұрыш α, доғал бұрыш γ, S ауданы, периметрі Р және диагональдары және . Бұл шамалар келесі формулалармен байланысты: [pic], P=4a, [pic] [pic], [pic] Графты жеті қара төбелер және бес ақ төбелермен тұрғызамыз. [pic] Тапсырма1. Кез келген үшбұрыш келесі шамалар және олардың арасындағы байланыстармен сипатталады: а, b, с – қабырғалар ұзындығы α, β, γ - а, b, с қабырғаларына сәйкесінше қарама-қарсы жатқан бұрыштар S - аудан Р – периметр р – жарты периметр α+β+γ=110, p=a+b+c, p=P/2. [pic] Екі үлесті граф түріндегі үшбұрыш жайлы білімнің моделін құр. Тапсырма2. Тікбұрышты үшбұрыш келесі шамалар және олардың арасындағы байланыстармен сипатталады: а, b, с – екі катет және гипотенуза ұзындықтары α, β, γ - а, b, с қабырғаларына сәйкесінше қарама-қарсы жатқан бұрыштар S - аудан R - үшбұрышқа сырттай сызылған шеңбер радиусы [pic], [pic], S=ab/2, R=c/2 [pic], [pic], [pic] Екі үлесті граф түріндегі Тік бұрышты үшбұрыш жайлы білімнің моделін екі үлесті граф түрінде тұрғыз. 7-8 тақырып. Білімнің логикалық моделі. Мақсаты: Ұйғарым, факт және ереже, предикат ұғымдарымен танысу. Мысалдар қарастыру. Прологта берілгендер негізінен символдық типте қабылданады, бірақ онда басқа типтерді де пайдалануға болады. Мысалы, Турбо Прологта қолдануға болатын негізгі типтер: integer, real, char, symbol және string, ал жай Прологта тип сипатталады. Жалпы, Пролог әдеттегі Паскаль тілі сияқты процедуралық программалау тілдерінен жоғары деңгейлі тіл. Әдетте тілде нысандар арасындағы қатысқа мысал келтірейік: «Мұрат; Сұлтанның әкесі.» Оның прологта жазылуы : Әке (мұрат, сұлтан). Мұндағы Мұрат пен Сұлтан нысандарының арасындағы қатыс ретті түрде сипатталған: Мұрат Сұлтанның әкесі, Сұлтан Мұраттың әкесі емес. Ереженің әдеттегі тілде жазылуына мысал, Егер Сұлтан мен Жібек туыс болса, онда олардың ата – анасы бір. Ереженің Прологта жазылуы. Tuis(sultan,jibek,),ata_ana(bir) Әдетте атаулар (туыс, ата, ана, т.с.с. предикаттар мен аргументтер) латын әріптерімен жазылады. Прологтың оқи алауына байланысты, оларды орыс әріптері бойынша жазуға да болады. Кітапта олар көбінесе латын әріптерімен жазылды. Жалпы, Пролог тілінде программалау мынадай кезеңдерден тұрады: - Нысандар мен олардың арасындағы қатыстар жөнінде біршама фактілер жариялау; - Нысандармен олардың арасындағы қатыстар жөнінде біршама ережелерді анықтау; - Нысандар мен олардың арасындағы қатыстар жөнінде сұрақтарды дайындау. Мысалы, әке жөніндегі фактілер мен ережелер білім қоры ретінде Прологқа жазылған болсын. Біз Мұрат кімнің әкесі жөнінде сауал жіберсек, Пролог Мұрат жөніндегі барлық өзіне белгілерді (берілгендер қорын) қарап шығып, сәйкес жауап береді.Яғни, Пролог – жүйені жауап іздеуге пайдалану үшін арналған фактілер мен ережелердің қоймасы деп қарастыруға болады. Прологты пайдаланатын салалар: - Сараптаушы жүйелерді дайындау; - Мәтіндерді бір тілден екінші тілге аудару; - Логикалық түрде теоремаларды дәлелдеу және т.б. Пролог – сұқпаттық, жоғары деңгейлі тіл. Программаны Прологты іске асыру үшін арифметикалық амалдарды орындаудан басқа жағдайларда жүйеде негізгі мәліметтер(фактілер мен ережелер) сақтаулы болып, экранға шығарылуы одан әрі бір форматта қажетті сұрақ берілуі тиіс. Сұрақ түріне байланысты жүйенің жауабы ИӘ не ЖОҚ түрінде көрінуі мүмкін. Екінші сөзбен айтқанда Прологпен жұмыс істеу математикалық логикалық заңдары мен принциптеріне шамалас болып келеді. Көп жағдайда Прологта пайдаланатын пікірлер түрлі құрылымды болып беріледі. Мұнда логикалық байланыстарды пайдаланып, берілген пікірлерден келесі күрделі пікірді алуға да болады.т.б. Факт – нысандар жөніндегі мәлімет. Фактілер бірнеше нысанның не нысандар арасындағы қатынас қатыстардан тұруы мүмкін. Мысалы, әдеттегі түрде жазылатын фактілер: Сұлтан – студент; Ахмет, Маржан, Мәдина – оқу озаттары; Ержан Маржанға кітап берді; Прологта фактілер предикаттық түрде сипатталады: <атау> <Арг> <арг> Мысалы, жоғары фактілердің прологта жазылуы: Student(sultan) Oku_ozattary (axmet, marjan, madina) beru (erjan, marjan, kitap) Фактіде жай жақшалар алдында жазылған атау предикат делінеді. Егер ол бірнеше сөзден тұрса, сөздерді бір атау түрінде қабылдау үшін араларына астын сызу (-) белгісін қойып кету жеткілікті, мысалы оқу озаттары.Предикаттан соң жақшалар ішіне үтір арқылы бөлініп жазылатын атаулар аргументтер деп аталады.Мысалы, қарындас (нұрлан, жібек) фактісінде :қарындас – предикат, Нұрлан, Жібек – аргументтер. Мұнда ескерілетін жайттар: - Прологта предикаттар мен аргументтер латын не орыс алфавиттерімен кіші әріптерінен бастап жазылады. - әр факт ақиқат ұйғарым түрінде қабылданады; - алдымен предикат, одан әрі нысан атаулары (аргументтер) үтір, (,) арқылы бөлінеді де олардың тізімі жай жақшаларға алынып жазылады. - әр фактінің соңына нүкте (.) қойылады. Прологта фактіні сөйлем (ұйғарым, пікір) деп те атайды. Нысандар арасындағы қатыстан тұратын фактіні жазу және оқу кезінде алдын ала нысандардың жазылу ретін қалаған түрде дәл анықтап алу керек. Мысалы, әке (Мұрат, Сұлтан) фактісінің оқылу реті жоғарыда ескертілген болатын.Ретті еркін түрде анықтап қоюға болады. Мұнда фактілер «Сұлтан Мұраттың әкесі» деп оқу да мүмкін. Бірақ, алдын ала оқу ретіне келісіп қойсаңыз, одан соңғы тақырыптарды да ретпен оқуды сақтау керек. Егер факт конъюнкциялы болса, ол үшін пайдаланылатын предикаттар үтір (,) арқылы бөлініп жазылуы тиіс. Үтір конъюнкция (және) логикалық операциясын білдіреді. Мысалы, Нұрғали Баянды ұнатады және Баян Нұрғалиді ұнатады күрделі фактісінің Прологта жазылуы: Ұнатады (Нұрғали, баян), ұнатады (баян, нұрғалиді) Фактінің конъюнкция құрайтын әр бөлімі мақсат не мақсатты ұйғарым деп те аталады. Сұрақтар. Мақсатты ұйғарымды дәлелдеу. Қайту процессі. Жауап алу үшін берілгендер қорына қойылатын сұрақ делінеді. Сұрақ пернетақтадан факт (лер) не ережелер түрінде енгізіледі, тек оның алдына арнайы символды енгізсе болатын арнайы символ – сұрақ белгісі мен одан соң енгізілетін сызықша (?-). Ол – жүйенің шақыру белгісі деп те аталады. Сұрақ соңынан нүкте (.) қойылады.Сұрақтың фактіден айырмашылығы оның алдына тек сұрақ белгісінің қойылуында емес, оның аргументтері үшін айнымалыларды не нақты мәндерге қосу айнымалыларды енгізуге болады.Егер сұраққа енгізілген мақсаттың аргументтері нақты мәндер болса, сәйкес жауап ИӘ не ЖОҚ түрінде беріледі, егер аргументтер айнымалылар болса, оларға сәйкес нақты мәндер шығарылады (прологта айнымалылардың бас әріптен бастап жазылуы міндетті). Сұраққа енгізілген және берілгендер қорында сақтаулы атаулар мен нақты аргументтердің бір – бірінен айырмашылығы болмауы тиіс.Яғни, сәйкес атауларды қысқартып жазуға болмайды. Ал айнымалыларды кез –келген символ не символдар тіркесі түрінде жазылуы мүмкін. Прологта фактілер Мен сұрақтар жанына не алдына әдеттегідей түсініктеме енгізуге де болады. Ол /**/ символдарының арасына жазылады. Жүйені оқи алу үшін тарауда қазақша атаулар латын не орыс әріптерін пайдаланып жазылған. Мысалы, қазақша ә , ң, ү, ұ, қ, ө, ж, ы, әріптері шамалас a, n, g, u, k, o, g, y, I латын әріптерімен, тіпті кей әріптер ағылшын әріптерімен алмастырылған. Егер енгізілетін қазақша аргументті жазу керек болса, оны тек тырнақшалар ішіне жазуға болады. Мысалдар: 1.ana (gulnar) /*факт*/ ……………. ?- ana(X) /*сұрақ*/ X=gulnar /*жауап*/ 2.?_unatady (axmet,kitap) /*сұрақ*/ да /*жауап*/ 3.?_unatady (aldanazar, marjan) /*сұрақ*/ Жоқ /*мұндай факт берілгендер қорында жоқ*/ 4/?_ baga (X,5) /*бағасын алғандар кімдер*/ X-erjan X=marjan Ескертулер. 1) егер сұраққа берілетін сәйкес жауаптар көп болса, бірінші жауап басылып шығарылған соң, пернетақтадан нүктелі үтір(;) пернесін басу керек. Ол – жүйенің сәйкес мәндерді одан әрі іздеу белгісі. 2) Егер «;» символы енгізілмесе, жүйенің кейбір нұсқалары «Басқа шешім керек пе (иә/жоқ) ?» сұрағын шығаруы мүмкін. Егер оған иә деп жауап берілсе, пролог – жүйе соңғы берілген жауапты есінде сақтап, сол жерде әрі қарай үйлесімді басқа жауаптарды іздей бастайды.Егер басқа жауап алынбаса, « Басқа жауап жоқ» деп хабар береді. 3) Бірінші мысалда берілген сұрақтың орындалуы үшін жүйеде фактілер осы мысалдағы сияқты фактілер түрінде сақталуы тиіс. Турбо Пролог сұрақ сұхбаттық терезеде беріледі. Мысалы Цель:ana (X) команданың берілу тәсілі төменде және 3.7. – тақырыпта баяндалады. 4- сұрақты беру алдында Турбо Прологта программаны мынадай түрде дайындап, компиляциялау және сақтау керек. Predicates Baga (string, integer) Clauses Baga (erjan,5) Baga (axmet,4) Baga (marjan,5) Мұндағы. Predicates (предикаттар), Clauses (сөйлемдер-ұйғарымдар) Турбо прологтың кілттік сөздері. Predicates бөлімінде әр предикат атауы аргументтерінің типтері көрсетіліп сипатталады. Clauses бөлімінде фактілер мен ережелер енгізіледі. Программаны компиляциялау, сақтау және іске қосу тәсілдері 3.7 – тақырыпта көрсетілген. 4- мысалды орындау алдында берілгендер қорын экранға шығарып, іске қосу командасын беру керек. Одан әрі Турбо прологта көрінген сұхбаттық терезенің Мақсат (Цель) жазуының қатарына берілетін команда: Цель: баға (Х,5) 4) Турбо Прологта типті алдымен бөлімінің алдында (ти, облыс, домен) бөлімінде сипаттауда мүмкін.Мысалы, жоғары программаның басын мынадай түрде жазуға болады: Domains S= string N=integer Predicates (S,N clauses) 5) Турбо Прологта пайдаланылатын негізгі стандартты облыс (тип) түрлері: integer, real, char, string, symbol. Integer [-32768;33767] аралығынан алынатын бүтін сандар; Real [e-307;e+308] аралығынан алынатын нақты сандар; Char – символдар. Олар екі дәйекшенің арасында жазылады. String – екі тырнақшаның арасына жазылып көрсетілетін жолдық шамалар, оларды тырнақшаларға алмай жазуға болады. symbol String – типті сияқты символдар тізбегі. Оларды тырнақшаларға алмай жазуға болады, ал тізбек аралығында бос орындар болса не ол кіші әріптен бастап жазылса, тырнақшаларға алып жазу керек, мысалы: Бір кісі “abc”, “marjan” /*string*/ Abc, marjan, бір кісі axmet /*symbol*/ 6) Турбо Прологта Мақсат (Цель) бөлімінің программа ішіне енгізуге де болады. Бұл жағдайда ол программаның бөлімінің соңына не бөліміне енгізіледі. 9-10 тақырып. Прологта логикалық программалау. Мәліметтер базасы. Мақсаты: Прологтағы мәліметтер базасын және сұраныстарды мысалдармен қарастыру. 1-мысал. Қарапайым орысша – қазақша сөздігін дайындау керек. Фактілер aud (<орысша сөз>, <қазақша аудармасы>) түрінде берілсін: Турбо Прологта берілгендер қорын мынадай түрде дайындауға болады. Predicates Aud (string, string) Clouses Aud(голова, бас) Aud(нос, мұрын) Aud(рот, ауыз) Aud(тело, дене) Aud(человек, адам) Aud ………………… Цель: Aud (голова,X) X=бас 2-мысал. Адамдардың қарапайым телефон анықтамалығын құрып, сұрақ бойынша жауап шығару керек. Оның мақсаты predicates бөліміне енгізген түрде құрылуы: Predicates Tel(string, string) Goal Write (“фамилия”-?), Readln(Fam), Tel(fam, telef_Nom) Write (“телефон нөмірі “ telef_Nom”), n1. Clauses Tel(“Үмбетов. О”, “52-21-60”) Tel(“Сүлтанов.М”, “55-32-14”) Tel(“Ержан.К”, “52-21-36”). Программа іске қосылған кезде бірден фамилия сұралады: Fam-? Үмбетов.О Телефон нөмірі=52-21-60 Программаға енгізілген n1-келесі жазуды жаңа жолдан бастау (курсорды жаңа жолдың басына орналастыру) стандартты операторы, Write-стандартты предикат (оператор). Прологта пайдаланылатын айнымалылар әдеттегі программалау тілдеріндегі айнымалылардай емес. Олар үшін жадтан арнайы орын бөлінбейді. Олардың мәндері - берілгендер қорында сақталған нысандар атаулары. Коньюнкциялы сұрақтың жазылуы да коньюнкциялы фактінің жазылуы сияқты: әр мақсат үтір арқылы бөлініп жазылады. Мысалы, сәйкес білім қоры дайындалып, Нұрғали да, Баян да ұнататын нысан сұралса, оны жазылуы: ?- unatedy (nurgali,X), unatedy (baian,X). Мұнда Пролог берілгендер қорынан алдымен сұраққа енгізілген бірінші мақсатқа сәйкес фактіні іздейді. Егер берілгендер қорында бірінші болып «ұнатады (Нұрғали,ыстық)» фактісі кездессе, жүйе Х айнымалысына «ыстық» мәнін меншіктеп (Х=ыстық), оның мәнін басқа мақсаттарда кездесетін осындай айнымалылардың орнына қойып шығады. Одан әрі берілгендер қорынан «ұнатады (баян, ыстық)» мақсатын іздейді. Ол табылса, оған белгі қойып, екі мақсатты да қанағаттандыратын жауапты басып шығарады. Әйтпесе, Пролог іздеуді берілгендер қорыны басынан бастап қайта жүргізеді. Мұндай процесті қайту процесі не қайту механизмі деп атайды. Сұрақта белгісіз аргументтер саны бірнеше болуы да мүмкін. 3-мысал. 7-мысал. «Жәмиляның анасы мен оның анасы кімдер-?» сұрағы берілсін, берілетін сұрақ пен шығатын жауаптың түрі: ?-ana(X,Y), ana(Y,jamilia). X=xadisha Y=baian Мұнда берілген сұрақ берілгендер қорымен үйлесімді болуы үшін қор мынадай түрде құрылған болуы тиіс. ana (xadisha baian) ana (gulnar,nurlan) ana (baian jamilia) ………………….. т.с.с Турбо Прологта программаны сақтап, іске қосу командасын берген кезде экранның оң жағында көрінген Dialog терезесінде берілетін команда: Мақсат: ana(X,Y), ana(Y,jamilia) Мұнда да, Пролог жауапты алдымен бірінші мақсатқа сәйкес іздейді, т.с.с. Сонымен, сұрақ берілсе, Пролог оның мазмұнын берілгендер қорында сақталуы фактілермен салыстырады да, мазмұнының дұрыстығын дәлелдеуге болатынын не болмайтынын анықтайды және сәйкес жауап шығарады. Яғни, Прологта сұраққа жауап беру мақсатты ұйғарымдарды дәлелдеумен бірдей. Дәлелдеу- мақсаттың берілгендер қорымен үйлесімділігін анықтау деген ұғым. Егер сұраққа енгізілген мақсаттар бірнеше болса, Пролог алдымен бірінші мақсатты дәлелдеуге кіріседі, ол дәлелденсе, оның оң жағына енгізілген мақсаттың үйлесімділігін тексеруге кіріседі, т.с.с. Үйлесімділік болмаса, қайту процесі орындалады. Прологта бірден бірнеше фактінің бар не жоғын тексеру сұрағы құрылымды сұрақ делінеді. Мысалы, мынадай берілгендер және т.с.с берілгендер қоры дайындалған болсын: ushady(ushakh). ushady(tyrna). Khanaty_bar(tyrna). Khanaty_bar(karlygash). ................................. . Қорға сәйкес мынадай құрылымды сұрақ беруге болады: ?- ushady(Х), кhanaty_bar(Х). Х= tyrna Берілгендер қорына енгізілген қанаты бар құс екеу, екіншісі қарлығаш. Бірақ, жүйе х=karlygash жауабын шығармайды, себебі «ushady» предикаты бар мұндай факт берілгендер қорына енгізілмеген. 11-12 тақырып. Прологта логикалық программалау. Білімдер базасы. Мақсаты: Прологтағы ереже және үйлесімділік ұғымдарын қарастыру. Мысалдар қарастыру. Пролог сөйлемдері(ұйғарымдары) үш типті: фактілер, ережелер және сұрақтар. Факт – сөзсіз ақиқат болатын жеке мақсат. Мысалы, ұнатады(Ахмет, абай_жолы) фактісінде Ахметтің бір ғана «Абай жолы» кітабын ұнататыны мәлімделген. Егер Ахметтің ұнататын кітаптары көп болса, онда оның бәрін атап шықпай-ақ, қысқаша Unatadi(axmet, kitap) фактісі түрінде жазуға болады. Мұндай факт ереже деп аталады. Яғни, ереже мен фактінің айырмашылығы сөз мәнінде ғана. Жалы, Прологта ережелер деп көбінесе бір фактінің басқа фактілер тобына байланыстылығы көрсетіліп, жасанды интелектіде пайдаланатын егер ... онда командаса арқылы жазылған сөйлемдерді айтады. Мысалы, табиғи тілде жазылған ережелер: Егер жаңбыр жауып тұрса, онда дала дымқыл. Егер жәндік үлкен және қанаттары бар болса, онда ол –құс. Сонымен, ереже –нысандар және олардың арасындағы қатыстар жөнінде біршама ұйғарым(сөйлем). Ол Прологта басы мен денеден тұратын етіп жазылады: <басы>:-<дене>. Дене –ереженің егер бөлімі (мақсат пен мақсаттар). Ол кейбір жағдайларда ақиқат болатын конъюнкциядан не жеке мақсаттан тұруы мүмкін. Конъюнкцияға енген жеке мақсаттар үтір (,) арқылы бөлініп жазылады. Басы-ереженің онда бөлімі (-негізгі мақсат (негізгі мақсат ереже тақырыбы деп те аталады)). :- - ереженің басы мен денесінің арасына қойылатын қос нүкте мен сызықшадан тұратын белгі. Ол ережеге енгізілетін егер қызметші сөзін алмастырады (Турбо Прологта:- белгісінің орнына if кілттік сөзін жазуға да болады). .(нүкте)- ереже соңына қойылатын белгі. Жалпы, факт- ақиқат болатын жеке мақсат (фактіні мақсаты жоқ ақиқат ереже деп қарастыруға болады), ал ереже- мақсат пен тақырыбын логикалық түрде байланыстыратын сөйлем. Ереженің толық ақиқаттық пікір болмауы да мүмкін. 1- мысал: құс (Х) :- үлкен_жәндік(Х), /* нысанды тану */ қанаты_бар(Х). Ит(Х) :- әке (Х,У), ит (У) Соңғы ереженің оқылуы: егер У-тің әкесі Х, ал У ит болса, онда Х-ит (Х,У- байланыстырылған айнымалылар). Түсінікті болу үшін ережені ағаш түрінде бейнелеп көрсетуге де болады: [pic] Мысалға енгізілген ережелерге және дайындалған фактлерге сәйкес Турбо Прологта программаның құрылуы: domains S=string predicates kus(S) ulken_jandik(S) kanaty_bar(S) it(S) ake(S,S) clauset kus(X) :- ulken_jandik(X), kanaty_bar(X). It1(X):-ake(X,Y), it(Y). Ulken_jandik(tyrna). Kanaty_bar(tyrna). It(bars). Ake(moinak,bars). ……………………. Ережелер мен фактілер сақталған соң сәйкес сұрақтар арқылы қажетті жауаптарды шығару қиын емес. Сұрақ белгісі теріліп алынған соң, ал Турбо Прологта іске қосу командасын берген соң сұхбат терезесінде көрінген. Цель: сөзінен кейін ереженің басы жазылуы тиіс. Мысалы: Цель: it1(X) X=moynak Цель: кus(X) X=turna Ереже басы бірнеше сөз тіркесіне тұрса, араларына астын сызу (_) белгісін қойып кеткен жөн, оның ешқандай түсінігі жоқ, тек сөздерді біріктіріп жазуға ыңғайлы, мысалы: ата_ана. Асты сызу белгісін жасырын (анонимдік) айнымалы деп те атайды. Егер ереже денесіне нақты мәндер енгізілсе, аргументтері айнымалылар болатын сұраққа жауап ретінде айнымалылардың нақты мәндері шығады: Мысал: ? – unaidy(axmet,X) &-kyz(X), unaidy(X,kitap). Сұрағы берілген кезде Пролог сұрақ денесінің сол жағында бірінші болып жазылған kyz(Х) мақсатын берілген қорымен салыстырады да, қыз(Х) [kyz(X)] мақсатына үйлесімді факт табылса, оның аргументі Х-ке меншіктеп, Х айнымалысы кездесетін барлық жерге осы мәнді қойып шығады, т.с.с. Айнымалыны сәйкес мәнімен алмастыру айнымалыны нақтылау делінеді. Ескертетін жайт: сұрақ беру кезінде ереже денесіне енгізілген мақсаттардың жазылу реті өте маңызды. Себебі, Пролог оларды тек солдан оңға реті бойынша қабылдап алып, іздеу жүргізеді. Жазылу реті бұзылса, шығатын жауаптың бөлек болып шығуы мүмкін. Жүйеге фактілерге қосып ережелер де енгізілсе, оларды білім қоры деп, ал, біршама фактілер мен ережелер тобын процедура деп те атайды. Нақты фактілер мен ережелер жиыны- сұраққа жауап дайындалатын қарапайым программада. Яғни, Прологта берілгендер қоры, білім қоры және программалар бір түрлес. Оларды тек Пролог нысандарына екі түрлі көзқарас деп түсінуге болады. Бірақ, программалардың көпшілігі, мысалы, сараптаушы жүйелерді дайындау программаларының үлкен және олар мақсаттарды дәлелдеуді қажет ететін логикалық ұйғарымдар түрінде құрылады. Фактілер жиынтығы логикалық программалаудың қарапайым түрі. Күрделі программаға жаңа сөйлемдер және өңдеуді қажет ететін процедураларды қосып программаны кеңейту де мүмкін. Прологта фактілерге енгізілетін айнымалылар жалпылық квантормен айқын емес түрде байланысты, мысалы, ұнатады (Х,алма) фактісі кез-клген Х-тің алманы ұнататынын білдіреді. Барлық айнымалылар жалпылық кванторлы болғандықтан программаларда оның белгісі енгізілмей тастап кетеді. Сонымен, программа Пролог- жүйе ішіне сақталып қойылады. Сұрақ берілген кезде Пролог талқылаудың кері тізбегін пайдаланып, әр мақсатты дәлелдеуге тырысады. Егер бір мақсат дәлелденбесе (үйлесімді болмаса), Пролог өзі белгіленген айнымалы мәндерін өшіріп, дәлелдеуді қор басынан бастап қайта жүргізеді. Яғни, іздеу тереңдетіліп және қайту механизмі қолданылып жүргізіледі. 2-мысал. Табиғи тілде мынадай ереже берілсін: егер Х атаулы ер кісінің әкесі А және У атаулы әйелдің әкесі де А болса, онда Х-пен У – бір туыс. Ерлер мен әйелдердің әкелері жөнінде екі тізім дайындалған болсын: |1-тізім(ерлер) |2-тізім (әйелдер) | |әке 1 (Оспан,Марат) |әке 2 (Мұстафа, Айгүл) | |әке 1 (Нұрлан, Болат) |әке 2 (Мұрат, Шолпан) | |әке 1 (Ержан, Қажым) |әке 2 (Нұрлан, Маржан) | |әке 1 (Мұрат, Сұлтан) |әке 2 (Бахыт, Жәния) | Тізімдерді қарап шығып, әкелері бір ерлер мен әйелдерді анықтау керек. Жоғарғы тізімдерде олар: Болат пен Маржан (әкелері-Нұрлан), Сұлтан мен Шолпан (әкелері - Мұрат ) Есепті шешу үшін алдымен екі тізімді бір білім қоры түрінде дайындап, арнайы атаумен сақтау керек (мысалы, Туыстар). Ол – дайындалған программада: Tuis (X, Y, A): -ake1 (A,X), ake2 (A,Y). Ake1 (ospan, marat). Ake1 (nurlan, bolat). …………………… Ake2 (baxit,jania). Берілетін сұрақ ?-tuis (X,Y,A). Білім қорында әкелері бір туыстардың бар екені ақиқат түрінде алынып, ережеге енгізілген әр мақсаттың ақиқаттығы дәлелденеді. Бұл талқылаудың кері тізбегі. Сұрақ беріліп программа іске қосылған кезде Пролог алдымен ереже денесінің сол жағында бірінші болып жазылған аke1(А,Х) мақсатын дәлелдеуге кіріседі. Дәлелдеу берілгендер қорының басынан бастап жүргізілетіндіктен, мақсаттың бірінші фактіге сәйкес келетінін анықтап, жүйе мынадай меншіктеу командаларын орындайды: A=ospan, X=marat Одан әрі, жүйе ережеге енгізілген барлық А және Х айнымалыларының орнына осы мәндерді қойып шығарды да, келесі әке2 (Оспан,У) мақсатын дәлелдеуге кіріседі. Бірақ берілгендер қорында «Оспан» аргументі бірінші болып жазылған басқа факт жоқ. Сондықтан, Пролог берілгендер қорының басына қайтып өтеді де, баламалы дәлелдеуге қайта кіріседі. Мұнда Пролог алдымен бірінші фактіге сәйкес А, Х айнымалыларына меншіктелген мәндерді өшіріп тастайды да, келесі фактіні тексеруге көшеді. Келесі факті әке1 (А,Х) мақсатына салыстырмалы болғандықтан, жаңа меншіктеу командасын орындайды: А= Нұрлан, Х=Болат. Одан әрі әке2 (нұрлан, У) мақсатына салыстырмалы фактіні іздеу барысында Пролог сәйкес фактіні табады да, У=Маржан меншіктеуін орындап, сәйкес мәндерді басып шығарады: X=bolat Y=marjan A=nurlan Сұраққа сәйкес келесі мәндерді шығару үшін клавиатура арқылы «;» пернесін басу керек (Турбо Прологта олар автоматты түрде көрінеді, пернені басу қажет емес). Сонымен, егер сұраққа енгізілген ұйғарымның бір ғана мақсаты дәлелденбесе де, берілгендер қорында сұраққа үйлесімді ұйғарым жоқ (сұрақ үйлесімсіз) деп есептелінеді. Яғни, сұрақ үшін барлық мақсаттардың дәлелденуі міндетті. Ал, Прологта сұраққа енгізілген айнымалылардың бәріне «барлығы үшін» (жалпылау) кванторы әсер етеді. Жоғарыдағы мысалға сәйкес білім қорының (программаның) Турбо Прологта жазылуы: Predicates Tuis (string, string, string) Ake1(string, string) Ake2(string, string) Clauses Tuis(X,Y,A): - ake1(A,X), ake2(A,Y). Ake1(ospan,marat) Ake1(nurlan,bolat). …………. Ake2(baxit,jania) Прологта программаның орындалу жолын (М мақсатын іздеуді) іздеу ағашы түрінде бейнелеп көрсетуге болады. Мұнда М ағаштың негізгі түбірі ретінде алынады да, ереже денесіне енгізілген мақсаттар ағаштың келесі түбірлері ретінде алынады. Әр түбірдің өзінен шығатын қырлары болуы мүмкін, олар берілген программаға сәйкес М мақсатын дәлелдеуге пайдаланылады. Кейбір түбірлер мақсатқа үйлесімсіз болуы мүмкін, бұл кезде қайту механизмі орындалады. Мысалы, жоғарыда берілген программаның орындау сұрағын қарастырайық: tuis(X,Y,A): - ake1(A,X), ake2(A,Y) оны орындау жолын ағаш түрінде бейнелеуге болады: [pic] Прологтан әр қатардан тұратын жазбаларды (тізімді) да ашуға болады: [pic] 3-мысал. Студенттердің математика мен информатикадан алған бағалары көрсетілген мынадай тізімнің әрқайсысын жолдық типке алып, Турбо Пролог терезесінен алу керек: 1.ахметов О. 4 4 2.Ермеков Н. 4 3 3.Нұрланова Н. 5 5 Программаны мынадай түрде құруға болады: Domains T=string Predicates tizim(T) clauses tizim(“1.Ахметов О. 4 4”) tizim(“2.Ермеков Н. 4 3”) tizim(“3.Нұрланова М. 5 5 ”) Компиляциялап, іске қосу командасын берген соң сұхбаттық терезеде берілетін команда – цель : tizim(T). Тапсырма. Прологта әке, ата жөнінде мынандай сұрақтарды дайындаңыз: 1. Ахметтің әкесі кім? 2. Айсұлудың баласы бар ма? 3. Ахметтің әкесінің әкесі кім? 13-15 тақырып. Логикалық есептерді шешу. Мақсаты: Логикалық есептерді прологтағы мәліметтер базасы ретінде шешу. Көптеген логикалық есептер бірнеше ақырлы жиындарды (элементтерінің саны бірдей болатын) қарастырумен байланысты. Олардың арасында өзара –бірмәнді сәйкестік орнатылады. Пролог тілінде осы жиындарды мәліметтер базасы ретінде қарастыруға болады. Обьектілер арасындағы тәуелсіздіктер ережелер көмегімен қойылады. Мысалы: Үш дос балалар әңгімелесіп отыр: Ақбасов, Сарыбасов және Қарабасов. Қарабасов Ақбасовқа былай деді: «Қызық екен, екеуіміздің біреуіміздің шашымыз - ақ, екіншіміздікі - қара. Ал үшіншіміздікі - сары. Бірақ та ешқайсымыздың шашымыздың түсі фамилиямызға сәйкес келмейді. Дос балалардың шаштарының түсі қандай. Дәстүрлі тәсілде есеп кесте сызу арқылы шешіледі. | |Шаш түсі | |Фамилия | | | |сары |ақ |Қара | |Ақбасов |+ |- |- | |Қарабасов |- |+ |- | |Сарыбасов |- |- |+ | Кестеде сәйкес әр фамилия мен түстің қиылысқан жеріне «-» белгісін қоямыз. Қарабасовтың шашы қара болмағандықтан, оныкі тек ақ болады. Сәйкесінше Қарабасов пен ақ шаштың қиылысқан жеріне «+» белгісі қойылады. Қалған фамилиялар мен шаш түстері келмегендіктен оларға да «+» қойылады. Пролог тілінде программа құрылымы келесі түрде болады: алдымен берілгендер саналады – фамилиялар мен шаш түстері. Содан кейін осы екі жиынды байланыстыратын ережелер жазылады. /* Фамилиялар деректер базасы */ Фамилия (Ақбасов) Фамилия (Қарабасов) Фамилия (Сарыбасов) /* Шаш түстері деректер базасы */ Шаш түсі (сары) Шаш түсі (қара) Шаш түсі (ақ) /* Деректер базалары арасында өзара-бірмәнді сәйкестік орнатамыз, Х – фамилия Д.Б элемент, У – шаш түсі Д.Б. элементі */ /* Ақбасов қара да ақ та емес */ Сәйкестік (Х,У): - фамилия (Х), шаш түсі (У)=Ақбасов, емес (у =қара) , емес (у) /* Ақбасов пен Қарабасовтың шаштарының түсі сәйкес келмейді*/ Сәйкестік (х,у):- фамилия (х) , шаш – түсі (у), х:= Қарабасов, Емес (у =қара), емес (сәйкестік(Ақбасов(у))). /* Үшеуінің түстері әртүрлі*/ сәйкестік (х,у):=фамилия(х), шаш түсі (у), х= Сарыбасов. емес (у= сәйкестік (Қарабасов(у)). Алынған деректер базасына әртүрлі сұраныстармен қатынасуға болады. Мысалы : ? – сәйкестік (А,В). Бұл сұраққа әр адамның фамилия мен шаш түсін қамтитын жауаптардың барлық нұсқалары алынады. Логикалық есеп күрделенеді, егерде онда екі емес одан да көп жиындар болса. Сонымен қатар сәйкестілік өзара бірмәндә болмаса да есеп күрделенеді. Тапсырма 1. Серік пен Беріктің фамилиялары Балғабаев және Орақбаев. Егер Серік Балғабаев пен әр түрлі үйде тұрса, олардың әрқайсысының фамилиясы қалай? Тапсырма 2. Жүгіруден жарыста Әсет ,Алмас, Қайрат үш алдынғы орынды жеңіп алды. Егер Әсет екінші емес және үшінші емес , ал Қайрат үшінші емес орын алса, әрқайсысы нешінші орын алғанын анықтаңыз. Тапсырма 3. Үш құрбы ақ, жасыл және көк көйлектер және туфлилермен көшеге шықты.Тек Айгүлдің көйлегі мен туфлиінің түсі сәйкес келетіні белгілі. Бақыттың туфлиі де , көйлегі де ақ емес . Назым жасыл туфлиде болды. Әр құрбының көйлегі және туфлилерінің түстерін анықтаңыз. Тапсырма 4. Бөтелкеде , стаканда , құмырада және банкада сүт , лимонад , квас және су бар. Сүт пен судың бөтелкеде емес екені белгілі , лимонады бар ыдыс құмыра мен квас құйылған ыдыстың ортасында тұр.Банкіде – лимонад та емес , су да емес . Стакан банка мен сүт құйылған ыдыстың ортасында тұр.Осы сұйықтықтар ыдыстарға қалай құйылған ? Тапсырма 5. Ильияста қызыл машина , Парасатта – қара емес , көк емес, көгілдір емес , Мейрамбекте – қара және көк , Айдарда жоғарыда көрсетілген түспен машиналардың кез -келгені бар , Берікте ақ және көк түсті . Егер барлық балалар әр түсті машиналарда болса , әрқайсысы қандай машина жүргізді . Тапсырма 6. Шешем, әкем және мен орындықта отырдық . Біз орындықта қандай ретпен отырдық , егер келесілер белгілі болса: • Мен әкемнің сол жағында отырдым , ал шешем менің сол жағымда . • Әкем менің сол жағымда және шешемнің оң жағында отырды . • Шешем менің оң жағында , ал әкем шешемнің оң жағында отырды. Тапсырма 7. Гүлнұр мен Лаураның бойлары бірдей. Лаураның бойы Озатгүлден биік , ал Талшын Гүлнұрдан биік .Кім биік: Талшын ба , әлде Озатгүл ма? Тапсырма 8. Киноға билет алу үшін Жұлдыз , Мерхат , Бауыржан , Самат және Орынбек тұр.Келесілер белгілі: • Жұлдыз билетті Мерхаттан бұрын , бірақ Орынбектен кейін сатып алды. • Бауыржан мен Орынбек қатар тұрмады. • Самат Орынбектің де , Жұлдыздың да , Бауыржанның да қасында емес. Кім кімнен кейін тұр? 4 Студенттердің өздік жұмыстары 4.1. Студенттің өздік жұмыстарының құрылымы: СӨЖ №1. Семантикалық желілер. Тапсырмалар: 1. «Мектептен сабақ» жүйесі келесі элементтерден тұрадыдеп есептелетін оқушы , мұғалім , оқулық, дәптер, сынып журналы, сынып тақтасы, бор, карта, мүғалім үстелі, сынып бөлмесі. Төбелері аталған объектілер болатын, доғалары олардың арасындағы қатынастар болатын семантикалық желі құр. 2. «Нан дүкен» жүйесі бойынша семантикалық желі құр. Ол келесі элементтерден тұрады: нан, сатушы, сатып алушы,автомобиль, жүргізуші, жүк түсіруші, ақша,чек. СӨЖ №2. Сөйлемдердің мағыналық құрылымы. Тапсырмалар: Келесі сөйлемдерге графтар құр. 1. «Арман таңертең ерте тұрып орманға саңырауқұлақ теруге көлкпен кетті.» 2. «Әсел математика пәнінен үй тапсырмасын құрбысы Айданамен бірге отырып шығарды.» 3. «1С бухгалтерия программасы бухгалтерлік есептің барлық түрін толық жиында орындауды қамтамасыз етеді.» 4. «Windows 2000 –толықтай 32 разрядты ОЖ артықжылықтары бар көп есепті, жадында сақтау жұмысының жақсартылған және әуел баста сенімділікті, қорғауды және бақаруды қамтамасыз ететін құралдармен жобаланған.» 5."Айдар туған күніне теледидар және көк пен ақ түсті жейделерді сыйлыққа алды". СӨЖ №3. Математикалық өрнектердің мағынасы. Тапсырмалар: келесі арифметикалық өрнектерге бұтақ құрыңыз: 1. (100 - 54) / 2 + (18+25)*5. 2. 500/2+4*12-(15-9). СӨЖ №4. Екі үлесті графтардағы модельдер. Тапсырмалар: Айналатын қозғалыстың кинематикасы келесі шамалар және байланыстармен сипатталады: ( - бұрылу бұрышы, t- қозғалу уақыты, n- айналым саны, (-бұрыштық жылдамдық, (- айналу жиілігі, (- айналу периоды, V- сызықты жылдамдық, a- ортаны көздейтін жылдамдату, r- айналу радиусы, (=(/ t, (=2(n/t, T=1/(, T=t/n, V=(r, a=(2r. Айналатын қозғалыс жайлы білім моделін екі үлесті граф түрінде көрсетіңіз. СӨЖ №5. Логикалық есептерді шешу. 1. Есепті тұжырымдаңыз. Айгүл, Нұргүл, Асхат және Айдар саңырауқұлақ терді. Нұргүл бәрінен артық терді, Айгүл бәрінен кем емес. Қыздар ұлдардан артық терді деген ұғым дұрыс па? 2. Есепті тұжырымдаңыз. Бір апта бойы көпірде жеті жолдас балалар кезекшілік атқарды. Алмас бірден Серіктен кейін кезекші болды. Болат екі күннен кейін кезекші болды, ол Мейрамбектен кезегінен бұрын болды. Қанат Жанаттан екі күн бұрын кезекші болды. Бейсенбі күні Ильяс кезекші болды, оның кезекші болған күні Жанат пен Серіктің күндерінің дәл ортасына келеді. Жолдас балалардың кезекшілік графигін анықтаңыз және түсіндіріңіз. 3. А қаласынан В қаласына жүрген пошта тасушы поезд В, Г, Д, Е, Ж, З және К станцияларына тоқтады, оларда поштаны түсіреді және қабылдайды. Почта келесі кезектер бойынша көшірілді: ВЗ, ГД, ЕВ, ЖЕ, ЗК және КГ (бірінші әріп – жіберу пункті, екіншісі – қабылдау пункті). Пошталық поезд маршруты бойынша станциялардың орналасуын анықтаңыз. 4. Мақпал, Ләззат, Жанар және Камила – шет тілдер факультетінің студенттері, оларды музыка қызықтырады және әрқайсысы қандай да бір аспаптарда ойнайды, тек біреуінде ғана: домбыра, гитара, скрипка және фортепиано. Әрқайсысы келесі бөлімдердің бірінде оқиды: ағылшын, француз, неміс және испан тілінде. Гитара ойнайтыны испан тілінде оқиды. Ләззат не домбырада, не скрипкада ойнамайды және ағылшын тілі бөлімінде оқымайды. Мақпал да не домбырада, не скрипкада ойнамайды және ағылшын тілі бөлімінде оқымайды. Неміс тілі бөлімінің студенті домбырада ойнамайды. Жанар француз тілі бөлімінде оқиды және скрипкада ойнамайды. Студенттердің қайсысы қандай аспапта ойнайды және шет тілдер факультетінің қай бөлімінде оқиды? СӨЖ №6. Логикалық есептерді шешу. Тапсырмалар: 1. 9 күміс теңгелердің біреуі жалған жасанды теңгенің жеңіл екенін біле отырып екі ыдысты – гирлері жоқ таразының көмегімен екі рет өлшеу жүргізіп жалған күміс теңгені қалай табар едіңіз. 2. Сыйымдылығы 3 литр суды және 5 литр ыдыстардың көмегімен ағып тұрған судан 4 литр суды қалай алуға болады? 3. Арыстан қойды 2 сағатта, қасқыр 3 сағатта, ит 6 сағатта жеп бітіре алады. Үшеуі қатар жесе, қанша уақытта жеп бітіре алады? 4. Ақмарал, Сара, Жадыра және Лаура – оқу озаттары. Олар мектепте өткізілген (математика пәні бойынша) олимпиадаға қатысып жүлделі 4 орынды өзара бөлісті. Олар қандай орынды жеңіп алды екен? – деген сұраққа осы кластың оқушылары былайша жорамалдап жауап берді. 1. Ақмарал II, Сара III 2. Ақмарал I, Жадыра II 3. Лаура II, Сара IV Бұл жауаптардың біреуі дұрыс, екіншісі жалған болып шықты. Кім қандай орынды жеңіп алған? 5. Қайрат, Болат, Алмат, Самат төртеуі жарыста алғашқы төрт орынды жеңіп алды. Кім қандай орын алды деген сұраққа, олардың үшеуі былай жауап берді. Қайрат 1-ші де, 4-ші де емес Болат 2-ші Алмат соңғы емес. Сонда олар қандай орынды жеңіп алды? 4.2 Студенттік оқытушымен өздік жұмысытарының құрылымы: СОӨЖ №1. Лого программасы. Мақсаты: Лого программасының тарихы және құрылымымен танысу. СОӨЖ №2. Lisp программалау тілі Мақсаты: Lisp программалау тілінің тарихы және құрылымымен танысу. СОӨЖ №3. Сарапшылық жүйе Мақсаты: Сарапшылық жүйені құрудың кезеңдерімен танысу. СОӨЖ №4. Сарапшылық жүйе құру Мақсаты: Әр түрлі тақырыптағы сарапшылық жүйені құрып үйрену. СОӨЖ №5. Графтар теориясы Мақсаты: Граф ұғымымымен танысу. Оның жасанды интеллекте алатын орнын білу. СОӨЖ №6. Пролог тілінде сандармен жұмыс. Мақсаты: Пролог тілінде сандардың қалай қолданылатынын білу және есептер шығару. ----------------------- ake 2(nurlan, Y) ake 1(nurlan,bolat) ake 1(A,X) ake 2(A ,Y) A= nurlan Tuis (X,Y,A) Жасанды интеллект Биологиялық желілерді модельдеу. Жасанды сана –сезім Ақпараттық процесстердлі модельдеу Механизмді модельдеу Эвристикалық модельдеу Машиналық интеллект False ake 2(ospan,marat) ake 1(ospan,marat) ake 1(A,X) ake 2(A ,Y) Tuis (X,Y,A) Y=marjan X=bolat
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz