Автор: Пользователь скрыл имя, 15 Марта 2012 в 08:06, курсовая работа
Жасанды интеллект (искуственный интеллект) – бұл адам ойын компьютерде бейнелейтін (имитирующий) программалық жүйе.Бұндай жүйені жасау үшін белгілі бір облыста шешім қабылдайтын немесе нақтылы есептерді шешетін адамның ойлау процесін зерттеу қажет және осы процестің негізгі қадамдарын бөліп көрсетіп , оларды компьютерде іске асыратын программалық жабдықтарды жасау қажет.
ЖОСПАР
КІРІСПЕ....................................................................................................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
ЖОСПАР
КІРІСПЕ.......................
НЕГІЗГІ БӨЛІМ
Жасанды интеллект жүйесіндегі аспаптық құрылғылар.
2.Жасанды интеллект обылысындағы зерттеудің негізгі бағыттары............5
3.Пролог логикалық программалау тілі..........................
3.1.1-ші ретті предикаттарды есептеу.......................
3.2.1-ші ретті предикаттар тілінің синтаксисі....................
3.3.1-ші ретті предикаттар тілінің симантикасы...................
4.Синтаксис және унификация....................
4.1.Унификация................
5.Арифметикалық өрнектеу......................
5.1.Арифметикалық өрнектеу......................
5.2.Арифметикалық операторлар...................
5.3.Арифметикалық өрнектерді есептеу.......................
5.4.Арифметикалық өрнектер нәтижесін салыстыру.....................
6.Рекурсия....................
ҚОРЫТЫНДЫ.....................
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР....................
.
КІРІСПЕ
Жасанды интеллект (искуственный интеллект) – бұл адам ойын компьютерде бейнелейтін (имитирующий) программалық жүйе.Бұндай жүйені жасау үшін белгілі бір облыста шешім қабылдайтын немесе нақтылы есептерді шешетін адамның ойлау процесін зерттеу қажет және осы процестің негізгі қадамдарын бөліп көрсетіп , оларды компьютерде іске асыратын программалық жабдықтарды жасау қажет.
Адам іс-әрекетінің негізінде ойлау қабілеті жатады.Адам ойлау процесінің соңғы нәтижесі мақсат деп аталады.Әдетте барлық белгілі фактілерді қолдану ережесі негізінде мақсатқа жетеміз.
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.
Осы есептің Прологтағы программаларынан үзінді келтірейік:
(*факт ‘рекс – это собака’
Собака (рекс).
/*вывод “ объект являеться собакой если он
/*является родителем У являющив.собакой
Собака(Х):-родитель (Х,У), собака(У)
/*факт ‘голди является родителем рекса’
Родитель(Джек,рекс).
Қолданылған Пролог синтаксисінің кейінірек нақтылап анықтаймыз.Әзірше кішкене әріптермен жазылған әрбір әріптер Литерал деп есептейік.Ол объектіні береді және өзгертуге келмейді. Үлкен әріптен басталатын әрбір сөз (мыс:Х,У,Кім) айнымалы болып табылады.Программаның орындалу барысында айнымалыларға мән беріледі.Яғни одан кейін келетін мақсатты дәлелдеу көзделеді.Пролог мәліметтер базасының сұраныстардың немесе программаның орындалу барысында ақпаратын өзгерте алатындай немесе қосымша ақпараттар еңгізе алатындай етіп,жабдықталған.
I РЕТТІ ПРЕДИКАТТАРДЫ ЕСЕПТЕУ.
1.Формальды жүйені анықтау.
Формальды жүйе деп синтаксистік түрде өңделген символдар жиының мағынасын ескермей өңдеу ережелері анықталатын абстрактілі объектінің жиының айтамыз.Формальды жүйе құраушылары төменде берілген:
1. Ақырлы алфавит (Символдардың ақырлы жиыны)
2. Формальды жүйе формулаларын (немесе сөздерін) жасау процедурасы.
3. Аксиома деп аталатын формулалар жиыны.
4. Формулалардың ақырлы жиының алуға мүмкіндік беретін қорытынды шығару ережелердің ақырлы жиыны.
Бұл ережелер келесі түрде берілуі мүмкін:
U1 U2…..Um W1 W…Wn.
Мұнда Ui , Wj – формальды жүйе формулалары , ал “ “ - ‘шығады’ немесе ‘туындайды’ дегенді білдіреді.
Формальды жүйе кейде аксиоматикалық, формальды теория немесе формулалар жиыны деп те аталады.
Алфавит ақырлы деп есептеледі және оны кейде сөздік деп те атайды.Оған const-лар , айнымалылар және операторлар кіреді.
Формулаларды жасау процедурасы құрылып тұрған символдардан синтаксистік немесе граматикалық символдарды тұрғызуға арналады.Ол қорытынды шығару ережесінен өзгеше болады.
Формальды дәлелдеу деп М1 ,М2 ... Мп формулалардың ақырлы жиынында әрбір Мі формуласы не аксиома немесе алдыңғы Мj (j<<) формулаларынан қорытынды шығару ережелері көмегімен алынатындай формулалардың жиынтығын айтамыз.