Основы искусственного интеллекта: учебное пособие


Download 428.17 Kb.
bet39/54
Sana11.02.2023
Hajmi428.17 Kb.
#1189651
1   ...   35   36   37   38   39   40   41   42   ...   54
Bog'liq
Основы искусственного интеллекта учебное пособие

Roʻyxatni biriktirish. Ikki ro'yxatni birlashtirish va ­shu bilan uchinchi ro'yxatni olish eng foydali ro'yxat operatsiyalaridan biridir.
Misol sifatida, ikkita o'zgaruvchini va ^2 ro'yxatlarni ifodalovchi va mos ravishda [1,2,3] va [4,5] qiymatlariga ega bo'lgan parametrlarni ko'rib chiqing . Keyin butun birlashma jarayoni quyidagi harakatlar to'plami sifatida ifodalanishi mumkin:

  1. ro'yxat ^3 (natijada) dastlab bo'sh;

  2. ^2 ro'yxati elementlari ^3 ga yuboriladi; endi ­^3 qiymati [4,5];

  3. ^1 ro'yxati elementlari ^3 ga yuboriladi; natijada [1,2,3,4,5] qiymatini oladi.

Ushbu harakatlarni bajarish qoidalarining tuzilishi ­quyidagicha:
qo'llash ([]^^).
appy(^^1]^2,^^3])
qo'llash ^1^2^3).
Agar ^1=[1,2,3] va ^2=[4,5] roʻyxatlari uning kiritilishi sifatida berilgan boʻlsa, Pro1od birinchi navbatda qoidaning birinchi variantini qondirishga harakat qiladi:
qo'llash ([]^^).
Buning uchun birinchi predikat ob'ekti bo'sh ro'yxat bo'lishi kerak. Biroq, unday emas. Prodo-ni birlashtirishning ichki ­jarayoni ikkinchi qoidani qondirishga harakat qilib ­, birinchi ro'yxatni bekor qilmaguncha rekursiyalar zanjirini bo'shatadi. Keyin ro'yxat elementlari ketma-ket stekga o'tkaziladi. Appy predikatning birinchi ob'ekti bo'sh ro'yxat bo'lsa, qoidaning birinchi versiyasini qo'llash mumkin bo'ladi. Uchinchi ro'yxat ikkinchisi bilan boshlanadi:
appy([],[4,5],_).
appy([],[4,5],[4,5]).
Endi Prothod ikkinchi qoidaga rekursiv qo'ng'iroqlarni o'rashni boshlaydi. Stackdan chiqarilgan elementlar birinchi va uchinchi ro'yxatlarning boshi sifatida birin-ketin joylashtiriladi. Shuni ta'kidlash kerakki, elementlar ­teskari tartibda ochiladi (bu stek, axir!) va stekdan chiqarilgan elementning qiymati ­bir vaqtning o'zida [N ^ 1] va N o'zgaruvchisiga tayinlanadi. ­[N | b3] .
Ushbu jarayonning bosqichlarini quyidagicha ifodalash mumkin:
qo'llash([], [4,5], [4,5]) qo'llash([3], [4,5], [3,4,5]) qo'llash([2,3], [4,5] , [2,3,4,5]) qo'llash([1,2,3], [4,5], [1,2,3,4,5])

Download 428.17 Kb.

Do'stlaringiz bilan baham:
1   ...   35   36   37   38   39   40   41   42   ...   54




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling