Курстық жұмыс: Информатика | Жасанды интеллект жүйесіндегі аспаптық құрылғылар
Мазмұны
КІРІСПЕ....................................................................................................3НЕГІЗГІ БӨЛІМ
Жасанды интеллект жүйесіндегі аспаптық құрылғылар.
2.Жасанды интеллект обылысындағы зерттеудің негізгі бағыттары............5
3.Пролог логикалық программалау тілі...........................................................6
3.1.1-ші ретті предикаттарды есептеу.........................................................10
3.2.1-ші ретті предикаттар тілінің синтаксисі............................................12
3.3.1-ші ретті предикаттар тілінің симантикасы........................................13
4.Синтаксис және унификация.........................................................................14
4.1.Унификация.............................................................................................19
5.Арифметикалық өрнектеу..............................................................................20
5.1.Арифметикалық өрнектеу......................................................................21
5.2.Арифметикалық операторлар................................................................22
5.3.Арифметикалық өрнектерді есептеу.....................................................22
5.4.Арифметикалық өрнектер нәтижесін салыстыру................................23
6.Рекурсия...........................................................................................................23
ҚОРЫТЫНДЫ........................................................................................30
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР.........................................................31
КІРІСПЕ
Жасанды интеллект (искуственный интеллект) – бұл адам ойын компьютерде бейнелейтін (имитирующий) программалық жүйе.Бұндай жүйені жасау үшін белгілі бір облыста шешім қабылдайтын немесе нақтылы есептерді шешетін адамның ойлау процесін зерттеу қажет және осы процестің негізгі қадамдарын бөліп көрсетіп , оларды компьютерде іске асыратын программалық жабдықтарды жасау қажет.
Адам іс-әрекетінің негізінде ойлау қабілеті жатады.Адам ойлау процесінің соңғы нәтижесі мақсат деп аталады.Әдетте барлық белгілі фактілерді қолдану ережесі негізінде мақсатқа жетеміз.
1-Мысал:
1-Факт.Жанып тұрған плита-ыстық.
1-Ереже.Егер қолыңды жанып тұрған плитаға қойсаң,онда күйіп қалуға болады.
2-Мысал:
2-Факт.Час пик кезінде көшеде машина көп.
2-Ереже.Егер час пик кезінде жолдан өтсең , онда машина астына түсіп қалуға болады.
3-Мысал:
3а-Факт.Тыныш , қараңғы көше қорқынышты.
3б-Факт.Кәрі адамдар әдетте қылмыс жасамайды.
3в-Факт.Полиция адамдарды қылмыскерлерден қорғайды.
3а-Ережесі.Егер тыныш , қараңғы көшеде кәрі адам кездессе , онда онша қорықпауға болады.
3б-Ережесі.Егер тыныш,қараңғы көшеде полицияны көрсеңіз ,онда өзінізді қорғанған адам ретінде сезінуіңізге болады.
Жасанды интеллект жұмысы екі бағытқа бөлінеді.
Сонымен бірінші бағыт адамның интеллектуальды әрекетінің өнімін қарастырады , оның құрылысын меңгереді(есептерді шешу, теоремаларды дәлелдеу ,ойындар) және бұл өнімдерді қазіргі техника көмегімен жасайды.
Жасанды интеллектінің екінші бағыты интеллектуальды іс- әрекетінің нейрофизиологиялық және психологиялық механизмі туралы мәліметтерді , дәлірек айтқанда адамның саналы іс-әрекетін қарастырады.
Жасанды интеллект облысындағы зерттеудің негізгі бағыттары
Нейрон тәрізді желілер – робототехникалық қоңдырғыларды басқару жүйесін тұрғызудың тиімді құралы.
ПРОЛОГ ЛОГИКАЛЫҚ ПРОГРАММАЛАУ ТІЛІ.
Пролог программалауда дәстүрлі түрде қолданылатын тілдерден кәдімгідей өзгеше.Бейсик, Алгоритм және Паскаль тілдерінде программалау әдісі есепті дискретті қадамдарға бөлу және оларды тізбекті түрде сипаттау болып табылады.Қадамдар тізбегі компьютерде орындалатын машиналық командаларға бейнеленеді.Алдыңғы орындалған командаларды өзгерту мүмкін емес , себебі жадыдағы мәліметер үнемі өзгертіліп отырады.Мұндай түрдегі программалау тілдері алгоритмдік деп аталады.Алгоритм – есепті ақырлы санды қадамда шешетін математикалық процедура.Пролог алгоритмдік тілге жатпайды.
Пролог өз атауын «ЛОГикалық тілде ПРОграммалау» сөзінен алынған. Шын мәнінде Пролог таза логикалық программалау тілі болып есептелінбейді,бірақ оның ашылуы – бұл бағыттағы маңызды кезең.
Прологқа білім инженериясы мен жасанды интеллект облысы мамандары көп көңіл бөледі.Оның академиялық әлемде беделі өсе түсуде.
Пролог жапондардың бесінші ұрпақ ЭЕМ-дерін жасау бағдарламасында базалық тіл негізінде қабылданған.Бұл ЭЕМ-дер логикалық программалау және жасанды интеллект әдістерін зерттеуге бағытталған.
Пролог тілінде программалағанда шешімді сипаттау біраз жеңілдетіледі, және программист есеп шешімдерін алгоритмдік тілдерде программалағандағыдай шағын қадамдарға бөліп программалау әдістерін іздестірмейді,керісінше тікелей есеппен айналысу мүмкіндігіне ие болады.
Прологтың теоретикалық негізін предикаттарды есептеу деп аталатын символдық логика бөлімі құрайды.Пролог дәстүрлі программалау тілдерінде жоқ біраз қасиеттерге ие.Бұл қасиеттер оны логикалық программалау облысында қуатты етіп көрсетеді.Мұндай қасиеттерге іздестіретін және кері қайтаратын мүмкіндігі бар шығару механизмі, үлгімен сәйкестендіретін кіріктірілген механизмі , және мәліметтердің қарапайым бірақ оны өзгерте алатындай мүмкіндігі бар құрылымы жатады.Мәліметтер мен программалар – Пролог объектілеріне тек екі түрлі көзқарас қана.Мәліметтердің біріккен (единая) қоймасында жеке элементтерді еркін түрде жасауға және жоюға болады.Програмалар мен мәліметтер арасында айырмашылық болмайтындықтан, программаны оның жұмысы барысында да өзгертуге болады.Пролгта көрсеткіштер , GO_TO және меншіктеу операторлары жоқ.Программалаудың негізгі әдісі рекурсия болып табылады.
Прологта программа жұмысы аяқталғанда (мақсат дәлелденгенде) екі жағдай ғана туындауы мүмкін: «дәлелденді» және «дәлелденген жоқ».Кейде олар сәйкесінше «ақиқат» және «жалған» деп аталады.Біздер «ақиқат» және «жалған» терминдерін қолданбаймыз,себебі олар нәтиже мағынасын анықтайды. Дәлелденген тұжырым әдетте ақиқат болып табылады, бірақ міндетті емес , себебі дәлелдеу белгілі деректер мен олардың негізінде жасалған қорытындыларға тәуелді болады.
Дерек (факт) дегеніміз қайсыбір тұжырым;барлық деректер дәлелденген болып анықталады.Дербес жағдайда «рекс-бұл ит» деректеледі.Бірақ «Феликс ит болып табылады ма?» дерегігн сұрау белгілі деректер көмегімен дәлелденілмейді.Пролог жүйесінің теріс жауабы «феликс - ит» тұжырымы жалған дегенді емес , тек бізде «феликс» туралы және оның ит болу мүмкігдігі туралы деректердің жоқтығын білдіреді.Деректердің көп болуына байланысты ,біз оларда сипатталған объектілердің жаңа қасиеттерін анықтай аламыз.Басқаша айтқанда деректерден қасиеттер шығады. «Рекс-бұл ит» дерегіне қайтып оралайық.Біз белгілі деректер негізінде «ит болу» қасиетіне ие барлық объектілерді анықтағымыз келеді дейік. «Қандай тіршілік иелері ит болып табылады?» сұрағын қойып «Рекс- бұл ит» жауабын аламыз.Біз қорытынды шығарудың тривиалды мысалын келтірдік.Қайсыбір қосымша ақпарат енгізейік:
«Рекс-бұл ит» :дерек
«Голди рекстің ата-анасы» :дерек
«Джек рекстің ата-анасы» :дерек
«объект ит болады ,егер ол иттің ата – анасы болып табылады шарты орындалса».
Мәліметтердің алғашқы 3 элементі дерек болып табылады,ал 4-ші элемент ереже деп аталатын қалыпты түрдегі қорытынды.Перпендикуляр қарастырылып отырған есепке алгоритімдік көзқарасты көрсету үшін сәйкес программасын Паскаль тілінде көрсетейік.
Төмендегі программада «Рекске», «Голдиге» және «Джекки»-ге қатысты ақы сипатталады, сосын барып анықтама бойынша және қорытынды нәтижесі бойынша «ит» болып табылатын объектілер қарастырылады.
Progrom является Собакой (input,output);
type
строка =packet array [1..6] of char;
{определить символы}
Символ= (рекс, голди,джек);
{определить виды информации}
информация =(собакаИнф,родительИнф);
объект=record
case инф: информация of
родительИнф:(родитель Чей –либо:символ);
собакаИнф (являетьсяСобакой:логический);
end{record};
var
данные:array[символ] of объект ;
имя: array[символ] of строка;
Х: символ;
{эта функция будет возвращать значение «истсна» ,если объект являеться собакой}
Function собака (Х:объект):логический;
Begin
If Х.инф=собакаИнф
Then собака:=Х являеться Собакой
Else собака:=собака(данные [Х.родительЧей-либо])
end;
begin
{Установить имена объектов}
Имя[рекс]:=рекс;
Имя[голди]:=голди;
Имя[джек]:=джек;
{устоновить информацию для рекса}
With данные [рекс] do
Begin
Инф:=собакаИнф;
являетьсяСобакой:=истина;{рекс-это собака}
end;
{Установить информацию для голди}
With данные [голди] do
Begin
инф:=РодительИнф;
родитель:=рекс;
End;
Данные [джек]:=данные [голди];
For X:=рекс to джек do
If собака(данные [Х]) then
Writeln (‘строку’,или[Х];
End.
Осы есептің Прологтағы программаларынан үзінді келтірейік:
(*факт ‘рекс – это собака’
Собака (рекс).
/*вывод “ объект являеться собакой если он....
Мақала ұнаса, бөлісіңіз:
Ұқсас мақалалар:
» Курстық жұмыс: Информатика | Паскаль программалау тілінің ерекшеліктері және программалау элементтері
» Курстық жұмыс: Информатика | Жолдық қатарлы идентификатор
» Курстық жұмыс: Информатика | Жасанды интелект және оны пайдалану
» Курстық жұмыс: Электр жүйесі | Электр жүйесімен қамтамасыздандыратын екінші ретті электрқоректендіру көздері
» Курстық жұмыс: Информатика | Қайталану операторы
» Курстық жұмыс: Информатика | Паскаль программалау тілінің ерекшеліктері және программалау элементтері
» Курстық жұмыс: Информатика | Жолдық қатарлы идентификатор
» Курстық жұмыс: Информатика | Жасанды интелект және оны пайдалану
» Курстық жұмыс: Электр жүйесі | Электр жүйесімен қамтамасыздандыратын екінші ретті электрқоректендіру көздері
» Курстық жұмыс: Информатика | Қайталану операторы
Іздеп көріңіз: