Жасанды интелект

Автор работы: d***********@gmail.com, 28 Ноября 2011 в 07:34, курсовая работа

Описание

Жасанды интеллект (искуственный интеллект) – бұл адам ойын компьютерде бейнелейтін (имитирующий) программалық жүйе.Бұндай жүйені жасау үшін белгілі бір облыста шешім қабылдайтын немесе нақтылы есептерді шешетін адамның ойлау процесін зерттеу қажет және осы процестің негізгі қадамдарын бөліп көрсетіп , оларды компьютерде іске асыратын программалық жабдықтарды жасау қажет.

Содержание

КІРІСПЕ....................................................................................................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 файл

Жасанды интеллект.doc

— 183.00 Кб (Скачать документ)

    D  is 10-5 , сәтті аяқталады және D=5.

    4  is  2*4-4 , сәтті  аяқталады.

    2*4-4  is 4 , сәтсіз  аяқталады.

    а  is  3+3 , сәтсіз  аяқталады. 

    X  is  4+a , сәтсіз  аяқталады.

    2  is  4-X , сәтсіз  аяқталады.

     Сонымен  is  предикаты оның  оның  бірінші  аргументі  сан  немесе  анықталмаған  айнымалы  болуын  талап  етеді.Сондықтан ,М-2 is 3  жазуы дұрыс емес. 

 АРИФМЕТИКАЛЫҚ ӨРНЕКТЕР НӘТИЖЕСІН САЛЫСТЫРУ.

          =,< , >, < > , жүйелік  предикаттары  инфекстік  операторлар  сияқты  анықталған және  2  арифметикалық өрнек нәтижесін салыстыру үшін  қолданылады.

      @ предикаты  үшін  X @ Y мақсаттық   тұжырымын  дәлелдеу  сәтті   аяқталады, егер Х  және  У  арифметикалық  өрнектерін  есептеу  нәтижесінің  бір-біріне  қатынасы  @ предикатымен  сипатталғандай  қатынаста  болатын  болса.Мұндай  мақсаттық тұжырымның  қосымша тиімді  жағдайлары  жоқ және  қайтадан  келісілуі мүмкін  емес.Егер  Х немесе  У арифметикалық өрнек болмаса қате  туындайды.Предикаттар көмегімен келесі  қатынастар  сипатталады: Х=Y,X< >Y,X>Y ,X<Y, X<Y,X>Y  предикаттарды  қолдану  келесі  мысалдармен  көрсетейік:

      A<5, сәтсіз  аяқталады.

      5+2+7>5+2, сәтті  аяқталады.

      3+2=5, сәтті  аяқталады.

     2+1<>1 , сәтті  аяқталады.

     N>3 , сәтті  аяқталады, егер N  үлкен  болса , қарсы  жағдайда  сәтсіз. 
 

       РЕКУРСИЯ.

        ПРОЛОГ-та  рекурсия  программалаудың  қуатты  әдісі  болып  табылады.Өйткені  мұнда  әднттегі  программалау  тілдерінің  while..do  және    Repeat….until циклдік  құрылымы  жоқ. 
 

      

     «БӨЛУ ЖӘНЕ БАСҚАРУ» СТРАТЕГИЯСЫ. 

     Әдетте  есепті  шешу  стратегиясы  оны  бірнеше  ұсақ  ішкі  есептерге  бөліп  соларды  шешуден  сосын  барып  берілген  есеп  шешімін  алу  үшін  ішкі  есептерді  біріктіруден  тұрады. «Бөлу  және  басқару»  стратегиясы  мәні  осындай.

      Ішкі  есептерді  одан  ұсақ  ішкі  есептерге   бөліп , оларды  бөліетеп  шешу  қажет  болуы  мүмкін.

      Егер  ішкі  есеп  беретін  есептің  кішірейтілген  вариантты  болса , онда  оны  бөліктеу  және  шешу  әдісі  берілген  есепке  қолданылатын  әдіспен  бірдей.Бұндай  процесс   рекурсия  деп аталады.Сипатталған әдіс  нәтижелі  болуы үшін  ол  ақыр  соныңда тікелей есептелетін бастапқы  есепке  алып  келуі тиіс.Оны шешуге  шекаралық әдіс  деп аталатын  тұжырымдар  мүмкін болады.

      Мысалы  №1:Тізбектегі  п-ші  термді   анықтау  әдісін  қарастырайық: 1,2,6,24,120,720,  т.с.с.

      Сипаттаудың І  варианты  мынадай :

      0-ші  терм 1-ге  тең ,1-ші  терм  1*1 көбейтіндісі  арқылы  табылады,2-ші  терм 1*1*2  көбейтіндісінде , 3-ші  терм 1*1*2*3  көбейтіндісінде  табылады  және  жалпы  жағдайдағы  п-ші  терм  1*1*2*3*...*п   көбейтіндісі  арқылы  табылады.

      Басқаша  0-ші терм  дегеніміз 1 , ал  п-ші  терм дегеніміз  п-ге  көптеген  п-1-ші  терм.

     2   анықтама  эквивалентті  екені   түсінікті.Тізбектің N –ші  мүшесі  V-ға тең  дерегін  белгілеуүшін посл(N,V)  предикатын  пайдаланамыз.Рекурсивті  анықтама  ПРОЛОГ-тың  келесі  тұжырымдармен  өрнектеледі:

     /*Шекаралық   шарт – 0-ші  терм 1-ге тең*/

      Посл.(0,1).

    /*Рекурсивтік   шарт – егер N-1 термі U-ға тең  болса , онда N-ші терм  U*N*/

  Посл.(N,V):-M  is  N-1 , посл (M,U), V  is U*N

      ?посл(3,Z)  сұрағының  жауабы    Z=6 болады.

      Басқа  шешім (иә/жоқ)? Жоқ

      Егер  біз «Иә»  деп  жауап  берсек  ПРОЛОГ  жүйе  шексіз  циклға  түсіп  кетеді.

      ПРОЛОГ  жауапты  қалай табатының  қарастыру  үшін

      ?посл(3,Х)  сұрағын қарастырайық  және  ПРОЛОГ  жұмысының   2 кезеңін сипаттайық.

      2.Бөліктеу  фазасы   немесе   кезеңі. 

