Роботтар типологиясы. Роботтар – бұл адам еңбегін автоматизациялауға негізделген электромеханикалық құрылғы. Робот сөзінің өзі 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.
6 Тақырып. Логикалық программалау: Логикалық программалардың түрлері. Олардың тарихы. Пролог тілінің ерекшелігі. Пролог тіліндегі негізгі ұғымдар. Пролог тіліндегі негізгі операциялар.
13-15 дәріс. Логикалық программалау.
Дәріс жоспары:
Логикалық программалардың түрлері. Олардың тарихы.
Пролог тілінің ерекшелігі.
Проглог тіліндегі негізгі ұғымдар.
Пролог тіліндегі негізгі операциялар.
XX ғасырдың 90 – жылдарынан бастап дүние жүзінде жасанды интеллекті игерген компьютерлердің жобалары құрылған және де олар кейінгі жылдары көп ілгері дамыған. Бұл – компьютерлердің 5 – ұрпағы, олардың аппараттық негізіне өте жоғары деңгейдегі программалау тілдері алынған, бұл тұрғыда дәстүрлі Бейсик тілінің ролін бүгінгі Пролог тілі орындайтын болады, себебі оның мәні мен мүмкіндіктері логикалық программалауды таратуда және де танытуда тым үлкен болып тұр.
ЖИ идеялары адамның жұмысын жеңілдетуге арналған электр-механикалық құрылғылар - зерделі роботтар жұмысы негізіне салынған. ЖИ программалары көбінесе ПРОЛОГ, ЛИСП.
Лисп тілі 1965 жылы американдық профессор Джон Маккарти «жасанды интеллект» пролемалары бойынша зерттеу үшін ойлап тапты. Бұл тілдің ерекшілігі оның негізі болып алгоритмдердің математикалық теориясы және рекурсивті функциялар болуында. Лисп тілінде рекурсивті анықтайтын функциялар ұғымдары негізгі болып табылады. Осы себептен Лисп тілі әмбебап тіл болып есептеледі, себебі кез-келген алгоритм бірнеше рекурсивті функциялардың жинағы ретінде сипатталуы мүмкін. Бұл жағдай ЭЕМ күрделі алгоритмдерді, мәліметтерді өңдеуге, сонымен қатар адамдардың интеллектуальдық қызметерін модельдеуге модельдеуге мүмкіндік береді.
Пролог – логикалық программалау тілі (logic programming language), XX ғасырдың 70 – жылдары компьютерде жасанды интеллект жүйесін, яғни, сарапшылық жүйе, аудармашы – программа, интеллектуалдық ойындар тағы сол сияқты құруға арналған. Дәлдеп айтқанда Пролог 1972 жылы Францияда «жасанды интеллект» проблемаларын зерттеу бойынша құрылды. Осы тілдің ұғымдары мен принциптері математикалық логика ұғымдарына және «жасанды интеллектіні» зерттеу бойынша жасалған теоремаларды автоматты түрде дәлелдеу аппаратына негізделген. Сондықтан да Пролог тілі формальды түрде әртүрлі бекітілімдерді, ойқорыту ережелерін сипаттауға мүмкіндік береді және ЭЕМ-ді ойқорытуға және берілген сұрақтарға жауап беруге көндіреді.
Пролог тілінің негізі білімнің логикалық моделіне негізделген, өзі логикалық программалау тілдерінің тобына жатады және де дәстүрлі программалау тілдерімен салыстырғанда, атап айтқанда Бейсик, Фортран, Паскаль, Си, біраз ерекшеліктерімен оқшауланады:
Пролог тілінде программа алгоритм болмайды, ол есеп шарттарын формальды логика тілінде жазады.
Пролог тілі есептеуге немесе графикалық есептерді шығаруға арналған, ол логикалық есептерді шығаруға, адамның логикалық ойлау процесін модельдеуге арналған; Пролог тілінде есептеулер және де графиктік салулар логикалық қорытындылаудың туынды өнімі ретінде орындалады.
Пролог тілі программисттің ойлау қабілетінің ерекше түрін қажет етеді. Сондықтан процедуралық программалауды үйренген программист оқып – үйренуде қиындықтарға ұшырайды, программистер бұл тілге ауысуға асықпайды, осыған байланысты Пролог тілі кең тарай алмай отыр, алайда көп елдерде ( Япония, Англия, Франция, Германия, Израиль) білім беру саласында Пролог тілін іс – тәжірибеде программалаудың бірінші оқып – үйрену тілі ретінде пайдалану кеңінен тарап келеді және де ол Паскаль сияқты процедуралық тілдерге ауысуда қиындықтар туғызбайды.
Міне, осындай ерекшеліктер Пролог тілін бүгінгі таңдағы ең жоғары деңгейдегі тілдерге жатқызуға мүмкіндік береді.
Пролог тілін оқып – үйренуде математикалық логиканы және де онда пайдаланылатын ұғымдық жүйені алдын – ала оқып – үйрену көп септігін тигізеді.
Пролог тілінде программалау төмендегі кезеңдерді қамтиды:
объектілер және де олардың арасындағы қатынастар туралы дәйектерді хабарлау.
объектілер және де олардың арасындағы қатынастардың өзара байланысу ережелерін анықтау.
объектілер және де олардың арасындағы қатынастар туралы сұрақтарды тұжырымдау.
Компьютерлер үшін Пролог тілінде программалау жүйесі латын әріптерін пайдалануға мүмкіндік береді, сондықтан орыс алфавитіндегі әріптер пайдаланылмайды. Алайда практикалық жұмыста жүйенің мәні анық болу үшін орыс тіліндегі есімдерді жазуда латын әріптерімен ауыстыру ұсынылады.
4. Пролог тіліндегі негізгі ұғымдар:
Есімдер - әріптен басталатын әріптер және де цифрлар тізбегі.
Айнымалылар - бас әріптен басталатын әріптер және де цифрлар тізбегі.
Айнымалылар түрлері: атомдар, бүтін сандар, жолдар.
Құрылым – құрылым есімінен және де жақшаға алынған аргументтер тізімінен тұратын жүйе, мысалы, киеді (айгүл, көйлек), str (А, В, С). Құрылым элементтері сандар, атомдар, айнымалылар басқа құрылымдар болуы мүмкін.
Тізім – квадрат жақшаға алынып үтірмен бөлінген кез – келген түрдегі элементтер жиынтығы, мысалы, [1,3,5,7], [қызыл, жасыл, көк]. Тізімдердің құрылымдардан айырмашылығы - олардағы элементтер санының программаны орындау барысында ауысу мүмкіндігінде.
Дәйек – объектілер арасындағы қатынастарды немесе объектілердің қасиеттерін белгілейтін тұрақты аргументі бар предикат. Мысалы, телефон (мадина, т 451198), бұл Мадинаның телефон номері 451198 екенін анықтайды және де мұндағы «Т» әрпі телефон номерін литерлі (сөзді) тұрақты ретінде көрсетеді, себебі 451198 саны өте үлкен болып табылады.
Тағы бір мысал, ұнайды (назия, рэп), яғни бұл дәйектен ұғатынымыз: « Назияға рэп ұнайды».
Дәйектер әрқашанда ақиқат болып саналады сондықтан программаны орындау жағдайында дәлелдеудің негізі болып табылады.
Ереже – тақырыбы және де бір – екі предикаты бар сөйлем. Ереженің жазылу түрі төмендегідей:
< ереже тақырыбы >: - < предикаттар тізімі>, мұндағы: - белгісі «егер» деп оқылады, ал предикаттар тізімі – үтірмен жеке – жеке предикаттар жиынтығы, мұндағы үтірлер «және» деп оқылады.
Ережелер дәйектер арқылы объектілердің арасындағы белгілі қатынастар негізінде жаңа қатынастар анықтауға мүмкіндік береді. Мысалы, әдемі қыз (Х): - ұнайды (Х, рэп), киеді (Х, көйлек), бұл ережені оқығанда « кез – келген Х - әдемі қыз, егер Х рэп ұнаса және де Х көйлек кисе» сөйлемі шығады.
Сұрақ – программа орындауда шығатын логикалық қорытындының негізі. Кез – келген сұраққа компьютер «иә» немесе «жоқ» деп, білімдер қорындағы дәйектер мен ережелерге сай жауап береді. Мысалы, білімдер жүйесін құрайық:
ұнайды (назия, рэп)
ұнайды (айжан, джаз)
киеді (назия, көйлек)
киеді (айжан, жейде)
әдемі қыз (Х): - ұнайды (Х, рэп), киеді (Х, жейде)
Енді сұрақ қояйық:
? - әдемі қыз (Айжан)
Компьютер бізге «жоқ» деп жауап береді. Себебі ереже бойынша Айжанға ұнау керек болатын рэп, алайда Айжан джазды ұнатады.
Егерде сұрақ былай қойылса!
? - әдемі қыз (Назия), онда жауап «иә» болады, себебі дәйектемеде қайшылық жоқ.
5. Пролог тіліндегі негізгі операция салыстыру немесе келісу операциясы, операция нәтижесі табысты немесе табысты емес болуы мүмкін. Салыстыру операциясы төмендегідей анықталады:
тұрақты шама өзіне тең тұрақтымен салыстырылады.
сайма сай құрылымдар бір – бірімен салыстырылады.
айнымалы тұрақтымен немесе бұрынғы айнымалымен салыстырылады.
екі бос айнымалы өзара салыстырылады.
Мысалдар, 5 салыстырылады 5, «бар» салыстырылады «бар», «қайрат» салыстырылмайды «қанат», «ұнайды (айжан, джаз)» салыстырылады «ұнайды (Х, джаз)».
Тағы бір айта кететін жайт компьютер программадағы «ұнайды», «киеді», «назия», «айжан» сияқты есімдерді «түсінбейді», сондықтан бізге оларды басқаша белгілеуге болар еді. Алайда Пролог тілінде енгізілген предикаттар бар, олар арифметикалық амалдарды графиктік салуларды, енгізу – шығару және де басқа да пайдалы операцияларды программаның туынды өнімі ретінде пайдалануға мүмкіндік береді.
Arity – Prolog енгізілген предикаты программалау жүйесі бойынша анықтамаларда жазылған және де оны Ғ1 батырмасы арқылы шақыруға болады. Пролог тілінің басқа нұсқаларында да осы сияқты енгізген предикаттар түрлері болады.
Ғылымда объектілердің арасындағы қатынастарды анықталатын қатыстар мен анықтайтын бүтін бір сала бар. Оларды реттейтін ережені рекурсивті деп атайды. Мысалы, натурал сандардың рекурсивтік анықтамасын жазыңдар:
1 – натурал сан
натурал саннан 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; Шексіз қайталануды жою. Фибоначчи сандарының анықтамасын тексерейік.
Программа 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
Прологта бұл ережені max (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.
8 Зертханалық сабақтардың мазмұны
1-тақырып. Жасанды интеллектінің даму тарихы.
Мақсаты: ЖИ ұғымымен, оның зерттеу бағыттарымен толық танысу. ЖИ даму тарихын толық білу.
Сұрақтар:
1. ЖИ шет елдерде дамуы.
2. ЖИ ТМД дамуы.
2-тақырып. Білімді модельдеу.
Мақсаты: Білім базасы және білім моделі ұғымдарымен толық танысу. Білімдердің түрлерін мысалдар арқылы түсіну.
Қарастырылатын сұрақтар:
1. Білім моделі және білім базасы ұғымдары.
2. Ұғымдық, конструктивтік, процедуралық және фактографиялық білімдер.
3-тақырып. Семантикалық желіліер.
Мақсаты: Семантикалық желі ұғымын түсіну. Семантикалық графтар сала білу.
Семантикалық желі – граф формуласындағы білім моделі. Мұндай модельдер негізінде кез-келген білімді объектілер (ұғымдар) және байланыстар (қатынастар) түрінде арақатынасы түрінде көрсетуге болады.
Мысал1. «Әтеш – Петя құс болып есептеледі және ол кукареку деп шақырады Папугай Кеша менің сыныптасым Васяның үйінде тұрады. Аю бұл күнгірт түсті жануар»
Граф төбелерінде объектілер мен ұғымдар (овалдарда) бейнеленді. Оларды қатынастарды қосағын білдіреді.
Екінші сөйлем үшін граф:
Үшінші сөйлем үшін граф:
Үшеуінен бір граф:
Достарыңызбен бөлісу: |