• Опубликованы алгоритмы мета -Pure Prolog tili uchun meta-tarjimon algoritmlari nashr
  • Tarif Eslatma
  • Пример
  • Korsatish uchun hech narsa yoq
  • Boshlanishini ajratib korsatish mumkin
  • 3-misol 6. Displey
  • 37-misol. Расширяемый скелет Prologtarjimonining kengaytiriladigan skeleti.
  • Tarif Eslatma
  • 38-misol. Maqsadning chiqishi. Tarjimonni umumlashtirish определении функции
  • 39-misol. Orqa trek. Muvaffaqiyatsiz klauzani tanlash bilan qaytish
  • Yaponiya kompyuter tizimlari loyihasi doirasida dori vositalarining yorqin reklamasi 5
  • Существует Pure Prolog Prolog mashinasining asosiy mexanizmlarini o'rganish uchun qulay bo'lgan tilning semantik asosi sifatida Pure Prolog mavjud




    Download 36,54 Kb.
    bet6/6
    Sana24.01.2024
    Hajmi36,54 Kb.
    #144809
    1   2   3   4   5   6
    Bog'liq
    10,11-Лекция узб

    Существует Pure Prolog Prolog mashinasining asosiy mexanizmlarini o'rganish uchun qulay bo'lgan tilning semantik asosi sifatida Pure Prolog mavjud Prolog-.


    Iterativ algoritmlarni rekursiv funktsiyalar sifatida dasturlash mumkin.

    Prolog-mashina mavjud munosabatlar tizimidagi so'rovga javob izlaydi va agar topsa, uni xabar qiladi.


    Опубликованы алгоритмы мета-Pure Prolog tili uchun meta-tarjimon algoritmlari nashr Pure Prolog, etilgan bo'lib, uning o'z-o'zidan qo'llanilishi va kengayishini ko'rsatadi.



    Ta'rif

    Eslatma




    faktorial (N, F)

    funktsiya ikkita tugma bilan amalga oshiriladi:




    faktorial (0, 1)

    0 dan 1 qiymati;




    faktorial (x+1, F) ← F:

    \ u003d- qiymatlar o'rtasidagi munosabatlar deklaratsiyasi




    faktorial (x, y) * (x + 1)qiymatlari o'rtasidagi munosabatlar deklaratsiyasi

    . qo'shni raqamlar



















    Пример34-misol.

    Faktorialni hisoblash




























    ta'rif










    Eslatma




    qismi([], _, [], []).










    Разбиение на участки




    partition([X|Xs], Pivot, Smalls, Bigs) :-







    (

    X @< Pivot ->



















    Smalls = [X|Rest],



















    partition(Xs, Pivot, Rest, Bigs)










    ;

    Bigs = [X|Rest],



















    partition(Xs, Pivot, Smalls, Rest)










    ).













    QuickSort saralashni






















    ishga tushirish ([]) -- > [].
















    quicksort([X|Xs]) -->
















    { partition(Xs, X, Smaller, Bigger) },










    quicksort(Smaller), [X], quicksort(Bigger).










    Пример35-misol. Tez saralash




























    ta'rif










    eslatma




    maplist (_P, [], []).




    Ko'rsatish uchun hech narsa yo'q




    maplist(P, [X1|X1s], [X2|X2s]) :-




    Boshlanishini ajratib ko'rsatish mumkin







    siz Call(P, X1, X2) boshlanishini




    ,birinchi







    maplist(P, X1s, X2s) dan qo'ng'iroqni tanlashingiz mumkin.




    Qolganlarini ko'rsatish






















    3-misol6. Displey




























    ta'rifi










    Eslatma







    mi1(haqiqiy) Eslatma.



















    mi1((A,B)) :-



















    mi1(a),







    variantlarning tengligi.







    mi1(B).













    mi1 (Goal): -



















    Goal \ \ = true,



















    Goal \ \ \ = (_,_),







    Maqsadga erishish







    clause(Goal, Body),













    mi1(Body) maqsadiga erishish.




































    37-misol. Расширяемый скелет Prologtarjimonining kengaytiriladigan skeleti.



    Ta'rif




    Eslatma

    ishonchli Eslatma(haqiqiy,_): -!.




    Isbot













    provable((G1,G2), Defs) :- !,

    Variantlar.

    provable(G1, Defs),

    provable(G2, Defs).




    provable (BI, _) :-

    o'rnatilgan xususiyatlar.

    predicate_property(BI, built_in),

    !,




    call(BI).

    Maqsad sari harakat.

    provable(Goal, Defs) :-

    member(Def, Defs),




    copy_term(Def, Goal-Body),




    provable(Body, Defs).






    38-misol. Maqsadning chiqishi. Tarjimonni umumlashtirish



    • определении функцииprovable(Goal, Defs) funktsiyasining ta'rifi, Agar Goal выводима по отношению к DEFSmaqsadi Bosh tanasi shaklida klauzlar ro'yxati bilan ifodalangan DEFSGA nisbatan chiqarilsa, haqiqat Head-Bodyishlab chiqiladi. Bektrekingni to'liq amalga oshirish natijalarning deterministik to'planishini talab qiladi. Alohida alternativa alternativalar ro'yxati sifatida ishlatilishi mumkin bo'lgan maqsadlar va filiallar ro'yxati sifatida taqdim etiladi.




    Ta'rif

    Eslatma

    mi_backtrack_([[]-G|_], G).

    Boshqa variantlar yo'q.

    mi_backtrack_ (Alts0, G) :-

    boshqa variantlarni saralash.

    resstep_(Alts0, Alts1),

    mi_backtrack_(Alts1, G).






    39-misol. Orqa trek. Muvaffaqiyatsiz klauzani tanlash bilan qaytish


    Agar biron bir maqsad isbotlanmagan bo'lsa, unda ichki navbatdan echim tanlanadi. Ikkinchi klauza hisoblashni tavsiflaydi.
    Tilning yuqori darajadagi funktsiyalar (HiLog, λProlog) va modullar bilan ishlashga moslashtirilgan versiyalari mavjud) .


    Стандарт ISO Prolog Iso standarti kompilyatsiya, quyruq rekursiyasi, atamalarni indeksatsiya qilish, xeshlash, jadvallarni qayta ishlashni qo'llab-quvvatlaydi.


    Yaponiya kompyuter tizimlari loyihasi doirasida dori vositalarining yorqin reklamasi 5-


    birinchi avlod elementlar bazasi rivojlanib borgan sari pasayib ketdi. Ilmiy tadqiqotlar va ta'limda tildan keng foydalanilganiga qaramay, mantiqiy dasturlash hali kompyuter sanoatiga katta hissa qo'sha olmadi. Buning sababi shundaki, har qanday ishlab chiqarish etarlicha o'rganilgan vazifalarni afzal ko'radi va LP ning kuchli tomoni aniqlanmagan vazifalar sinfida namoyon bo'ladi.


    Yaxshi tashkil etilgan tuzilmalar va tartibli ma'lumotlar bo'yicha aniq algoritm shaklida muammoni aniq hal qilish aniq, puxta ish, vazifalar sinfini va ularni hal qilish talablarini sinchkovlik bilan va puxta o'rganish natijasidir, deb ishoniladi. Bunday hollarda samarali va ishonchli dasturlar tabiiy mukofotdir. Biroq, ba'zi hollarda, vazifalarning tabiati variantlardan birini bepultanlashni talab qiladi-to'plamning ixtiyoriy elementini tanlash, ma'lum naqshlar bo'lmagan taqdirda voqea ehtimoli, o'yin muhiti va stsenariylarida psevdo-tasodifiy o'zgarishlar, xotirada ma'lumotlar blokini joylashtirish uchun birinchi mos manzilni qidirish, hujjatlar va badiiy matnlarni tarjima qilishda lingvistik tahlil va boshqalar. variantlar tengdir, shuning uchun ularni disk raskadrovka va qayta ishlash texnologiyasi bunday variantlarni hisoblash uchun rasmiy ravishda teng imkoniyatni ta'minlashi kerak (shunga o'xshash muammo tarmoqlarda xizmatni tashkil qilish va operatsion tizimlar tomonidan vazifalarni bajarish uchun xosdir. Tarmoqning barcha tugunlari va vazifalariga, agar ular bilan ishlashga rasmiy taqiq bo'lmasa, erishish mumkin bo'lishi kerak.).
    Download 36,54 Kb.
    1   2   3   4   5   6




    Download 36,54 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Существует Pure Prolog Prolog mashinasining asosiy mexanizmlarini o'rganish uchun qulay bo'lgan tilning semantik asosi sifatida Pure Prolog mavjud

    Download 36,54 Kb.