БІРІНШІ ШАҚЫРУ.

      ПРОЛОГ  посл(3,Х)  сұранысын  қанағаттандыру  үшін тізбекті  сипаттайтын   процедураның  І  тұжырымы  посл(0,1) –ді  пайдаланады.

      Термнің  І  компоненті  , сұраныстың   І компоненті  (3)пен  сәйкес  келмейтіндіктен  талпыныс  сәтсіздікпен  аяқталады.

      Енді  ПРОЛОГ- тізбекті  сипаттайтын  ІІ  тұжырымды  пайдалануға   тырысады.Бұл  жолы  ІІ посл(N,V)  тұжырымның  басы , посл(3,Х)  сұранысына   сәйкестендіріліп   N 3  мәнін қабылдайды , ал  V X-пен байланысады.ПРОЛОГ  тұжырым денесіндегі мақсаттарды дәлелдеуге  көшеді.

      /*N=3

      /*V=X

      M is 3-1

      посл(H,U)

      X is U*3

      /*откладывается

      І  мақсаттық  тұжырым  N=2 болғанда келісіледі.ІІ  посл(2,U) мақсаттық  тұжырымы  ІІ  рекурсивтік  шақыруға  алып  келеді.

      ПРОЛОГ  ІІІ  мақсаттық  тұжырымды  ІІ –сі келісілгенде  ғана  келісуге  тырысады.Сондықтан  ІІІ  мақсаттық  тұжырым  қалыс  қалады. 
 

 ЕКІНШІ ШАҚЫРУ.

      Посл(2,U)  тұжырымын  келісу  үшін  ПРОЛОГ   Посл(2,U) –ды  посл(0,1)  процедураның  І тұжырыммен  сәйкестендіруге  тырысады,бірақ  термнің  І  компоненттері  сәйкестендірілмейтіндіктен  талпыныс  сәтсіздікке  ұшырайды.

      Дей  тұрғанмен , Посл(2,U) –ды  N=2-ге  тең  және    V=U-ға  тең  болғандағы  ІІ посл(N2,V2)  тұжырымның   басымен  сәйкестендіру  мүмкіндік  береді.Енді  ПРОЛОГ  тұжырым  денесі  келісуге  тырысады.

      /*N2=2

      /*V2=U

      M2  is  2-1

      посл(M2,U2)

     U  is  U2*2

     /*откладывается

     Сонымен, біз  І  шақырудағы  тұжырымды  тағы  да  қолдансақ,бірақ  мұнда  кішірек  N аргументін  пайдаландық.

     Тұжырымды  ІІ  рет  шақыруды  І  шақырудан  ажырату  үшін  айнымалыға  2 индексін  береміз.Жалпы  жағдайда  айнымалының  п  индексі  оның  п-ші  шақырылымда  қолданылатының  білдіреді.І  шақыру  айнымалылары  индекссіз жазылған.

     Мақсатты  тұжырымның  І-сі  N2=1  болғанда  келісімді ІІ  мақсаттық тұжырым үшін  ІІІ шақырылуға  алып   келеді , ал  ІІІ мақсаттық тұжырым қалыс қалады.

       ҮШІНШІ ШАҚЫРУ.

     Посл(1,U2)-ні   келісу  үшін  ПРОЛОГ  оны  посл(0,1)  анықталатының  І   тұжырыммен  сәйкестендіруге   тырысады,бірақ   ол  сәтсіздікке  ұшырайды.

     Дей  тұрғанмен , посл(1,U2)  ІІ  тұжырым басымен сәйкестендіруге мүмкіндік туады және  мұнда    N3   1  мәніне  ие  болады,ал  V U2 –мен   байланысады.Демек енді  келесі  мақсаттарды салыстыру қажет:

     /*N3=1

     /*V3=U

     M  is 1-1

     посл(M3,U3)

     U  is U3*1

     /*откладывается

     І  мақсаттық  тұжырым  M3=3 болғанда келісімді.ІІ  мақсаттық тұжырым посл(0 ,U3)-ті  ПРОЛОГ  анықтаманың І тұжырыммен  сәйкестендіре  отырып  келісуге  тырысады.Бұл  жолы  U3=1 болғанда  2  термді  сәйкестендіру   сәтті аяқталады.

     Есеп  редукциясы  аяқталады  және  шекаралық  шарттар  соңғы  есепті  шешуге  мүмкіндік  береді.Енді  ПРОЛОГ  қалыс  қалған  мақсаттық  тұжырымға  қайта  оралып , олардың  ең  соңғысын  келісуге  тырысады.

     Егер  соңғы  тұжырым  келісілсе , онда  ПРОЛОГ  оның  алдындағы  қалыс  қалған   тұжырымды  келісуге  тырысады.Сөйтіп,ең  І  қалыс  қалған  тұжырым  келісілгенше  жалғаса  береді. 

     3.ЕСЕПТІ ШЕШУ КЕЗЕҢІ(ФАЗАСЫ).

     Посл(1,U2)- ні келісу.

     Қалыс қалған тұжырымның ішіндегі ең соңғысы  ІІІ шақырудағы ІІІ мақсаттық  тұжырым:

        U2 is U3*1

     ІІ  мақсаттық тұжырымды келісуге нәтижеде U3 айнымалысы 1 – ге тең болғандықтан, U2 1 мәніне ие болады. Сонымен, посл (1, U2) U2 =1 болғанда келісіледі.

       Посл (2, U)-ды келісу.

      Соңғының  алдында қалыс қалған мақсаттық  тұжырымның бұл ІІ шақырудағы ІІІ  мақсаттық тұжырым:

            U is U2*2

        Сонымен, U2 =1 болғанда мақсаттық тұжырымды келісу нәтижесінде U=2 мәніне ие болады. Демек , посл(2, U) U=2 болғанда келіседі. 

           Посл(3,Х)-ті келісу.

      Қалыс қалған мақсаттық тұжырымның алдыңғысы  І шақырудағы ІІІ мақсаттық тұжырым  Х is U*3  U айнымалысы 2 мәніне тең болғандықтан ІІ мақсаттық тұжырымды келісу нәтижесінде  Х=6 мәніне ие болады. Посл(3,Х) мақсаттық тұжырымы Х=6 болғанда келіседі. Егер қалыс қалған басқа мақсаттық тұжырым жоқ болса, онда Пролог – айнымалысының қандай мәнінде сұраныс қанағатандырылатының анықтайды.

   Жоғарыда сұраныстың толық трассировкасы келтірілген мақсаттан шығатын доғалар сәйкестендірілетін тұжырым номерімен және сәйкестігі айнымалы мәнімен белгіленеді. Мақсаттық тұжырымы келісілетін айнымалылар дөңгелек жақшаға алынған және сәйкес мақсаттық тұжырымда жазылған жолдарға жазылады. Төбелерге айнымалылар мәнімен енетін доғалардағы белгілеулер осы мәндерге алып келетін мақсаттық тұжырым болып табылады.  

4. ВОСХОДЯЩАЯ СТРАТЕГИЯСЫ. 

      Біз есеті ішкі есептерге бөлу және оларды шешу процесін қарастырдық. Посл(U,V) анықтау  үшін

               Посл(3,V2), посл(2, V3,...,посл(0, V5))-ты есептеу және шешімді құру қажет, мұнда шекаралық шартты базис ретінде таңдаймыз.

      Екінші  әдіс  шешімді  шекаралық  шарттан  бастап  берілетін  есеп  шешілгенше  құра  беру  болып  табылады.Бұл  әдіс 1-ші  шекаралық шарттан  бастап  1-ші  терм  мәнін 1*1 , сосын  2-ші  1*1*2,сосын  3-ші  1*1*2*3 , ақыр  соңында, 4-ші  1*1*2*3*4  есептеуіміз  керек.Мұндай  стратегияны  восходящий   деп  атайды.

      Екінші  шешудің  бұл  әдісінде  мақсаттық  тұжырым  2  қосымша  параметрге  ие  болуы  тиіс,біреуі  есептің нақтылы уақытқа дейін шешілген  «мөлшерін» , көрсету үшін , ал  2-сі  аралық  шешімді жазу  үшін.

      Тұжырымды  шақырғанда  параметрлер  шекаралық  шарттармен  байланысады.

      Мысалы: Егер  біз  алдыңғы  1-ші  мысалдағы  есеп  шешіміне  восходящий  стратегиясын  қолдансақ , ПРОЛОГ-тың  келесі  тұжырымын  аламыз.

      /* постр_посл(NS,VS,N,V) строит N-

  /*терм_последовательности_V

      /*VS-это значение   NS-го  терма

      /*в  построенной  к  данному   моменту

      /*последовательность

      /*требуемое  решение:

  постр.посл (N,V,N,V)

      /*построение  следующего  решения:

      постр посл (NS,VS,N,V):-

            NS      
 
 
 
 
 
 
 
 
 
 
 
 

ҚОРЫТЫНДЫ 

     Қорыта  келе, жасанды интеллект–бұл  адам ойын компьютерде  бейнелейтін   программалық  жүйе.  Бұндай жүйені жасау  үшін  белгілі  бір облыста  шешім  қабылдайтын немесе  нақтылы  есептерді шешетін  адамның ойлау  процесін  зерттеу  қажет  және  осы  процестің негізгі  қадамдарын бөліп  көрсетіп , оларды  компьютерде  іске  асыратын  программалық  жабдықтарды  жасау  қажет. Пролог  программалауда  дәстүрлі  түрде  қолданылатын  тілдерден  кәдімгідей  өзгеше. Бейсик, Алгоритм  және Паскаль  тілдерінде  программалау  әдісі  есепті  дискретті  қадамдарға  бөлу  және  оларды  тізбекті  түрде   сипаттау  болып  табылады. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Информация о работе Жасанды интелект