Professional Documents
Culture Documents
ლექციათა კურსი ხელ. ინტ. 2022
ლექციათა კურსი ხელ. ინტ. 2022
ინტელექტუალური სისტემები
ავტორები:
ზურაბ ქოჩლაძე
გელა ბესიაშვილი
2022-23
სასწავლო წელი
სასწავლოკურსისსილაბუსი
სასწავლო კურსის ინტელექტუალური სისტემები
სახელწოდება
ავტორები ზურაბ ქოჩლაძე, ასოცირებული პროფესორი
ტელ: 599 40 15 34 ელ-ფოსტა: zurab.kochladze@tsu.ge
გელა ბესიაშვილი, ასისტენტ - პროფესორი
ტელ: 555 27 21 56 ელ-ფოსტა: gels.besiaShvili@tsu.ge
ლექტორები ზურაბ ქოჩლაძე, ასოცირებული პროფესორი, ტელ: 599 40 15 34
ელ-ფოსტა: zurab.kochladze@tsu.ge
კონსულტაციის საათები: კვირაში 2სთ (განრიგი იგეგმება
სემესტრულად).
გელა ბესიაშვილი, ასისტენტ - პროფესორი, ტელ: 555 27 21 56
ელ-ფოსტა: gels.besiaShvili@tsu.ge
კონსულტაციის საათები: კვირაში 2სთ (განრიგი იგეგმება
სემესტრულად).
სასწავლო კურსის კოდი CS 403
სასწავლოკურსისსტატუსი ზუსტ და საბუნებისმეტყველო მეცნიერებათა ფაკულტეტი -
საბაკალავრო პროგრამა “კომპიუტერული მეცნიერება“ -
სავალდებულო.
სასწავლო კურსის მიზნები შეასწავლოს სტუდენტებს:
ხელოვნური ინტელექტუალური სისტემების
ფუნდამენტური ცნებები და ძირითადი პრობლემები;
თანამედროვე, ინტელექტუალური აგენტების იდეაზე
დაფუძნებული მიდგომა;
პრობლემების წარმოდგენა მდგომარეობათა და
ქვეამოცანათა სივრცეებში.
ძებნის არაინფორმირებული ალგორითმები.
ევრისტიკული ძებნის მეთოდები.
ძებნის ემერჯენტული (გენეტიკური) ალგორითმები.
კრედიტების რაოდენობა და 5 კრედიტი (125 საათი)
საათების განაწილება საკონტაქტო - სემესტრში45 სთ. (15სთ. ლექცია, 15 სთ.
სტუდენტის დატვირთვის სემინარი, 15 სთ ლაბორატორიული მუშაობა);
შესაბამისად (ECTS) შუალედური გამოცდა - 2სთ;
დასკვნითი გამოცდა - 3სთ;
დამოუკიდებელი მუშაობა - სემესტრში80 სთ.
დაშვების წინაპირობები 1. CS201 ალგორითმები და სირთულე
2. CS104 ობიექტზე ორიენტირებული დაპროგრამება 1
სწავლის შედეგები ცოდნა და გაცნობიერება:
იცის:
ინტელექტუალური სისტემების აგების ძირითადი
მიდგომები და კონცეფციები;
ძებნის არაინფორმირებული და ინფორმირებული
ალგორითმები;
ძებნის მეთოდები ამოცანებში შეზღუდვთა
დაკმაყოფილებზე;
ძებნის ალგორითმები წინააღმდეგობის შემთხვევაში;
გენეტიკური ალგორითმები.
ცოდნის პრაქტიკაში გამოყენების უნარი
შეუძლია:
ძებნის არაინფორმირებული და ინფორმირებული,
მეთოდების და ალგორითმების გამოყენება ნებისმიერი
ამოცანისთვის;
აშდ ამოცანების ამოხსნა;
გენეტიკური ალგორითმების აგება კონკრეტული
ამოცანისთვის.
დააპროექტოს მარტივი ინტელექტუალური სისტემა;
დასკვნის უნარი:
შეუძლია:
მოცემული კონკრეტული ამოცანის გამოკვლევის
საფუძველზე სწორად შეარჩიოს მეთოდები და
ალგორითმები ამ ამოცანის გადასჭრელად;
შეაფასოს კონკრეტული ამოცანის გადაჭრის სხვადასხვა
მიდგომები და მიიღოს ოპტიმალური გადაწყვეტილება;
მარტივი ინტელექტუალური სისტემების ანალიზი;
კომუნიკაციისუნარი:
შეუძლია:
ინტელექტუალური სისტემების სფეროში მოახდინოს
კომუნიკაცია კოლეგებთან, გაიგოს სხვისი პრობლემები
და შესთავაზოს გადაჭრის გზები;
ამოცანისგადაწყვეტისპროცესშიგანხორციელებულისამ
უშაოსდამიღებულიშედეგებისპროფესიულ ენაზე
გადმოცემა (ზეპირადდაწერილობით);
სწავლის უნარი
კურსის გავლის შემდეგ
შეუძლია:
სწავლის პროცესის შეფასება მიღებული თეორიული
ცოდნის და მისი პრაქტიკაში გამოყენების
თვალსაზრისით;შემდგომისწავლისსაჭიროებებისდადგენა;
საკუთარი ცოდნის გაღრმავების აუცილებლობის შეფასება
შემდგომი სწავლის გაგრძელების მიმართულების
განსაზღვრისათვის.
ღირებულებები
შეუძლია:
ინტელექტუალური სისტემების სფეროში პროფესიული
ეთიკის ნორმების მნიშვნელობის გააზრება და დაცვა;
გააზრებული აქვს აუცილებელი კავშირი თეორიასა და
პრაქტიკას შორის.
სასწავლო კურსის შინაარსი თეორიული კურსი მოიცავს: ხელოვნური ინტელექტის
ძირითად ცნებებს, ინტელექტუალური სისტემების აგების
მეთოდიკას, ძებნის ინფორმირებულ მეთოდებსა და
ალგორითმებს, ძებნას წინააღმდეგობის შემთხვევაში,
ნეინორული ქსელებისა და გენეტიკური ალგორითმების
გამოყენებას ოპტიმიზაციისა და ძებნისთვის. (იხ.დანართი 1);
ჯგუფში მცადინეობების კურსი მოიცავს: ლექციაზე
მიწოდებული მასალის გარჩევას კონკრეტული მაგალითების
და სავარჯიშოების თანხლებით.
ლაბორატორიული სამუშაო მოიცავს დავალებებს. იხ.
დანართი 2).
სწავლება-სწავლის ვერბალური, ანუ ზეპირსიტყვიერი მეთოდი;
მეთოდები წიგნზე მუშაობის მეთოდი;
-3-
წერითი მეთოდი;
ახსნა-განმარტების მეთოდი;
ლაბორატორიული მეთოდი;
პრაქტიკული მეთოდები.
შეფასების შუალედური შეფასება მოიცავს:
ფორმები/კომპონენტები/ წერითი გამოკითხვა - 2 X 10 ქულა = 20 ქულა.
მეთოდები/კრიტერიუმები შეფასების მეთოდი - მრავალარჩევნიანი ტესტი.ტესტი
შედგება 10 მარტივი კითხვისგან. თითოეულ კითხვაზე
მითითებულია ოთხი პასუხი. სტუდენტმა უნდა
შეარჩიოს სწორი პასუხი. სწორი პასუხი ფასდება 1
ქულით. (ტესტის ხანგრძლივობაა 30 წუთი. ჩატარდება
მეექვსე და მეთერთმეტე კვირას).
შუალედური წერითი გამოცდა ფასდება 20 ქულით. აფასებს 1–
6 კვირებში განვლილ მასალას.
შუალედურ წერით გამოცდაზე სტუდენტს მიეცემა
ხუთი საკითხი. თითოეული ფასდება ოთხი ქულით.
4 ქულა - საკითხზე პასუხი სრულია და ამომწურავი.
სტუდენტს გააზრებული აქვს საკითხი და სწორად
ხმარობს ტერმინოლოგიას.
3 ქულა - პასუხი სწორია, მაგრამ დაშვებულია მცირეოდენი
შეცდომები ან/და არ იცის ტერმინოლოგია.
2 ქულა - პასუხი არაა სრული და დაშვებულია შეცდომები.
1 ქულა - პასუხი არაა სწორი. დაშვებულია უხეში
შეცდომები.
0 ქულა -სტუდენტმა არ იცის პასუხი დასმულ კითხვაზე.
ლაბორატორიული სამუშაო ითვალისწინებს, შერჩეული
ამოცანის ამოხსნის ალგორითმის იმპლემენტაციას
პროგრამულ კოდში. შეფასების კრიტერიუმებია:
სამუშაო ფასდება 10 ქულით.
ალგორითმი ფასდება - 5 ქულით;
პროგრამული კოდი ფასდება - 5 ქულით;
ქულების განაწილება ხდება შემდეგნაირად:
10 ქულა - შედეგი მიღებულია და ოპტიმალურია.
დაცულია პროგრამირების სტილი; ვიზუალურად
ადვილად კითხვადია, სტრიქონებს აქვს კომენტარები.
9ქულა - არ არის სრული სტრიქონებზე კომენტარები, ან
დარღვეულია ნაწილობრივ ვიზუალური მხარე.
8ქულა - დარღვეულია, არ სრულდება პროგრამირების
სტილის რეკომენდაციები.
7ქულა - პროგრამულიკოდი არ არის ოპტიმალური.
6ქულა - პროგრამული კოდი არ არის( ბოლომდე)
დასრულებული.
5ქულა-ამოცანისათვის შედგენილია ფსევდოკოდი.
4ქულა-ფსევდო კოდში აღინიშნება უზუსტობები.
3ქულა-ამოცანის ამოხსნის ალგორითმი სრულად არის
აღწერილი.
2ქულა-აგორითმის მუშაობა არ არის სრულად აღწერილი.
1ქულა-ალგორითმის მუშაობის აღწერაში დაშვებულია
უხეში შეცდომები.
0ქულა - არ იცის ალგორითმი.
-4-
სემესტრის განმავლობაში ჩატარდება 2 ლაბორატორიული
შეფასება (მერვე და მეთორმეტე კვირას).
დასკვნითი შეფასება მოიცავს:
წერითი გამოცდა - 40 ქულა
შეფასების მეთოდი. სტუდენტს მიეცემა რვა საკითხი.
თითოეული ფასდება 5 ქულით.
5 ქულა - პასუხი სრულია და ამომწურავი. სტუდენტს
გააზრებული აქვს საკითხი და სწორად ხმარობს
ტერმინოლოგიას.
4 ქულა - პასუხი სწორია, მაგრამ დაშვებულია მცირეოდენი
შეცდომები ან/და არ იცის ტერმინოლოგია.
3 ქულა - პასუხი არაა სრული ან დაშვებულია უხეში
შეცდომა.
2 ქულა - პასუხი არაა სწორი. დაშვებულია უხეში
შეცდომები. სტუდენტმა არ იცის ტერმინოლოგია.
1 ქულა -სტუდენტის პასუხი არაა სრული და სწორი, მაგრამ
ჩანს, რომ გაუგია მის შესახებ რაღაც ინფორმაცია.
0 ქულა - არ იცის პასუხი დასმულ კითხვაზე.
-5-
დამხმარე ლიტერატურა და 1. N. Nilsson Principles of Artificial Intelligence. Tioga Publishing.
სხვა სასწავლო მასალა Palo Alto 1980.
2. Jean-Louis Lauriere Artificielle Intelligence. Paris. 1987.
3. N. Bostrom and E. Yudkowsky Ethics of AI.
CambridgeUniversityPress.
დანართი 1.
სასწავლო კურსის შინაარსი
დანართი 2.
-6-
მასალა
1 სტუდენტები გაეცნობიან პირველ ინტელექტუალური ქცევის 1. ლექცია 1.
სისტემას LG-ს.
2 მოხდება ინტერნეტში არსებული ”გონიერი” აგენტების 1. ლექცია 2.
მაგალითების განხილვა.
3 სტუდენტებმა უნდა წარმოადგინონ კონკრეტული 1. ლექცია 3.
ამოცანებიმდგომარეობათა სივრცეში.
4 სტუდენტებმა უნდა ამოხსნან „რვიანის“ (ან სხვა) თამაში სრული 1. ლექცია 4.
გადარჩევის ალგორითმით.
5 სტუდენტებმა უნდა ამოხსნან „რვიანის“ (ან სხვა) თამაში 1. ლექცია 5.
სიღრმეში ძებნის ალგორითმით.
6 სტუდენტება უნდა შეაფასონ სრული გადარჩევის და სიღრმეში 1. ლექცია 6.
ძებნის ალგორითმების მუშაობის მახასიათებლები.
7 სტუდენტებმა უნდა ააგონ A* ალგორითმი და შეადგინონ 1. ლექცია 7.
სხვადასხვა შემფასებელი ფუნქციები კონკრეტული თამაშისთვის.
8 სტუდენტებმა კონკრეტული თამაშის ამოსახსნელად უნდა 1. ლექცია 8.
გამოიყენენ A* ალგორითმი სხვადასხვა შემფასებელი
ფუნქციით.
9 სტუდენტებმა უნდა შეადარონ ერთმანეთს ძებნის 1. ლექცია 9.
არაინფორმირებული და ინფორმირებული ალგორითმები
არსებული კრიტერიუმების საშუალებით.
10 სტუდენტებმა უნდა ააგონ ალგორითმი „ძებნა უკან დაბრუნებით“ 1. ლექცია10.
და გამოიყენონ ის რომელიმე კონკრეტული აშდამოცანისათვის.
11 სტუდენტებმა კონკრეტული თამაშისთვის პრაქტიკულად უნდა 1. ლექცია 11.
გამოიყენონ მინიმაქსის და შემოკლებული მინიმაქსის
პროცედურები.
12 იგივე თამაშისთვის გამოიყენონ ალფა-ბეტა პროცედურა. 1. ლექცია 12.
13 შეადარონ შემოკლებული მინიმაქსისა და ალფა-ბეტა 1. ლექცია 13.
პროცედურების ქცევა ერთმანეთს.
14 გენეტიკური ალგორითმების გამოყენებანორმალური 1. ლექცია 14.
დიზუნქციური ფორმის მინიმიზაციისათვის.
15 გენეტიკური ალგორითმების გამოყენება ძებნის ამოცანებში. 1. ლექცია 15.
-7-
ლექცია 1.
ხელოვნური ინტელექტი წარმოშობისა და განვითარების მოკლე ისტორია.
-8-
როგორც ცნობილია, მეორე მსოფლიო ომის დროს დიდ ბრიტანეთსა და აშშ შეიქმნა
თანამედროვე კომპიუტერების პირველი წარმომადგენლები, პირველი კომპიუტერები (Z3,
ENIAK COLOSSUS),გერმანული დამშიფრავი სისტემის ENIGMA-სგასატეხად. ამ
კომპიუტერებს შეეძლოთ ინფორმაციის მიღება, გადამუშავება, შენახვა და გამოტანა. ყველა
ის თვისება, რაც გააჩნია ადამიანს. ამმანქანებიდან ბოლო ორი მათგანი ემყარებოდა ა.
ტურინგის მიერ ჩამოყალიბებულ თეორიულ საფუძვლებს და შემუშავებული იქნა ჯონ ფონ
ნეიმანის მიერ.
1943 წელს უ. პიტსმა და უ. მაკ-კალოკმა გაანალიზეს რა იმდროინდელი ცოდნა
ბიოლოგიური ნეირონის და ნეირონული ქსელების შესახებ აჩვენეს, თუ როგორ შეიძლება
მათი მოდელირება. ნეირონის ხელოვნური ანალოგის შექმნა და მათი საშუალებით
ხელოვნური ნეირონული ქსელების აგება და შემდეგ უკვე ასეთი ქსელებით ნებისმიერი
ლოგიკური ფუნქციების მოდელირება.
1.3.ხელოვნური ინტელექტის დაბადება. 1955წელს კოგნიტიური ფსიქოლოგიის
სპეციალისტმა და კომპიუტერულმა მეცნიერემა ალენ ნიუელმა, სოციოლოგმა ჰერბერტ
სიმონმა და სისტემურმა პროგრამისტმა ჯონ შოუმ შეიმუშავეს პირველი პროგრამა
„ლოგიკოს თეორეტიკოსი“, რომელიც ეკუთვნის დღეს უკვე ყველგან აღიარებულ
ხელოვნური ინტელექტის თემატიკას, და რომელმაც დაამტკიცა ა. უაითჰედისა და ბერტნარ
რასელის წიგნიში, "მათემატიკის პრინციპები", წსრმოდგენილი 52 თეორემიდან 38 თეორემა.
შეგვიძლია ვთქვთ, რომ ხელოვნური ინტელექტი დაიბადა 1955 წელს. მათი მიზანი იყო
ეჩვენებინათ, რომ კომპიუტერს შეუძლია უცნობ გარემოში იმოქმედოს ისევე, როგორც
მოქმედებს ადამიანი.
ამ მიზნით მათ შეარჩიეს სტუდენტები, რომლებსაც არ ჰქონდათ შესაბამისი
მომზადება ისეთ დარგში, როგორიცაა მათემატიკური ლოგიკა (მათ აინტერესებდათ
ადამიანის ქცევა უცხო გარემოს შემთხვევაში) და დაუსვეს მათ ამოცანა:
სტუდენტების მიზანი იყო დაემტკიცებინათ, წარმოადგენდა თუ არა მოცემული
გამოსახულება თეორემას. აშკარაა, რომ გამოსახულებები შეიძლება იყოს ძალიან ბევრი და
ისინი შეიძლება ადგენდნენ მიმდევრობათა ჯაჭვებს, როდესაც ერთი გამოსახულებიდან
გამოდის მეორე და ასე შემდეგ. თეორემის დამტკიცება მოცემული გამოსახულებისათვის
დაიყვანება იმ მიმდევრობის პოვნაზე, რომელიც გამომდინარეობს აქსიომებიდან (ან უკვე
დამტკიცებული თეორემებიდან) და მთავრდება დასამტკიცებელი გამოსახულებით. ამიტომ,
ალგორითმი, რომელიც სრული გარანტიით მოგვცემს საშუალებას ვიპოვოთ თეორემის
დამტკიცება თუკი ეს დამტკიცება არსებობს, მუშაობს შემდეგი პრინციპით: საწყისი
აქსიომებიდან და უკვე დამტკიცებული თეორემებიდან ააგებს ყველა შესაძლო
მიმდევრობებს სამი წესის გამიყენებით. ყოველ ნაბიჯზე შეამოწმებს, ხომ არ მიიღო უკვე
დასამტკიცებელი გამოსახულება. ასევე ყოველ ნაბიჯზე მოიშორებს დუბლიკატებს, ანუ
ისეთ გამოსახულებებს, რომლებიც უკვე აიგო ამ ან რომელიმე სხვა მიმდევრობაში. ადრე თუ
გვიან თეორიულად ალგორითმი აუცილებლად იპოვის სასურველი თეორემის დამტკიცებას,
რა თქმა უნდა, თუკი ის არსებობს. ალგორითმი იძლევა დამტკიცების პოვნის სრულ
გარანტიას, მაგრამ მისი ეფექტიანობა სერიოზულ ეჭვს იწვევს დროისა და მეხსიერების
თვალსაზრისით (ასეთი ალგორითმი ცნობილია ბრიტანეთის მუზეუმის ალგორითმის
სახელით).
( p q ) p
LG –თვის გარდა ხუთი აქსიომისა ცნობილია აგრეთვე ორი თეორემა:
A ( A B ) (1)
( A B ) ( A B ) (2)
-9-
იმისთვის რომ LG დაამტკიცოს, რომ მოცემული გამოსახულება თეორემაა იქცევა ასე:
პირველ თეორემაში A –ს მაგივრად ჩასვავს p -ს, ხოლო B –ს მაგივრად q -ს. მიიღებს
გამოსახულებას p ( p q ) (3)
შემდეგ (2)–ში ჩასვავს A –ს მაგივრად p -ს და B –ს მაგივრად ( p q ) –ს. მიიღებს
გამოსახულებას [ p ( p q )] [ ( p q ) q ]
გამოიყენებს რა გამოყოფის წესს, მიიღებს, რომ გამოსახულება
( p q ) q თეორემაა.
მარტო ეს მეთოდები არ იქნებოდა საკმარისი LG–ს წარმატებული მუშაობისათვის, მას
რომ არ გააჩნდეს მსგავსებაზე შედარებისა და გამოცდის პროცედურები. მსგავსებაზე
შედარების პროცედურის მიზანია აღმოაჩინოს ის თეორემები თუ აქსიომები, რომლებიც
ყველაზე ეფექტურად შეიძლება გამოვიყენოთ მოცემული თეორემის დასამტკიცებლად. ეს
პროცედურა მდგომარეობს შემდეგში:
თუ მოცემულია გამოსახულება p ( q p ) , LG ადარებს მას p ( q p ) აქსიომას
და სწრაფად აღმოაჩენს, რომ აქსიომაში უნდა შეიცვალოს კავშირი კავშირზე . მოახდენს
რა ამ შეცვლას, მიიღებს p ( q p ) შემდეგ შეცვლის q -ს q -თი და მიიღებს
გამოსახულებას p ( q p ) .
შედარების პროცედურა ძალიან ეფექტურია და საშუალებას გვაძლევს შევამციროთ
ქვეამოცანების ძებნის პროცესი. ამ პროცედურის ეფექტურობა აიხსნება იმით, რომ შედარება
ხდება კომპონენტების მიხედვით და უკუკავშირის საშუალებით შედეგები შეიძლება
გამოყენებული იქნას შემდეგი ბიჯის სამართავად. შედარების პროცედურა გამოიყენება
ყველა მეთოდში, მაგრამ მისი ეფექტურობისთვის საჭიროა ჯერ ვიპოვოთ სწორი თეორემა ან
აქსიომა, რომელსაც შევადარებთ გამოსახულებას. ამ მიზნისთვის LG–ს გააჩნია მსგავსებაზე
გამოცდის პროცედურა, რომლის თანახმადაც, LG ორ ლოგიკურ გამოსახულებას თვლის
მსგავსად, თუ მარცხენა და მარჯვენა ნაწილებში თანაბარია:
1. დონეთა მაქსიმალური რაოდენობა მთავარი კავშირიდან ნებისმიერ ცვლადამდე;
2. განსხვავებულ ცვლადთა რაოდენობა;
3. ცვლადების საერთო რაოდენობა გამოსახულებაში.
LG-ს ყველა ოთხივე მეთოდის სამართავად გააჩნია მმართველი პროგრამა, რომელიც
თავისი არსით არის ალგორითმული, და მდგომარეობს შემდეგში. მეთოდების გამოყენება
ხდება მკაცრად განსაზღვრული მიმდევრობით. პირველად გამოიყენება ჩასმის მეთოდი,
შემდეგ გამოყოფის მეთოდი, მერე პირდაპირი ჯაჭვწარმოქმნის მეთოდი და ბოლოს
უკუჯაჭვწარმოქმნის მეთოდი. ამ გზით LG ცდილობს გამოიმუშაოს ახალი ქვეამოცანა,
რომელსაც დაამტკიცებს ჩასმის მეთოდით. თუ ეს შეუძლებელია, ქვეამოცანა შეიტანება
ქვეამოცანათა სიაში. თუ დამტკიცდება თუნდაც ერთი ქვეამოცანა ჩასმის მეთოდით, ცხადია
ამით დამტკიცებული იქნება საწყისი თეორემაც. თუ ვერ მოხერხდა საწყისი თეორემის
დამტკიცება ვერცერთი მეთოდის გამოყენებით, მაშინ ამოირჩევა ახალი ქვეამოცანა
ქვეამოცანათა სიიდან და მისთვის ყველაფერი მეორდება ახლიდან.
პროცესი დამთავრდება თუ ნაპონი იქნება დამტკიცება, ან როდესაც კომპიუტერს აღარ
ეყოფა მეხსიერება. პროცესი შეიძლება შეწყდეს მაშინაც, როდესაც ამოიწურება დრო,
რომელიც ამ თეორემის დასამტკიცებლად იყო გამოყოფილი.
ამგვარად, თეორემის დამტკიცებისას LG წარმოქმნის ქვეამოცანათა გარკვეულ ხეს,
რომლის საშუალებითაც ის ცდილობს დასამტკიცებელი გამოსახულებიდან მიაღწიოს
აქსიომებს და უკვე დამტკიცებულ თეორემებს. მიუხედავად იმისა, რომ იმ ქვეამოცანათა
სიმრავლე, რომელსაც გამოიმუშავებს LG გაცილებით მცირეა, ვიდრე ის სიმრავლე,
რომელსაც ააგებდა ბრიტანეთის მუზეუმის ალგორითმი, არსებობს ამოცანები, რომელთა
გადაწყვეტა არ შეუძლია არც LG. ავტორთა აზრით, ეს იმიტომ ხდება, რომ მმართველი
პროგრამა არის ალგორითმული სახის, რაც იძლევა იმის გარანტიას, რომ თუკი რაიმე
- 10 -
ქვეამოცანა შეიძლება მიღებული იქნას გამოყოფის და ჯაჭვწარმოქმნის მეთოდებით, ის
აუცილებლად იქნება აგებული (თუნდაც არ არსებობდეს მისი საჭიროება. გარდა ამისა,
ყველა ეს ქვეამოცანა განიხილება იმ თანმიმდევრობით, რომლითაც ისინი წარმოიშვნენ, რაც
აგრეთვე დიდ გავლენას ახდენს დამტკიცების პროცესსზე. ასეთი მმართველი პროგრამის
გამო და იმის გამო რომ მეთოდები დიდი რაოდენობით გამოიმუშავებენ ქვეამოცანებს,
ყოველ ბიჯზე ქვეამოცანათა ხე იზრდება ექსპონენციალურად. ეს კი იწვევს იმას, რომ თუ
დამტკიცება შეიცავს რამდენიმე ბიჯს (სამზე მეტს) LG ეფექტიანობა ძალიან მცირეა.
მაგალითად, მან შეძლო დაემტკიცებინა მხოლოდ ერთი ოთხბიჯიანი თეორემა.
სინამდვილეში მთავარი მიზეზი, რატომაც არ შეუძლია LG-ს რთული ამოცანების ამოხსნა
სხვაა და ჩვენ მას შემდეგ განვიხილავთ. პროგრამა გამოქვეყნდა 1956 წელს და გამოიწვია
დიდი დაინტერესება. ეს იყო პირველი პროგრამა, რომელიც მიეკუთვნებოდა მეცნიერების
ახალ დარგს - ხელივნურ ინტელექტუალურ სისტემებს. ის ახდენდა ადამიანის აზროვნების
მოდელირებას ინფორმაციული პროცესების დონეზე. აღსანიშნავია ისიც, რომ ეს იყო ასევე
პირველი პროგრამა, რომელსაც შეეძლო ოპერირება არა მარტო რიცხვებზე, არამდ
სიმბოლოებზე.
1.4 ხელოვნური ინტელექტუალური სისტემების განვითარება.ძალიან მალე გაჩნდა კიდევ
სხვა პროგრამები, რომლებიც ცდილობდნენ ამოეხსნათ სხვადასხვა ტიპის ამოცანები
ანალოგიური მიდგომით. კერძოდ, შეიქმნა პროგრამა, რომელიც ხსნიდა გეომეტრიულ
ამოცანებს სასკოლო კურსიდან; პროგრამა, რომელიც სიმბოლურ დონეზე ხსნიდა
ინტეგრალურ განტოლებებს; პროგრამა, რომელიც ახდენდა ამწყობი კონვეირის მუშაობის
ბალანსირებას და სხვა. ყველა ამ ტიპის პროგრამისთვის დამახასიათებელი იყო ისეთი
პროცედურების გამოყენება, რომლებსაც უწოდებნენ ევრისტიკებს (ამ ცნების ზუსტ
განმარტებას ჩვენ შემდეგ ვნახავთ) და რომლებიც გამომდინარეობენ არა ამოცანის
პირობებიდან, არამედ ეფუძნებიან ბუნებრივი ინტელექტის ზოგად მოსაზრებებს ან/და
გამოცდილებას ასეთი ამოცანების ამოხსნის დროს. ამიტომ ხელოვნური ინტელექტის ამ
მიმართულებას ეწოდა ევრისტიკული პროგრამირება.
ინტელექტუალური სიტემები არ შემოიფარგლება მხოლოდ ევრისტიკული
პროგრამირებით. როგორც აღვნიშნეთ, Nჯერ კიდევ ორმოციან წლებში, უ. მაკ–კალოკმა და უ.
პიტსმა გამოაქვეყნეს სტატია, რომელშიც მათ შემოგვთავაზეს ადამიანის ნეირონული
სისტემის ძირითადი ელემენტის – ნეირონის მოდელი. იმ ინფორმაციისსაფუძველზე, რაც
მეცნიერებას გააჩნია ნეირონის აგებულებისა და ფუნქციონირების შესახებ, მათ დაასკვნეს,
რომ ნეირონი ეს არის ელემენტი მრავალი შესასვლელითა და ერთი გამოსასვლელით.
შესასვლელები შეიძლება იყოს ორმდგომარეობაში, აღგზნებული ან მოსვენებული. იმის და
მიხედვით რამდენი შესასვლელია აგზნებული და როგორია ნეირონის აგზნების ზღურბლი,
ნეირონის გამოსასვლელზე ან გვექნება სიგნალი (ნეირონი აღიგზნება) ან სიგნალი არ
გვექნება (ნეირონი არ აღიგზნება).უ. მაკ-კალოკმა და უ. პიტსმა შექმნეს ასეთი ელემენტის
ტექნიკური მოდელი, რომელსაც უწოდეს ხელოვნური ნეირონი და დაამტკიცეს, რომ ასეთი
ხელოვნური ნეირონებისაგან შეიძლება შეიქმნას ქსელი, რომელშიც ნეირონები იმყოფებიან
“ჩართულ” ან “გამორთულ” მდგომარეობაში. გადასვლა “ჩართულ” მდგომარეობაში ხდება
მეზობელი ნეირონების სტიმულაციის შედეგად. ასეთი ნეირონული ქსელების საშუალებით
შეიძლება გამოვთვალოთ ნებისმიერი გამოთვლადი ფუნქცია და ამასთანავე მარტივი
ნეირონული ქსელებით მოვახდინოთ ნებისმიერი ლოგიკური კავშირის (“არა”, “ან”, “და” და
ასე შემდეგ) რეალიზაცია. გარდა ამისა, მათ გამოთქვეს მოსაზრება, რომ ასეთ ლოგიკურ
ქსელებს უნდა გააჩნდეთ დასწავლის უნარი.
ეს მოსაზრება 1957 წელს დაადასტურა ფ. როზენბლატმა, რომელმაც გამოაქვეყნა
ასეთი ხელოვნური ნეირონების საშუალებით შექმნილი ქსელის-პერცეპტრონის (აღმქმელი
მოწყობილობა) აღწერა, რომელსაც შეუძლია შეასრულოს უფრო მეტი, ვიდრე ესაა
- 11 -
ლოგიკური გამოთვლები, კერძოდ პერცეპტრონს შეუძლია მაგალითად დაისწავლოს და
შემდეგ ამ დასწავლის საფუძველზე გაარჩიოს ერთმანეთისგან ორგანზომილებიანი
ფიგურები, რომლებიც მიეკუთვნებიან ობიექტთა სხვადასხვა კლასებს.
ფ. როზენბლატის უმარტივესი სამშრიანი (დღევანდელი შეხედულებების თანახმად
ერთშრიანი) პერცეპტრონი შედგება გამოსახულების აღმქმელი ნეირონების პირველი (S)
შრისაგან, რომელზეც ხდება გამოსახულების პროეცირება. თუ ნეირონზე მოხვდება
გამოსახულების რაიმე ნაწილი, ნეირონი აღიგზნება და გამოსასვლეზე გვექნება სიგნალი (1),
თუ არა (ნეირონი მოსვენებულ მდგომარეობაშია) და გამოსასვლელზე სიგნალი არა გვაქვს
(0). გამოსახულების აღმქმელი შრე დაკავშირებულია ასოციაციური ნეირონების (A) შრესთან
ნებისმიერად (მაგალითად, ყველა ყველასთან). ამ შრის ნეირონებს გააჩნიათ გარკვეული
ზღურბლი და თუ შემოსული სიგნალების ჯამი გადააჭარბებს ამ ზღურბლს,
გამოსასვლელზე გვექნება სიგნალი, რომელიც (r) რეგულატორების საშუალებით შეიძლება
გავაძლიეროთ ან შევასუსტოთ. მესამე შრე შედგება ერთი ნეირონისაგან, რომელიც
წარმოადგენს სუმატორს გარკვეული ზღურბლით და ერთი გამოსასვლელით, რომელზედაც
შეიძლება გვქონდეს სიგნალი (1), ან არ გვქონდეს სიგნალი (0).
A r
სურ.1.2.როზენბლატისსამშრიანიპერცეპტრონი.
- 12 -
ხელოვნური ინტელექტის განვითარებაში გხვდება როგორც აღმავლობის, ასევე
დაცემის პერიოდები. პირველი ასეთი პერიოდი დაიწყო გასული საუკუნის 70 წლებში,
რომლის მიზეზიც იყო 1969 წელს მ. მინსკისა და ს. პაიპერტის გამოაქვეყნებული წიგნი,
რომელშიც ავტორება აჩვენეს, რომ პერცეპტრონს, რომელიც წარმოადგენს ნეირონული
ქსელის უმარტივეს ად შეუძლია დაისწავლოს ყველაფერი, რაც შეიძლება წარმოდგენილი
იქნას პერცეპტრონში, მაგრამ პრობლემა მდგომარეობს სწორედ იმაში, რომ ძალიან ბევრი,
საინტერესო სტრუქტურების წარმოდგენა პერცეპტრონში შეუძლებელია. მაგალითად,
ერთშრიანი პერცეპტრონი ვერასოდეს შეძლებს „გამომრიცხავი ან“ ოპერაციის დასწავლას.
ამის შედეგად ერთ ხანს შეწყდა სამუშაოები ამ მიმართულებით, მხოლოდ ოთხმოციან
წლებში ჰოპფილდისა და დ. რუმელჰარტის შრომების შემდეგ დაიწყო ნეირონული
ქსელების ხელახალი განვითარება და მიღებული იქნა ახალი შედეგები. რომლებიც უკვე
დიდი ხანია გამოიყენება პრაქტიკაში.
ასეთი პერიოდები ხშირი იყო ხელოვნური ინტელექტის განვითარებაში,
განსაკუთრებით დიდი პრობლემებია ბუნებრივი ენის სემანტიკის გაგებაში ხელოვნური
ინტელექტუალუი სისტემის მიერ და აქედან გამომდინარე, ხელოვნური ინტელექტუალური
სისტემის მიერ ერთი ენიდან მეორეზე თარგმანის შესრულებაში.
1.5. განვითარების რა დონეს შეიძლება მიაღწიოს ხლოვნურმა ინტელექტმა? ჩვენ ძალიან
მოკლედ განვიხილეთ ხელოვნური ინტელექტუალური სისტემის ორი მიმართულება,
მაგრამ ინტელექტუალური სისტემების თეორიაში არსებობს კიდევ სხვა მიმართულებები,
რომელთა განვითარებაც ასევე აუცილებელია მთლიანად ინტელექტუალური სისტემების
განვითარებისთვის. ყველა ამ მიმართულებების განხილვას ჩვენ ვერ მოვასწრებთ არა თუ ამ
ლექციაში, არამედ ლექციათა მთელ კურსშიც. ამიტომ ლექციის დასასრულს მოკლედ
განვიხილავთ ერთ პრობლემას, რომელიც აწუხებს ყველას, ვინც კარგადაა გარკვეული
როგორ ვითარდება ხელოვნური ინტელექტუალური სისტემები და მათაც, ვინც არ იცნობს
მეცნიერების ამ დარგს. ესაა მარტივი კითხვა: განვითარების რა დონეს შეიძლება მიაღწიოს
ხელოვნურმა ინტელექტუალურმა სისტემამ? შეიძლება თუ არა, რომ ხელოვნური
ინტელექტუალურისისტემის ინტლექტმა გადააჭარბოს ადამიანისას? კითხვა მარტივია,
მაგრამ პასუხი ძალიან ძნელია. დღეისთვის პასუხი ამ კითხებზე ფაქტობრივად არ არსებობს.
მოვიყვანოთ მხოლოდ ორი შესაძლო პასუხი. ერთი მათგანი დადებითად პასუხობს ამ
კითხვას, მეორე კი უარყოფითად. რომელი იქნება თქვენთვის უფრო მისაღები, ეს
დამოკიდებულია თქვენზე.
ყველა იმ თვისებების და პარამეტრის ჩამოთვლა, რომლებსაც უნდა აკმაყოფილებდეს
ხელოვნური ინტელექტუალური სისტემა, რათა მისი ქცევა შეფასდეს როგორც აზროვნება,
ალბათ ძალიან ძნელია. 1948 წელს ინგლისელმა მეცნიერმა ა. ტიურინგმა, რომელიც როგორც
უკვე აღვნიშნეთ, თვითონ იდგა კომპიუტერების შექმნის სათავეებთან, სტატიაში
“ინტელექტუალური მანქანები”, შემოგვთავაზა “მარტივი” ტესტი კომპიუტერის
ინტელექტუალურობის დასადგენად. ტესტი მდგომარეობს შემდეგში: მოვათავსოთ ერთ
ოთახში ადამიანი, მეორეში მანქანა და მესამეში გამომცდელი. მათ შორის ვიზუალური
კავშირი არ არსებობს და გამომცდელმა არ იცის, რომელ ოთახში ზის ადამიანი და რომელ
ოთახში დგას მანქანა. ისინი დაკავშირებულნი არიან ერთმანეთთან ისე, რომ გამომცდელს
შეუძლია გაცვალოს ინფორმაცია ადამიანთან და მანქანასთან მხოლოდ წერილობით. თუ
გამომცდელი თავის მიერ დასმულ შეკითხვებზე მიღებული პასუხების მიხედვით ვერ
შეძლებს გაარჩიოს რომელ ოთახში ზის ადამიანი, ხოლო რომელში დგას მანქანა, მაშინ
მანქანა შეიძლება ჩაითვალოს ინტელექტუალურ სისტემად, წინააღმდეგ შემთხვევაში კი არა.
ა. ტიურინგმა ამავე სტატიაში ჩამოთვალა თუ რა შეასძლებლობები უნდა გააჩნდეს
ინტელექტუალურ სისტემას, რომ ადამიანის თანაბრად შეძლოს ამ კონკურსში მონაწილეობა:
- 13 -
შეეძლოს ტექსტების დამუშავება ბუნებრივ ენაზე, რაც მისცემს მას საშუალებას
ესაუბროს გამომცდელს რომელიმე ბუნებრივ ენაზე;
გააჩნდეს ცოდნის წარმოდგენის საშუალებები, რათა შეძლოს გაიგოს რას ეკითხება
გამომცდელი;
ჰქონდეს ლოგიკური დასკვნების გამოტანის უნარი, რათა შეძლოს მეხსიერებაში
შენახული ცოდნის და მიღებული ინფორმაციის საფუძველზე გამოიტანოს დასკვნები
და უპასუხოს დასმულ შეკითხვას;
ფლობდეს მანქანური დასწავლის საშუალებებს, რომ შეეძლოს აღმოაჩინოს უკვე
ნაცნობი სიტუაციები და აგრეთვე გაერკვეს ახალ სიტუაციებში და მოახდინოს მათზე
რეაგირება.
ესაა ტიურინგის არასრული ტესტი. სრული ტესტის შემთხვევაში გამომცდელს გააჩნია
აგრეთვე ვიდეოკავშირი, რომლის საშუალებითაც მას შეუძლია შეამოწმოს ობიექტის მიერ (ისე,
რომ ვერ ხედავდეს თვით ობიექტს) გარე სამყაროს აღქმისა და მასში მოქმედების უნარი. ასეთ
შემთხვევაში მანქანას დამატებით უნდა შეეძლოს:
ობიექტების აღქმა, ანუ უნდა ჰქონდეს გრძნობის სხვადასხვა ორგანოები (შეძლება
ადამიანზე მეტიც), რათა შეძლოს გარემოდან მიიღოს მისთვის საჭირო ინფორმაცია.
გააჩნდეს ისეთი ტექნიკური საშუალებები, რომ შეძლოს სივრცეში გადაადგილება და
გარემოზე ზემოქმედება.
ესაა არგუმენტი იმათვის ვისაც სჯერა, რომ ხელოვნურმა ინტელექტმა შეიძლება
მიაღწიოს ბუნებრივი (ადამიანური) ინტელექტის დონეს, ან გადააჭარბოს კიდეც მას. ეხლა
მოვისმინოთ მოწინააღმდეგეთა არგუმენტიც.
1980 წელს ჯონ სერლიმ გამოაქვეყნა ეგრეთ წოდებული „ჩინური ოთახის“
ექსპერიმენტი. წარმოვიდგინოთ იზოლირებული ოთახი, რომელშიც იმყოფება ჯ. სერლი,
რომელმაც არ იცის არცერთი ჩინური იეროგლიფი, მაგრამ მას აქვს ზუსტი ინსტრუქცია იმის
შესახებ თუ როგორ უნდა იმოქმედოს კონკრეტულ სიტუაციაში. მაგალითად, მითითებულია
თუ რომელი კალათიდან რომელი იეროგლიფი უნდა ამოიღოს და როგორ განათავსოს
საჭირო ადგილას, თუმცა მას არ ესმის იეროგლიფების მნიშვნელობა. ოთახის გარეთ
იმყოფება დამკვირვებელი, რომელიც ფლობს ჩინურს და პატარა ნახვრეტიდან აწვდის
იეროგლიფებს იმ მიმდევრობით, რომ ჩინური დამწერლობის მცოდნე გაიგებს შეკითხვას,
მაგალითად, „რომელია თქვენი საყვარელი ფერი?“ ინსტრუქცია, რომელიც გააჩნია სერლის
და რომელსაც ის ასრულებს, შედგენილია როგორც კომპიუტერის პროგრამა. ის შეარჩევს
პასუხს, მაგალითად „წითელი“ და მიუთითებს სერლის, თუ როგორ უნდა იმოქმედოს.
ცხადია, რომ ოთახის გარეთ მყოფი დამკვირვებელი ვერაფერს მიხვდება და ის ჩათვლის,
რომ პასუხი ეკუთვნის სერლის და რომ სერლი ფლობს ჩინურ ენას.
ჯ. სერლის ამ ექსპერიმენტის შედეგი გადააქვს სწორედ ხელოვნურ ინტელექტზე იმის
დასამტკიცებლად, რომ რაც არ უნდა რაციონალურად და ზუსტად მოქმედებდეს
ხელოვნური ინტელექტუალური სისტემა ის ვერასდროს შეძლებს იაზროვნოს ისევე,
როგორც აზროვნებს ადამიანი.
ცხადია, რომ არც ეს ექსპერიმენტი არაა აბსოლუტური ჭეშმარიტება. მასაც
გამოუჩნდნენ მოწინააღმდეგები და ასაბუთებენ, რომ ჯ. სერლი ცდება. ჩემი აზრით კი ეს
ექსპერიმენტები ასაბუთებენ, რომ ჯერ ადრეა ვამტკიცოთ, თუ რა შედეგებს მოგვიტანს
ხელოვნური ინტელექტის განვითარება.
სავარჯიშოები:
- 14 -
1.ჩამოაყალიბეთ რა წარმოადგენს ხელოვნური ინტელექტის შეისწავლის საგანს.
2.განმარტეთ, როგორაა დაკავშირებული ხელოვნური ინტელექტის წარმოშობა
კომპიუტერული ტექნიკის განვითარებასთან.
3.ჩამოთვალეთ რა ძირითად მიმართულებებს შეიცავს ხელოვნური ინტელექტი და
თქვენი აზრით, რომელია ყველაზე რთული და რატომ.
4. ხელოვნური ინტელექტის რომელ მიმართულებას ეკუთვნის პროგრამა LG და რით
განსხვავდება ისმანამდეარსებულიპროგრამებისაგან?
5. ჩამოაყალიბეთ რა შეისწავლეს უ. პიტსმა და უ. მაკ-კალოკმა და როგორ შეძლეს
ბიოლოგიური ნეირონის მოდელირება.
6. აღწერეთ, რაპრინციპიუდევსსაფუძვლად ფ.როზენბლატის მიერშექმნილ პერცეპტრონს.
7. რატომვერხერხდებაევრისტიკული პროგრამირების მეთოდებით რთული
ამოცანებისამოხსნა?
8.რას წარმოადგენს ხელოვნური ნეირონი და რა ფუნქციები
შეიძლებააღიწეროსმათისაშუალებით?
9.ადამიანური ინტელექტის რაკომპონენტი არარისგათვალისწინებული ევრისტიკულ
პროგრამირებაში?
10. როგორც ცნობილია, არსებობენ პრობლემები, რომელთა გადაჭრა კომპიუტერებს
ძალიან უჭირთ პრობლემები, რომელთა გადაჭრაც დღეს შეუძლებელია. ნიშნავს ეს იმას,
რომხელოვნური ინტელექტის შექმნა შეუძლებელია?
11. როგორც ვნახეთ, ლ. სერლი ამტკიცებს, რომ კომპიუტერს არ შეიძლება ჰქონდეს
ინტელქტი, რადგანაც ყველაფერი, რასაც ის აკეთებს, გათვალისწინებულია მის
პროგრამაში და ის ასრულებს ამ მითითებს. ჩნდება კითხვა, ყველაფერი, რასაც ასრულებს
ადამიანი გათვალისწინებულია ფიზიკისა და ბიოლოგიის კანონებით, რასაც ემორჩილება
ადამიანის სხეული, რომელიც შედგება ატომებისა და მოლეკულებისაგან. მაშინ გამოდის,
რომ არც ადამიანს არ შეიძლება ჰქონდეს ინტელექტი?
12. თქვენი აზრით, რა ქმედებების შეესრულება არ შეუძლია დღეს ხელოვნურ
ინტლექტუალურ სისტემას:
ა) მანქანის ტარება თბილისის ქუჩებში;
ბ) სუპერმარკეტში ერთი კვირის სამყოფი პროდუქტის შეძენა;
გ) რეალურ დროში სტატიის თარგმნა ქართულიდან ინგლისურ ენაზე;
დ) ახალი თეორემების დამტკიცება მათემატიკაში;
ე) სრული და კვალიფიციური იურიდიული კონსულტაციის გაწევა,
იმ ამოცანებისთვის, რომელთა შესრულება ხელოვნურ ინტელექტუალურ სისტემას დღეს
არ შეუძლია, ახსენით რა არ იცის ჯერ სისტემამ? რა უშლის ხელს?
- 15 -
ლექცია 2.
პრობლემის (ამოცანის) წარმოდგენა ქვეამოცანათა და მდგომარეობათა
სივრცეებში. ძებნის არაინფორმირებული ალგორითმები.
2.1. ინტელექტუალური აგენტის ცნება.აგენტის ცნება მოდის ლათინური სტყვიდან agere, რაც
ნიშნავს იმიქმედე. ანუ ყველაფერი რაც მოქმედებს შეიძლება იყოს აგენტი, მაგრამ
იგულისხმება, რომ ხელოვნური ინტელექტის მქონე აგენტები განსხვავებით ჩვეულებრივი
“პროგრამებისაგან” ფლობენ კიდევ რაღაც განსხვავებულ თვისებებს. კერძოდ, მათ შეუძლიათ
ფუნქციონირება ავტონომიურად, აქვთ გარემოს აღქმის უნარი, არსებობენ ხანგრძლივი
დროის განმავლობაში, ადაპტურები არიან გარემოს ცვლილებების მიმართ და რაც ყველაზე
უფრო მთავარია, შეუძლიათ თავის თავზე აიღონ სხვების მიერ დასმული მიზნების მიღწევა.
ვუწოდოთ ჩვენს აგენტს რაციონალური, თუ მას შეუძლია მიაღწიოს საუკეთესო შედეგებს
დეტერმინირებულ გარემოში, ან თუ გარემო არაა დეტერმინირებული – საუკეთესო
მოსალოდნელ შედეგებს. რაციონალურობის კონცეფცია თავისუფლად შეგვიძლია
გამოვიყენოთ ნებისმიერი აგენტის მიმართ, რომელიც მოქმედებს რაიმე გარემოში, რომლის
წარმოდგენაც კი ჩვენ შეგვიძლია.
2.2.ამოცანათ ტიპები.ცნება ამოცანა ხშირად გამოიყენება პრობლემის სინონიმად, თუმცა მათ
შორის არის გარკვეული განსხვავებაც. უფრო ხშირად, როდესაც ვხმარობთ სიტყვას
პრობლემა, წარმოგვიდგენია რაღაც სიტუაცია, რომელიც მოითხოვს ქმედებებს მის
შესაცვლელად, მაგრამ ჩვენ არ ვიცით თუ რა უნდა მოვიმოქმედოთ, რათა ეს პრობლემა
გადავჭრათ. პირიქითაა საქმე, როცა ვიყენებთ ტერმინს ამოცანა. “დღეს ბევრი ამოცანა მომცეს
სახლში დავალებად”. ჩვენ აქ ვიცით როგორაა ჩამოყალიბებული ამოცანა და ვიცით თუ
როგორი მეთოდებით უნდა ამოვხსნათ ის. თვით ამ სიტყვებშიც იგულისხმება გარკვეული
სხვაობა. ამოცანა უნდა ამოვხსნათ, პრობლემა კი უნდა გადავჭრათ.
2.3. ამოცანის წარმოდგენა ქვეამოცანათა სივრცეში.სინამდვილეში კი ეს ყოველთვის ასე არაა,
რადგანაც არსებობენ ამოცანები, რომელთა გადაჭრა ამოხსნის არსებული მეთოდებით
რეალურ დროში ყოველთვის არაა შესაძლებელი ან მოსახერხებელი. ამის მაგალითი ჩვენ
ვნახეთ პირველ ლექციაზე, როდესაც განვიხილეთ თეორემების დამტკიცების ბრიტანული
მუზეუმის ალგორითმი.
ზოგადად, როდესაცუცნობია ამოცანის ამოხსნის (ან პრობლემის გადაჭრის) ზუსტი
ალგორითმი, როგორც ეს იყო ლოგიკური თეორემების დამტკიცების შემთხვევაში, ჩვენ
შეგვიძლია დავაპროგრამოთ აგენტი ძებნაზე ისეთნაირად, რომ მან იპოვოს ამოხსნა შესაძლო
ამონახსნთა გადარჩევის გზით. ამისათვის აგენტმა უნდა იცოდეს მინიმუმ სამი რამე:
1. რას ეძებს (გააჩნდეს მიზანი, რომლის მიღწევაც ნიშნავს ამოცანის ამოხსნას):
2. სად ეძებს (გარემო, რომელშიც აგენტს უხდება მოქმედებათა შესრულება);
3. როგორ ეძებს (რა ქმედებების შესრულება შეუძლია მიზნის მისაღწევად).
ამ პირობების აღწერას ეწოდება ამოცანის წარმოდგენა. ამოცანის წარმოდგენა
შესაძლებელია ორი სხვადასხვა სახით:
1. ძირითადი ამოცანა დავყოთ უფრო პატარა ქვეამოცანებად, რომელთა ამოხსნაც
უფრო ადვილი იქნება, ვიდრე საწყისი ამოცანის ამოხსნა. ასეთ შემთხვევაში
ამოცანის ამოხსნა მიიღწევა ყველა იმ ქვეამოცანების ამოხსნის შემდეგად,
რომლებადაც დაიყოფა ამოცანა. ამ წარმოდგენას უწოდებენ ამოცანის წარმოდგენას
ქვეამოცანათა სივრცეში.
2. წარმოვადგინოთ ამოცანა მდგომარეობათა სივრცეში. ანუ განვიხილოთ ყველა
შესაძლო მდგომარეობები, რომლებიც კი შეიძლება შეგვექმნას ამოცანაში და
ვიმოძრაოთ ამ მდგომარეობებში ამოცანის დასაწყისიდან მის ამოხსნამდე.
16
განვიხილოთ თითოეული აღწერა უფრო დაწვრილებით. დავიწყოთ ამოცანის
წარმოდგენით ქვეამოცანათა სივრცში. აღვნიშნოთ საწყისი ამოცანა აღვნიშნოთ P ასოთი.
დავყოთ ეს ამოცანა რამდენიმე ერთმანეთისგან დამოუკიდებელ ქვეამოცანებად
p1 , p2 , ... pn . (ეს დაყოფა არაა აუცილებელი იყოს ერთადერთი).
განვიხილოთ თითოეული ქვეამოცანა ცალცალკე. თუ რომელიმე ამოცანის ამოხსნა
ვიცით, ან ის იხსნება ერთი ქმედებით, აღვნიშნოთ ის როგორც ამოხსნადი. თუ ის ის არ
ახსნება ერთი მოქმედებით, მაშინ დავშალოთის კიდევ უფრო პატარა ქვეამოცანებად და
თუ ის არ იშლება უფრო პატარა ქვეამოცანებად აღვნიშნოთ ის როგორც ამოუხსნადი
ამოცანა (იხ. სურ.2.1). სურათზე განხილულია „და“ ტიპის მარტივი გრაფი, რომელიც არ
შეესაბამება ამოცანის სრულ დაშლას. ამოცანა იქნება სრულად დაშლილი, როდესაც ყველა
დამამთავრებელი წვერო შეესაბამება მარტივ ამოცანას, რომელიც იხსნება ერთი ქმედებით
ან წვეროს, რომელიც შეესაბამება ამოუხსნად ამოცანას. საწყისი ამოცანა ჩვენ შეგვეძლო
დაგვეშალა სულ სხვა ქვეამოცანებადაც, რაც მოგვცემდა სხვა გრაფს. ამგვარად, გამოდის
რომ, სინამდვილეში ამოცანის გრაფი წარმოადგენს „და/ან“ ტიპის გრაფს. ამოცანის
ამონახსნი კი იქნება და ტიპის ქვეგრაფი, რომლის ყველა დამამთავრებელი წვეროები
შეესაბამება ერთი ქმედებით ამოხსნად
5 3 4 12 1 2 3 4
1 6 10 13 5 6 7 8
9 11 14 15 9 10 11 12
2 7 8 13 14 15
5 3 4 12 1 2 3 4
1 6 10 13 5 6 7 8
9 11 14 15 9 10 11 12
2 7 8 13 14 15
ა) პირველიქვეამოცანა
1 2 3 4 1 2 3 4
5 6 7 8 5 6 7 8
9 10 11 12 9 10 11 12
13 14 15 13 14 15
ბ) მეორექვეამოცანა
ჩვენ შეგვეძლო გაგვეყო საწყისი ამოცანა არა ორ, არამედ სამ, ან უფრო მეტ პატარა
ამოცანად.თუ დავუკვირდებით, ამოცანის ასეთი აღწერის
შემთხვევაშიამოცანისამოხსნისძებნამოგვიწევსდა/ანტიპისგრაფზე,რაც
მოითხოვსშემოწმდესთითოეულიწვეროსამოხსნადობა.
ამოცანის წარმოდგენას ქვეამოცანათა სივრცეში აქვს თავისი უპირატესობები,
რომელთაგან ერთერთი ყველაზე მნიშვნელოვანია ის რომ გრაფი, რომელზედაც გვიხდება
ძებნა არაა დიდი. მაგრამ თუ ქვეამოცანა არ იხსნება ერთი ქმედებით, ან არ არსებობს მისი
ამოხსნის მარტივი გზა, საჭიროა გამოვიყენოთ ქმედებათა დაგეგმვის ალგორითმები,
რომლებიც საშუალებას მოგვცემენ გავექცეთ ისეთ შემთხვევებს, როდესაც ამოცანის
დაყოფა მიგვიყვანს ისეთ ჩიხში, და როდესაც რომელიმე ქვეამოცანას არ ექნება ამოხსნა.
18
ამისათვის აუცილებელია, რომ მოვახდინოთ ქვეამოცანათა რანჟირება სირთულის
მიხედვით, რათა არ მოვხვდეთ ისეთ სიტუაციაში, როდესაც ქვეამოცანის სირთულე უფრო
მეტი იქნება, ვიდრე იმ ამოცანის, რომელიც დავყავით ქვეამოცანებად. რთული ამოცანების
შემთხვევაში კი ეს წარმოადგენს ძალიან დიდ პრობლემას.
2.3. ამოცანის წარმოდგენა მდგომარეობათა სივრცეში.როგორ შეიძლება წარმოვადგინოთ
ზემოთმოყვანილი ამოცანა მდგომარეობათა სივრცეში?პირველ რიგში უნდა მოვახდინოთ
ყველა შესაძლო მდგომარეობების აღწერა (რომელთა რაოდენობაც ზოგჯერ პატარა
ამოცანებისთვისაც კი იმდენად დიდია, რომ არაეფექტური იქნებოდა მათი შეტანა
კომპიუტერში ჩამოთვლის გზით). მდგომარეობათა აღწერამ უნდა განსაზღვროს
თითოეული ფიშკის და ცარიელი ადგილის მდგომარეობა მოცემულ თექვსმეტ კვადრატზე.
ეს ძალიან ადვილი მისაღწევია 4 4 მატრიცის საშუალებით, სადაც თითოეული ელემენტი
ღებულობს მნიშვნელობებს ნულიდან ხუთმეტის ჩათვლით, იმ პირობით, რომ ყველა
ელემენტი ღებულობს განსხვავებულ მნიშვნელობებს,
a1 ,1 a1 ,2 a1 ,3 a1 ,4
a 2 ,1 a 2 ,2 a 2 ,3 a 2 ,4
a 3 ,1 a 3 ,2 a 3 ,3 a 3 ,4
a 4 ,1 a4 ,2 a4 ,3 a4 ,4
21
2..7. ძებნა გრაფზე.წინა ლექციაზე ჩვენ განვიხილეთ, თუ როგორ შეიძლება წარმოვადგონოთ
ამოცანა მდგომარეობათა სივრცეში ხუთი პარამეტრის საშუალებით და აღვნიშნეთ, რომ
ძებნის პროცესის წარმოსადგენად ყველაზე მოსახერხებელი ფორმაა გრაფი, რომელზეც
კვანძი (node) შეესაბამება მდგომარეობას, ხოლო რკალი კი ქმედებას. მაგალითისთვის კვლავ
განვიხილოთ „ხუთმეტის“ თამაში. თუ ჩვენ ამოცანის ამოხსნას დავიწყებთ საწყისი
მდგომარეობიდან, მაშინ შესაძლებელია სამი სვლის გაკეთება და შესაბამისად მივიღებთ სამ
ახალ კვანძს (იხ.სურ. 3.1). ეს პროცესი შესაძლებელია აღვწეროთ გრაფის საშუალებით
(როგორც ეს ნაჩვენებია სურ. 3.1). თუ გავაგრძელებთ ყველა შესაძლო სვლების შესრულებას
მოცემული მდგომარეობებიდან მივიღებთ თამაშის სრულ გრაფს მოცემული საწყისი
მდგომარეობისათვის.
5 3 4 12
1 6 10 13
9 11 14 15
2 7 8
5 3 4 12 5 3 4 12
1 6 10 13 1 6 10 13
9 11 14 15 9 11 14
2 7 8 2 7 8 15
22
ეს ინფორმაცია აადვილებს როგორც ძებნის პროცესს, ასევე ამონახსნის გამოტანას.
ამგვარად გავრჩიოთ ერთმანეთისგან მდგომარეობა, რომელიც აღიწერება ამოცანის
პირობიდან გამომდინარე და გრაფის კვანძი (node), რომელიც შეესაბამება ამ მდგომარეობას
და დამატებით შეიცავს ზემოთღწერილ ინფორმაციას.
2.8. გრაფის ხედ გადაქცევის პროცედურა.გრაფების ერთერთ ზოგად თვისებას, რომელიც
არსებითად ართულებს ძებნის პროცესს, მდგომარეობს იმაში, რომ გრაფზე კვანძს შეიძლება
ჰყავდეს რამდენიმე მშობელი კვანძი, ანუ მოცემულ მდგომარეობაში შეიძლება გადავიდეთ
სხვადასხვა გზებით. ასეთ შემთხვევაში საჭირო ხდება ოპტიმალური გზის ამორჩევა. მაგრამ
ეს არაა მთავარი სირთულე, სხვადასხვა გზებმა შეიძლება წარმოშვან მარყუჟები და
ციკლები. ასეთ დროს ალგორითმი შეიძლება ჩაიციკლოს და ვერ იპოვოს ამონახსნი მაშინაც
კი, როდესაც მდგომაროებათა სივრცე სასრულია. ამ პრობლემის თავიდან ასაცილებლად
ძებნის ალგორითმებში, გათვალისწინებულია სპეციალური პროცედურა, რომელიც ძებნის
გრაფს გადააქცევს ხედ, ანუ გრაფად, რომელშიც ყველა კვანძს შეიძლება ჰყავდეს მხოლოდ
ერთი მშობელი კვანძი.
იმისათვის, რომ გრაფი გადააქციოს ხედ, აგენტი იმახსოვრებს ყველა კვანძს რომელიც
წარმოიშვება ძებნის პროცესში. ამასთან კვანძებს, რომელთა შვილობილი კვანძები ჯერ არ
აუგია, ანუ კვანძი ჯერ არ გაუხსნია, იმახსოვრებს ცალკე სიაში, რომელსაც უწოდებენ სიას
“ღიაა” (“list open”), ხოლო იმ კვანძებს რომელთა შვილობილი კვანძებიც უკვე ააგო, მეორე
სიაში, რომელსაც უწოდებენ “დახურულია” (“list closed”). მუშაობის პროცესში, ყოველი ახალი
კვანძის აგების შემდეგ, ალგორითმი ადარებს ამ კვანძს იმ კვანძებთან, რომლებიც
მოთავსებულია ორივე სიაში. თუ ასეთი კვანძი არ არის არც ერთ სიაში, ალგორითმი მას
შეიტანს სიაში ღიაა. თუ ალგორითმი აღმოაჩენს კვანძს რომელიმე სიაში, მისი შემდეგი
ქმედება დამოკიდებულია ალგორითმის მოქმედების სტრატეგიაზე და აუცილებლად
წინასწარ უნდა იყოს განსაზღვრული ალგორითმში. ყველა შემთხვევაში შედეგი იქნება ის,
რომ ჩვენ მივიღებთ ძებნის ხეს და არა გრაფს.
ასეთი სიების შემოტანა ფაქტობრივად იძლევა იმის საშუალებას, რომ ძებნის
ალგორითმმა იმუშაოს კვანძებისგან შედგენილ სიებთან, ანუ კვანძების რიგთან. ოპერაციები,
რომლებიც შეიძლება დასჭირდეს ალგორითმს კვანძების რიგებთან სამუშაოდ შემდეგია:
Make-Queue (element,…) – რიგის შექმნა მოცემული ელემენტებით;
Empty? (queue) – გამოიტანს მნიშვნელობას „ჭეშმარიტია“, მხოლოდ მაშინ, როდესაც რიგში
აღარ არის ელემენტები;
First (queue) – გამოიტანს რიგის პირველ ელემენტს;
Remove – First (queue) – ამოიღებს ელემენტ First-ს რიგიდან და გამოიტანს;
Insert (element, queue) – ჩასვავს ელემენტს რიგში და გამოაქვს მიღებული რიგი;
Insert All (elements, queue) - ჩასვავს ყველა ელემენტს რიგში და გამოაქვს მიღებული რიგი;
Goal-Test procedure - პროცედურა, რომელიც ადარებს მოცემულ კვანძს მიზნის კვანძთან ან
მიზნის აღწერასთან.
2.10. განივი, ანუ სრული გადარჩევის ალგორითმი.ძებნის ალგორითმების განხილვას
დავიწყებთ ალგორითმებიდან, რომლებიც მიზნის მოსაძებნად იყენებენ მხოლოდ იმ
ინფორმაციას რომელიც შედის ამოცანის ფორმალურ აღწერაში და არ გააჩნიათ არავითარი
დამატებითი ინფორმაცია მდგომარეობების შესახებ. ასეთ ალგორითმებს უწოდებენ ძებნის
არაინფორმირებულ (ზოგჯერ ბრმად ძებნის) ალგორითმებს. ძებნის ამოცანების
მნიშვნელოვანი პარამეტრებია საწყისი მდგომარეობიდან მიზნის მდგომარეობამდე გზის
ფასი, რომელიც წარმოადგენს ამოცანის ამოხსნის გზაზე მდგომი ყველა მეზობელ წვეროებს
შორის გადასვლათა ფასების ჯამს და ამონახსნის სიღრმე, საწყისი მდგომარეობიდან მიზნის
მდგომარეობამდე სიღრმეში გადასვლათა რიცხვი.
23
დავიწყოთ ყველაზე მარტივი, განივი ანუ სრული გადარჩევის ალგორითმით.
ნებისმიერი ამოცანისთვის, თუ ჩვენ ვიცით შესაძლო ამონახსნთა სიმრავლე, თეორიულად
ყოველთვის შეგვიძლია გამოვიყენოთ ალგორითმი, რომელიც გადაარჩევს ყველა შესაძლო
ამონახსნებს და იპოვის სწორ პასუხს. ამ ალგორითმს უწოდებენ სრული გადარჩევის (ან
ზოგჯერ განივი გადარჩევის) ალგორითმს. მოვიყვანოთ ამ ალგორითმის აღწერა (იხ. სურ.
2.5):
იმისთვის რომ ალგორითმმა მიიღოს სრულყოფილი სახე და აგენტმა შეძლოს მისი
გამოყენება, საჭიროა მასში შევიტანოთ ზემოთაღწერილი ოპერაციები, რომლებიც
საშუალებას იძლევიან ვიმოქმედოთ კვანძებთან. ახლა კი ვნახოთ როგორ მუშაობს ეს
ალგორითმი. განვიხილოთ მისი მუშაობა წინა ლექციაზე აღწერილი რვიანის თამაშის
მაგალითზე. პირველ ნაბიჯზე, საწყისი მდგომარეობა (კვანძი) შევა სიაში “list open”. Goal-Test
ოპერაციის გამოყენება არ მოგვცემს შედეგს, რადგანაც საწყისი მდგომარეობა არ ემთხვევა
მიზნის მდგომარეობას, ამიტომ ალგორითმი გადაიტანს საწყის კვანძს სიაში “list closed” და
გამოიყენებს რა სამ დასაშვებ ოპერატორს მიიღებს სამ შვილობილ კვანძს (სურ. 2.1).
24
მისთვის ყველა მდგომარეობა ინფორმაციულად ერთნაირია, ანუ აგენტი ვერ არჩევს,
რომელი მდგომარეობა უფრო ახლოსაა მიზნის მდგომარეობასთან. სწორედ ამიტომაც
უწოდებენ მას სრული, ანუ ბრმა გადარჩევის ალგორითმს. ჩვენს მაგალითიში ის ჩავა მეექვსე
დონეზე და გახსნის 46 მდგომარეობას, სანამ მიაღწევს მიზნის მდგომარეობას.
შევაფასოთ ალგორითმი წინა ლექციაში მოყვანილი კრიტერიუმებით. ცხადია, რომ ეს
ალგორითმი არის სრული. მართლაც, თუკი არსებობს ამოცანის ამოხსნა, ის მას ადრე თუ
გვიან აუცილებლად იპოვნის (თეორიულად მაინც). თუ ყველაზე ზევით მდგომი მიზნის
კვანძის სიღრმეა d , ალგორითმი მას იპოვნის d 1 დონის ყველა კვანძის გახსნის შემდეგ.
რადგანაც ამ ალგორითმისთვის ყველა გადასვლას ერთი ფასი აქვს, ნაპოვნი ამოხსნა
ავტომატურად იქნება ოპტიმალურიც.
ამ ორი პარამეტრით ეს ალგორითმი შესანიშნავია, მაგრამ ის კატასტროფულად
სუსტია დანარჩენი ორი პარამეტრის მიხედვით. დავუშვათ, თითოეული კვანძიდან
(მდგომარეობიდან) შესაძლებელია მაქსიმუმ b ცალი შვილობილი წვეროს აგება. მაშინ
ალგორითმი პირველ დონეზე საწყისი მდგომარეობიდან ააგებს b ახალ მდგომარეობას,
მეორე ეტაპზე b 2 მდგომარეობას, მესამეზე b 3 და ასე შემდეგ. დავუშვათ ახლა, რომ მიზნის
მდგომარეობა მდებარეობს b დონეზე და ის აიგება ამ დონის წვეროებიდან ყველაზე
ბოლოს, მაშინ მდგომარეობების რაოდენობა, რომლებიც უნდა ააგოს ალგორითმმა, რათა
იპოვოს ამოხსნა ტოლია
b b 2 b 3 ... b d .
რაც გვაძლევს შეფასებას ( b d ) . ეს, ნიშნავს, რომ ალგორითმი, რომელსაც ჩვენი
აგენტი იყენებს ექსპონენციალურია და ამოცანის ზომების ექსპონენციალურად იზრდება
აგებულ კვანძთა რაოდენობაც. აქედან გამომდინარე, როდესაც იზრდება ამოცანის ზომა
გადააჭარბებს გარკვეულ სიდიდეს (დამოკიდებულია კონკრეტულ მოცანაზე),
პრაქტიკულად შეუძლებელი ხდება ამოცანის ამოხსნა რეალურ დროში.
2.11. ძებნა სიღრმეში იტერაციული ჩაღრმავებით.განსხვავებით განივი ძებნისგან, სიღრმეში
ძებნის დროს თუ არ შევზღუდეთ ხის სიღრმე, შეიძლება ისე მოხდეს, რომ ალგორითმმა
ვეღარ დაამთავროს მუშაობა (ჩაიციკლოს), ამიტომ წინასწარ შემოგვაქვს სიღრმის დონის
შეზღუდვა, ანუ რომელიმე მითითებულ დონეზე აგენტი ყველა კვსნძს აღიქვამს
დამამთავრებელ კვანძად და აღარ ხსნის ამ დონის კვანძებს. ასეთ მიდგომას უწოდებენ ძებნას
შეზღუდული სიღრმით. ასეთი შეზღუდვა თავისთავად განსაზღვრავს, რომ ზოგიერთ
შემთხვევებში აგენტი ვერ იპოვის ამოხსნას მაშინაც კი, როდესაც ეს ამოხსნა არსებობს და
ალგორითმს გააჩნია საკმარისი რესურსები ამოცანის ამოსახსნელად. გასაგებია, რომ ეს
მოხდება მაშინ, როდესაც შეზღუდვის დონე არაა სწორადაა შერჩეული და ყველაზე
უახლოესი ამონახსნის სიღრმე აღემატება შეზღუდვის დონეს.
იმისათვის,რომ განივი ძებნის ალგორითმიდან მივიღოთ ძებნის ალგორითმი
სიღრმის შეზღუდვით, საკმარისია განივი ძებნის ალგორითმში შევიტანოთ ორი ცვლილება.
პირველი, შემოვიტანოთ შეზღუდვის პარამეტრი და მეორე, ახლად აგებული კვანძები
შევიტანოთ სია “list open”-ის არა ბოლოში, არამედ თავში.
რითი სჯობია ეს ალგორითმი განივი გადარჩევის ალგორითმს? ასეთი ძებნის დროს
ალგორითმს სჭირდება მეხსიერების ძალინ მცირე მოცულობა, რადგანაც ის იმახსოვრებს
მხოლოდ ერთ გზას საწყისი კვანძიდან დამამთავრებელ კვანძამდე და იმ მეზობელ
კვანძებთან ერთად, რომლებიც ჯერ არ გაუხსნია ალგორითმს. მას შემდეგ, რაც გაიხსნება
კვანძი, ის შეიძლება წაშლილი იქნას მეხსიერებიდან. თუ ერთი კვანძიდან შეიძლება
მაქსიმუმ b კვანძის მიღება და ძებნის სიღრმეა d , ალგრითმი იმახსოვრებს მხოლოდ b d 1
წვეროს, ამიტომაც თუკი ამონახსენი მდებარეობს d 12 სიღრმეზე, მას სჭირდება მხოლოდ
118 კილობაიტი მეხსიერება განსხვავებით განივი გადარჩევის ალგორითმისაგან, რომელსაც
იგივე შემთხვევაში სჭირდება 10 პეტაბაიტი მეხსიერება.
25
განვიხილოთ ამ ალგორითმის მუშაობა ისევ ზემოთმოყვანილ მაგალითზე. სიღრმეში
ძებნის ალგორითმისა და სრული გადარჩევის ალგორითმის მუშაობა პირველ და მეორე
ეტაპზე ფაქტობრივად ერთნაირია მცირე გამონაკლისის გარდა, რომელიც მდგომარეობს
შემდეგში: მეორე ეტაპზე მიღებული ერთადერთი კვანძი (მეორე კვანძი უკვე გვხვდება სიაში
“დახურულია” და ამიტომ მას არც ერთი ალგორითმი აღარ განიხილავს), სრული
გადარჩევის ალგორითმში შევა სია “list open”-ის ბოლოში, მაშინ როდესაც სიღრმეში ძებნის
ალგორითმში კვანძი ამ სიაში იქნება პირველ ადგილზე, ამიტომ მესამე ეტაპიდან ამ
ალგორითმების მუშაობა იქნება განსხვავებული. კერძოდ, სიღრმეში ძებნის
ალგორითმისათვის მესამე ეტაპი გამოიყურება შემდეგნაირად (იხ. სურ. 5.4). სიღრმეში
ძებნის ალგორითმს გააჩნია თავისი ნაკლოვანებები. როგორც აღვნიშნეთ, ის უკვე აღარ არის
სრული, მაგრამ ამავე დროს იგივე მიზეზით ის არ იძლევა ოპტიმალურ ამონახსნსაც.
2.12. ძებნა გზის ფასის კრიტერიუმით.განივი გადარჩევის ალგორითმი იყო ოპტიმალური,
თუ ყველა შვილობილი წვეროს აგების ფასი იყო ტოლი. მაგრამ ეს ყოველთვის ასე არ
არის. დავუშვათ, ჩვენს ამოცანაში ფიშკის მარჯვნივ გადაწევაზე იხარჯება უფრო მეტი
ენერგია, ვიდრე ქვევით ჩამოწევაზე, მაშინ გადასვლის ფასი ერთი წვეროდან მეორეში იქნება
სხვადასხვა. მარტივი გარდაქმნით სრული (განივი) გადარჩევის ალგორითმიდან შეიძლება
მივიღოთ ახალი ალგორითმი, რომელიც გაითვალისწინებს ასეთ პრობლემას. ალგორითმს,
რომელიც ახორციელებს ძებნას ამ მომენტის გათვალისწინებით, ეწოდება ალგორითმი გზის
ფასის კრიტერიუმით. ჩვენ შეგვიძლია მივიღოთ ასეთი ალგორითმი განივი ძებნის
ალგორითმიდან. ამ მიზნით შევიტანოთ სამი ცვლილება ალგორითმში.
1. შემოვიტანოთ g( n ) ფუნქცია რომლითაც გავზომავთ გზის ფასს ამოცანის საწყისი
მდგომარეობიდან მოცემულ მდგომარეობამდე. ის ტოლი იქნება ყველა იმ გადასვლების
ჯამის, რომლებიც შესრულდა, სანამ ჩვენ მოვიდოდით მოცემულ n კვანძამდე.
2. სია “list open” მოვაწესრიგოთ ისე, რომ პირველ ადგილზე მოხვდეს კვანძი, რომელსაც აქვს
ყველაზე პატარა გზის ფასი.
3. მესამე შესწორება ეხება გრაფის ხედ გადაქცევის პროცედურას. განივი ძებნის
ალგორითმისგან განსხვავებით, თუ რომელიმე ახლად აგებული კვანძი დაემთხვევა კვანძს
სიაში “list open” (რაც ნიშნავს რომ არსებობს ორი განსხვავებული გზას საწყისი კვანძიდან ამ
კვანძამდე), ალგორითმი დატოვებს არა პირველად აგებულ გზას, როგორც ეს ხდებოდა
სრული გადარჩევის ალგორითმში, არამედ გზას მინიმალური შეფასებით. თუ ახლად
აგებული კვანძი დაემთხვევა რომელიმე კვანძს სიაში “listclosed”, ჩატარდება იგივე
პროცედურა და თუ ახლად აგებული გზის ფასი ნაკლებია არსებულ გზის ფასზე, კვანძი
დაბრუნებული იქნება სიაში “list open”.
თუ გადასვლის ფასი კვანძიდან მეზობელ კვანძში w( si , s j ) , სადაც არის რაიმე
ნულისგან განსხვავებული დადებითი რიცხვი, მაშინ ალგორითმი იქნება სრული. ეს პირობა
საკმარისია იმისთვისაც, რომ ალგორითმი იყოს ოპტიმალური.
ამ ალგორითმში ძებნა ხდება არა დონეების მიხედვით, არამედ გადასვლების ფასის
მიხედვით, ამიტომ მისი სირთულე ადვილად ვერ განისაზღვრება b და d ტერმინებში.
შემოვიღოთ პარამეტრები C - ამოხსნის ოპტიმალური ფასი და ერთი მეზობელი
წვეროდან მეორეში გადასვლის მინიმალური ფასი. მაშინ გზის ფასით ძებნის ალგორითმის
დროითი და სივრცითი სირთულე ყველაზე ცუდ შემთხვევაში ტოლია ( b1C ) , ანუ
შეიძლება იყოს მეტი ვიდრე ( bd ) .
2.13. ორმხრივი ძებნა.საინტერესოა ორმხრივი ძებნის იდეა. წარმოვიდგინოთ ორი ერთნაირი
ალგორითმი (დავუშვათ სიგანეში გადარჩევის), რომლებიც ხსნიან ერთსა და იმავე ამოცანას,
ოღონდ ერთის საწყისი მდგომარეობა მეორესთვის წარმოადგენს მიზნის
მდგომარეობასდაპირიქით. ეს ალგორითმები დაკავშირებულნი არიან ერთმანეთთან და
26
ყოველი კვანძის გახსნის წინ ამოწმებენ დაემთხვა თუ არა ერთმანეთს მათ მიერ მიღებული
კვანძებიდან რომელიმე მათგანი. დამთხვევის შემთხვევაში ამოცანის ამოსახსნელად უნდა
გადავაბათ მათი გზები ამ საერთო კვანძში, რაც მოგვცემს ამოცანის ამოხსნას. ასეთი
d
ალგორითმის დროითი და სივრცითი სირთულე იქნება ( b 2 ) . ამავე დროს ის იქნება
სრული და ოპტიმალური, რა თქმა უნდა თუ ალგორითმი თვითონ არის სრული და
ოპტიმალური. პრობლემა მდგომარეობს იმაში, რომ ყველა ამოცანისათვის ადვილი არ არის
მოვახერხოთ ძებნა მიზნის მდგომარეობიდან საწყისი მდგომარეობისაკენ, რადგანაც როგორც
ვიცით, რეალურ ამოცანებში ხშირად ჩვენთვის ცნობილია მიზნის მდგომარეობათა
სიმრავლის აღწერა, მაგრამ უცნობია ამ სიმრავლის კონკრეტული ელემენტები (მაგალითად
ჭადრაკის თამაშისათვის ეს ასეა და შესაბამისად შეუძლებელია ორმხრივი ძებნის
გამოყენება).
სავარჯიშოები:
27
28
ლექცია 3.
ევრისტიკული ფუნქცია. ძებნის ევრისტიკული ალგორითმები. “ხარბი“
ალგორითმები.
1 9 3 4 1 2 3 4
5 6 7 8 5 6 7 8
2 10 11 9 10 11
13 14 15 12 13 14 15 12
1) 2)
30
განვიხილოთ მარტივი მაგალითი. დავუშვათ ჩვენი აგენტი, იმყოფება A პუნქტში და
უნდა ჩავიდეს I პუნქტში ისე, რომ გაიაროს მინიმალური მანძილი (იხ. სურ. 4.2). მანძილი AB
ტოლია 51კმ;AC – 70კმ;AD – 49კმ; DE – 25კმ; DF – 17კმ; BG – 20კმ;BH –26კმ; HI – 35კმ და CI –
15კმ.
აგენტი გზის ასარჩევად იყენებს ხარბ ალგორითმს “პირველი საუკეთესო“, ამიტომ ის
პირველად აირჩევს D პუნქტს, შემდეგ ჩავა F პუნქტში. ეს ჩიხია, ამიტომ ამობრუნდება უკან
და ჩავა E პუნქტში. ესეც ჩიხია, ამიტომ ამობრუნდება A პუქტში და ამოარჩევს B პუნქტს,
შემდეგ გადავა G პუნქტი. ესეც ჩიხია, ამიტომ დაბრუნდება უკან, ამოარჩევს H პუნქტს და
იქიდან გადავა I პუნქტში. ალგორითმმა დიდი წვალებით იპოვნა გზა A პუნქტიდან I
პუნქტამდე, მაგრამ ეს გზა სულაც არაა ოპტიმალური. ალგორითმმა ვერ იპოვა ოპტიმალური
გზა მხოლოდ იმიტომ, რომ ის თვლის, რომ გადასვლა AC არის ყველაზე ცუდი გადასვლაა.
განხილული მაგალითი გვიჩვენებს, რომ ევრისტიკული ძებნის ალგორითმი
„პირველი საუკეთესოთი“ ძალიან წააგავს სიღრმეში ძებნის ალგორითმს იტერაციული
ჩაღრმავებით. მართლაც, ამ ამოცანის ამოხსნის დროს ეს ალგორითმიც ზუსტად ასევე
ამოხსნიდა ამოცანას. ეს მიუთითებს, რომ ჩვენი ევრისტიკული ფუნქცია არაა ძლიერი და მან
ვერ შეძლო შეემცირებინა გადარჩევა, ამიტომ მნიშვნელოვანია, როგორ შევარჩევთ
ევრისტიკულ ფუნქციას. ამ ალგორითმს გააჩნია თავისი უპირატესობა, რაც მდგომარეობს
იმაში, რომ მას არ სჭირდება დიდი მეხსიერება.
D
C
B
F G
E I
31
თავის ადგილზე. ჩვენს მაგალითში (იხ. სურ. 3.3) მხოლოდ ოთხი ფიშკა არ დგას თავის
ადგილზე, ე. h( si ) 4.
1 2 3 4 1 2 3 4
5 6 7 8 5 6 7 8
10 11 9 11 10 9 12
13 14 15 12 13 14 15
32
მნიშვნელოვანია აღვნიშნოთ, რომ ყოველი კონკრეტული ამოცანისთვის ჩვენ
დაგვჭირდება ახალი ევრისტიკული ფუნქცია.
3.5. „პიკისკენ აღმავალი“ ხარბი ალგორითმი.არსებობს აგრეთვე ე.წ. პიკისაკენ აღმავალი
ალგორითმი, რომელიც მსგავსად ზემოთ განხილული ალგორითმისა „პირველი საუკეთესო“,
შემფასებელ ფუნქციად იყენებს მხოლოდ ევრისტიკულ ფუნქციას. განსხვავებით
ალგორითმისგან „პირველი საუკეთესო“, ეს ალგორითმი საერთოდ არ იმახსოვრებს
გაუხსნელ მეზობელ კვანძებს, ამიტომ თუ შვილობილი კვანძების შეფასებამ გადააჭარბა
მშობელი კვანძის შეფასებას, ალგორითმი ჩერდება და ვეღარ აგრძელებს ამოხსნას. ამიტომ
ასეთი ალგორითმის გამოყენება არ შეიძლება, თუ ევრისტიკულ ფუნქციას გააჩნია
ლოკლური ექსტრემუმის წერტილები (იხ.სურ. 3.4).
33
1 1 1 1 1 1
ა) 8 9 2 4 3
9
1 1 1 21 21 1 1
ბ)
8 9 32 2 3
4
21
1 1 1 1 1 1
გ) 8 9 3 4 4 3
3 4
1 1 1 1 1 1 1
4
დ)
8 9 5 4 4 3
4
1 1 1 1 1 1 1
ე)
8 9 5 5 4 3
5
4
5
სურ. 3.5.
34
მდგომარეობების შეფასებების თანახმად. მიზნის მიღწევის შეფასება მეზობელი s/
კვანძის გამოყენებით იქნება c( s , s/)H ( s/) . მოცემული მდგომარეობიდან არის ორი გზა,
ერთის ფასია 12 და მეორესი - 19 . აგენტი ამოირჩევს მინიმუმს და გადადგილდება
მარჯვნივ. ამის შემდეგ ნათელი ხდება, რომ შეფასება ამ ადგილისთვის იყო ძალიან
ოპტიმისტური. რადგანაც საუკეთესო სვლის ფასი ტოლია 1 , და მას მივყავართ
მდგომარეობამდე, რომელიც დაშორებულია მიზნიდან მინიმუმ 2 ნაბიჯით,შეფასება უნდა
გაიზარდოს შესაბამისად, როგორც ეს ნაჩვენებია სურ. 6.3.ბ). თუ აგენტი გააგრძელებს ამ
პროცესს ის, კიდევ ორჯერ გაიმეორებს ამ პროცესს და გამოვა ამ მდგომარეობიდან.
ალგორითმს, რომელსაც იყენებს აგენტი, ეწოდება A ძებნისალგორითმი რეალურ დროში
და დასწავლით ( Learning Real-TimeA - LRTA).
სავარჯიშოები:
35
ლექცია 4.
A ტიპის ალგორითმები. g( s ) ფუნქციის როლი. A ალგორითმის სისრულე,
ოპტიმალურობა და ინფორმირებულობა.
36
ამიტომ აგენტი კვლავ გამოთვლის. მათ შეფასებებს: f ( s4 ) 2 3 5 , f ( s5 ) 2 5 7 და
f ( s6 ) 2 4 6 . აგენტი ამოირჩევს კვანძს s4 . ამ კვანძიდან არის სვლების სამი ვარიანტი
s 2 , s7 , s8 . კვანძი s2 სიაში “listopen” უკვე არსებობს და მისი პირველი შეფასება უფრო პატარაა
ამიტომ აგენტი არ შეიტანს მას სიაში “list open”. მათი შეფასებებია: f ( s7 ) 3 1 4 , და
f ( s8 ) 3 3 6 . ცხადია აგენტი ირჩევს s7 კვანძსდა შემდეგი სვლებით მიაღწევს მიზნის
კვანძს.
S0
1 2 3 4
5 6 7 8
11 9 12
10 13 14 15
1 2 3 4 1 2 3 4
5 6 7 8 5 6 7 8
11 9 12 10 11 9 12
10 13 14 12 13 14 15
მდებარეობს ოპტიმალურ გზაზე, ხოლო ყველა მისი წინაპარი კვანძი უკვე მდებარეობს სიაში
„lict-closed”, ამიტომცხადია, რომ g( s / ) g ( s / ) .
39
დავუშვათ კვლავ საწინააღმდეგო, ანუ ალგორითმმა იპოვნა ამოხსნა, რომელიც
მთავრდება რაიმე s t მიზნის მდგომარეობაზე, მაგრამ ის არ არის მინიმალური გზა, ანუ
f ( st ) f ( s ) . მაგრამ ლემის თანახმად სიაში “list open” არსებობს ისეთი გაუხსნელი s/
კვანძი, რომლისთვისაც სრულფება პირობა f ( s / ) f ( s ) f ( st ). ამიტომ st კვანძის
/
მაგივრად ალგორითმი გახსნიდა s კვანძს და იპოვიდა ოპტიმალურ ამოხსნას.
4.4. ალგორითმის ინფორმირებულობა.ალგორითმის ინფორმირებულობის ქვეშ ჩვენ გვესმის
შემდეგი: დავუშვათ, გვაქვს ორი ევრისტიკული ფუნქცია, ისეთი, რომ ნებისმიერი
კვანძისთვის კმაყოფილდება უტოლობა
h1 ( si ) h2 ( si ).
სავარჯიშოები:
41
ლექცია 5.
ამოცანები შეზღუდვათა დაკმაყოფილებაზე (აშდ).აშდ ამოცანების ამოხსნა
ალგორითმით „ძებნა უკან დაბრუნებებით“.
42
ამოცანის მდგომარეობა განისაზღვრება ცვლადისათვის მნიშვნელობათა მინიჭების გზით.
მხოლოდ ეს ერთი უნივერსალური ოპერატორია საკმარისი აშდ-ში, განსხვავებით წინა
ლექციაში განხილული ამოცანებისგან, სადაც თითოეულ ამოცანას სჭირდება საკუთარი
ოპერატორები ახალი მდგომარეობების მისაღებად. მინიჭებას, რომელიც არღვევს არცერთ
შეზღუდვას, ეწოდება დასაშვები (ან თავსებადი) მინიჭება. სრული ეწოდება ისეთ მინიჭებას,
რომელშიც მონაწილეობს ყველა ცვლადი, ხოლო ამოცანის ამონახსნი ეწოდება ისეთ სრულ
მინიჭებას, რომელიც აკმაყოფილებს ყველა შეზღუდვას. გარდა ამისა, ზოგიერთ ამოცანებში
საჭიროა ისეთი ამონახსნის პოვნა, რომელიც ახდენს მიზნის ფუნქციის ოპტიმიზაციას.
5.3. ამოცანის წარმოდგენა ცვლადებისა და შეზღუდვების საშუალებით.დავუშვათ,
მოცემული გვაქვს რუკა, რომელიც შედგება შვიდი რეგიონისაგან და ჩვენი ამოცანაა
გავაფერადოთ ეს რუკა სამი ფერის (წითელი, მწვანე, ცისფერი) საშუალებით ისე, რომ
მეზობელ რეგიონებს არ ჰქონდეთ ერთი და იგივე ფერი (იხ. სურ. 5.1).
ჩამოვაყალიბოთ ეს ამოცანა აშდ–ს ენაზე. ამისათვის აღვნიშნოთ რეგიონები
ცვლადებით: X 1 , X 2 , X 3 , X 4 , X 5 , X 6 , X 7 . ყველა ცვლადის დასაშვებ მნიშვნელობათა
სიმრავლე შიცავს სამ ფერის {წითელი – 1, მწვანე - 2, ცის ფერი - 3}.შეზღუდვები მოითხოვენ,
რომ ყველა წყვილი გაფერადებულიიყოს სხვადასხვა ფერით. მაშინ მაგალითად, X 1 და X 2
ცვლადებისათვის დასაშვებია ფერთა შემდეგი კომბინაციები:
{( 1,2 ); ( 1.3 ); ( 2.1 ); ( 2.3 ); ( 3 ,1 ); ( 3 ,2 )} .
შესაძლებელია ამ შეზღუდვების უფრო მარტივი სახით ჩაწერაც, იმ პირობით, რომ
ალგორითმში არსებობს ისეთი პროცედურა, რომელიც შეძლებს მის წაკითხვას. ზოგადად
ასეთი ამოცანები შეზღუდვებზე შესაძლებელია წარმოვადგინოთ გრაფის სახით. აქ კვანძები
შეესაბამებიან ცვლადებს, ხოლო რკალები შეზღუდვებს (იხ. სურ. 5.2). ამოცანის აშდ-ს სახით
წარმოდგენა საშუალებას გვაძლევს, მივაღწიოთ მნიშვნელოვან უპირატესობას ამოცანის
მდგომარეობათა სივრცეში წარმოდგენასთან შედარებით:
1. მდგომარეობის წარმოდგენა ხდება სტანდარტული შაბლონით (ცვლადები, მათი
მნიშვნელობები და შეზღუდვები), ამიტომ შვილობილი კვანძის განმსაზღვრელი ფუნქცია
(ოპერატორი) და მიზნის შემოწმება შეიძლება ჩავწეროთ უნივერსალური ფორმით,
ერთნაირად ყველა ამოცანისათვის.
2. შეიძლება დამუშავდეს ეფექტური, სტანდარტული ევრისტიკული ფუნქციები, რომელთა
შესაქმნელად საჭირო აღარ იქნება დამატებითი ცოდნა კონკრეტული ამოცანის შესახებ.
3. ამოცანის ამოხსნის პროცესის გასამარტივებლად შეიძლება გამოვიყენოთ შეზღუდვათა
გრაფის სტრუქტურა, რაც საშუალებას მოგვცემს ექსპონენციალურად შევამციროთ სირთულე.
ადვილი საჩვენებელია, რომ აშდ კლასის ყველა ამოცანა შეიძლება აღწერილი იქნას ისევე,
როგორც ამოცანები მიზნის ძებნაზე. ჩვენ აღვწერდით ამოცანას ხუთი კომპონენტის
საშუალებით: მდგომარეობათა სიმრავლე; საწყისი მდგომარეობა; შვილობილი წვეროს
განმსაზღვრელი ფუნქციათა (ოპერატორების) სიმრავლე; მიზნის მდგომარეობა და გზის
ფასი. ამ შემთხვევაში საწყისი მდგომარეობა იქნება ცარიელი მინიჭება, რომლის დროსაც
არცერთ ცვლადს არ მიენიჭება მნიშვნელობა. შვილობილი წვეროს განმსაზღვრელი ფუნქცია
– რომელიმე ცვლადისათვის დასაშვები მნიშვნელობის მინიჭება. მიზნის შემოწმების
პროცედურა ტოლფასია შევამოწმოთ, მიმდინარე მინიჭება სრულია თუ არა. გზისფასი
მუდმივი სიდიდე იქნება ყველა გადასვლისათვის (ყველა ცვლადისათვის რაიმე
მნიშვნელობის მინიჭებისათვის).
ამ ამოცანებში ყველა ამოხსნა უნდა წარმოადგენდეს სრულ მინიჭებას და ამიტომ უნდა
იმყოფებოდეს n დონეზე, სადაც n არის ცვლადების რაოდენობა. აქედან გამომდინარე, ხის
სიღრმეც აუცილებლად იქნება აგრეთვე n ტოლი, ამიტომ აშდ ამოცანების ამოხსნის დროს
ფართოდ გამოიყენება სიღრმეში ძებნის ალგორითმები. როგორც უკვე აღვნიშნეთ, ამ
43
ამოცანებისათვის არავითარ ინტერესს არ წარმოადგენს ის გზა, რომლითაც მიიღწევა ამოხსნა
(საიდანაც გნებათ, იქიდან დაიწყეთ რუკის გაფერადება და რა მიმდევრობითაც გნებავთ, ისე
გააფერადეთ), ამიტომაც შეიძლება მოვახდინოთ ამოცანის ამონახსნის ფორმულირება სრულ
მდგომარეობათა ენაზე, რომელშიც ყველა მდგომარეობა წარმოადგენს სრულ მინიჭებას,
რომლებიც ან აკმაყოფილებენ შეზღუდვებს ან არა.
44
სურ. 5.3. შეზღუდვის ყველა განსხვ ( ) ჰიპერგრაფი.
აქ რგოლებით აღნიშნულია შეზღუდვები, რომლებიც დაკავშირებულები არიან მათ მიერ
შეზღუდულ ცვლადებთან
45
ძებნის ნებისმიერი ალგორითმი. ვნახოთ რა მოხდება თუკი გამოვიყენებთ განივი ძებნის
ალგორითმს, როდესაც ცვლადების რაოდენობაა n და თითოეულ მათგანს შეუძლია მიიღოს
d მნიშვნელობა. პირველ ეტაპზე გვექნება n d შესაძლო ვარიანტი, რადგანაც ნებისმიერ
ცვლადს სეიზლება მოვანიჭთო ნებისმიერი მნიშვნელობა.მეორე ეტაპზე უკვე გვექნება
( n 1 ) ცვლადი, ამიტომ ვარიანტები რაოდენობა იქნება ( n 1 ) d ვარიანტი და საბოლოოდ,
მივიღებთ ხეს n!d n კვანძებით, მაშინ როდესაც სინამდილეში არსებობს მხოლოდ d n
შესაძლო სრული მინიჭება. ამის მიზეზია ის რომ არ იქნა გათვალისწინებული ყველა აშდ
ამოცანებისთვის დამახასიათებელი თვისება - კომუტატურულობა. ამოცანას ეწოდება
კომუტატორული, თუ ამოხსნის პროცესში გამოყენებული ნებისმიერ კონკრეტულ
ქმედებათა რიგს არა აქვს მნიშვნელობა.სწორედ ეს თვისება ახასიათებს აშდ ამოცანებს,
რადგანაც რა რიგითაც არ უნდა მივაკუთვნოთ ცვლადებს მნიშვნელობები, ჩვენ ყოველთვის
ვღებულობთ ერთსა და იმავე ნაწილობრივ (ან სრულ) მინიჭებას. აქედან გამომდინარე ყველა
ალგორითმში, რომელიც გამოიყენება აშდ ამოცანების ამოსახსნელად, შვილობილი კვანძები
წარმოიქმნება იმის გათვალისწინებოთ, რომ ხის თითოეულ კვანძში ხდება ერთი
მნიშვნელობის მინიჭება მხოლოდ ერთი ცვლადისათვის. მაგალითად, თუ განვიხილავთ ისევ
რუკის გაფერადების ამოცანას, საწყის მდგომარეობაში უნდა ამოვირჩიოთ X 1 1, X 1 2 ,
X 1 3 , ვარიანტებიდან ერთერთი და არა X 1 1, X 2 3 ვარიანტებიდან რომელიმე.
მხოლოდ ამ პირობის დაცვით შეგვიძლია შევამციროთ გადარჩევა d n -მდე.
5.6. ალგორითმი „ძებნა უკან დაბრუნებით“.ისევე როგორც ძებნის სხვა ალგორითმები,
ალგორითმები, რომლებიც ხსნიან აშდ ამოცანებს, მუშაობენ სიებთან, მაგრამ განსხვავებით
წინა ლექციებში განხილული ალგორითმებისგან, ესაა ცვლადების და მათ მნიშვნელობათა
სიები. ალგორითმს, რომელიც ახორციელებს სიღრმეში ძებნას, რომლის დროსაც ყოველ
ჯერზე ამოირჩევა მნიშვნელობა ერთი ცვლადისთვის და ბრუნდება უკან, როდესაც აღარ
რჩება დასაშვები მნიშვნელობები, ეწოდება ძებნის მარტივი ალგორითმი უკან დაბრუნებით.
ალგორითმი ყოველ ბიჯზე ამოირჩევს ცვლადს ცვლადების სიიდან და მიანიჭებს მას ყველა
დასაშვებ მნიშვნელობას. როდესაც აღარ დარჩება დასაშვები მნიშვნელობები მოცემული
ცვლადისთვის, ის უკან დაბრუნება. საწყის მდგომარეობაში (არცერთ ცვლადს არა აქვს
მინიჭებული რაიმე მნიშვნელობა) აიღებს პირველ ცვლადს და მიანიჭებს მას ყველა დასაშვებ
მნიშვნელობას. მეორე ეტაპზე აიღებს მეორე ცვლადს, მიანიჭებს ყველა დასაშვებ
მნიშვნელობას. თუ მიაღწევს სასრულ მდგომარეობას (ყველა ცვლადს მინიჭებული აქვს
დასაშვები მნიშვნელობები), ამოცანა ამოხსნილია, თუ არა – დაბრუნდება ერთი ნაბიჯით
უკან და განიხილავს სხვა ცვლადს. ცხადია ეს ალგორითმიც, ისევე როგორც ძებნის სხვა
ალგორითმები, მუშაობს სიებთან, მაგრამ ამ შემთხვევაში გვაქვს არა კვანძების სიები, არამედ
ცვლადების და მათი მნიშვნელობების სიები. აქედან გამომდინარე, ალგორითმის
ეფექტიანობა დამოკიდებულია იმაზე, თუ რა პრინციპების საფუძველზე ხდება ამ სიების
ორგანიზება. მაგრამ ცვლადების სია (ისევე, როგორც მნიშვნელობათა სია), უკვე აღარ
გამოხატავს კავშირს ამოცანის შინაარსთან. ამიტომ ნებისმიერი ამოცანა, რომელიც
წარმოიდგინება აშდ-ში, იხსნება ერთნაირად. ცხადია, განხილული ალგორითმი ეკუთვნის
არაინფორმირებულ ალგორითმების კლასს, რადგანაც ის იყენებს წინასწარ ფორმირებულ
ცვლადებისა და მათი მნიშვნელობების სიებს. აქაც გვჭირდება ევრისტიკული ინფორმაცია
იმისათვის, რომ მოვახდინოთ ამ სიების სორტირება ყოველი მინიჭების წინ, როგორც ეს
ხდება ინფორმირებული ალგორითმების მუშაობის დროს, მაგრამ ზემოთმოყვანილი
მსჯელობიდან გამოდის, რომ აღარც ევრისტიკული ინფორმაცია აღარ იქნება კავშირში
ამოცანის შინაარსთან, რაც იმას ნიშნავს, რომ ეს ევრისტიკები საერთო იქნება ნებისმიერი
ამოცანისთვის აშდ- დან.
46
Funcion Backtrackig-Search (აშდ) returns ამონახსნს result ან წარუმატებლობის
მაჩვენებელს failure
Return Recursive-Backtracking ({ }, აშდ)
47
მნიშვნელობათა სიმრავლე გახდება ნოლის ტოლი, ალგორითმი პირველ რიგში ამოირჩევს ამ
ცვლადს, მივა წარუმატებლობამდე და მოკვეთავს ამ ტოტს. დავარქვათ ამ ალგორითმს ძებნა
უკან დაბრუნებით დმმ–ის გამოყენებით. ამ ალგორითმის ეფექტურობა წინა ალგორითმთან
შედარებით შეიძლება გაიზარდოს 3-დან 3000 ჯერ ამოცანის მიხედვით.
X1 1 X1 2 X1 3
X2 2 X2 1 X2 3 X2 2
X2 3 X2 1
X3 1 X3 1
X3 3 X3 2 X3 1 X3 2
X3 1 X3 2 X3 1 X3 3
X3 3 X3 2
არა
თავსებადია
X1 X2 X3 X4 X5 X6 X7
123 123 123 123 123 123 123
1 23 123 123 123 23 123
1 3 2 1 3 123 3 123
1 3 2 1 3 123
სავარჯიშოები:
49
1. მოცემულიასამმაგი შეზღუდვა: AB C. დამხმარე ცვლადების გამოყენებით
დაშალეთის სამ ბინარულშეზღუდვად.დახმარება: შეგიძლიათ შემოიტანოთ
შეზღუდვები ცვლადების განსაზღვრის არეებზე).
2. ახსენით, აშდ ამოცანებისთვის რატომააყველახე კარგი ევრისტიკა ისეთი ცვლადის
ამორჩევა, რომელიც ყველაზე მეტადაა შეზღუდული და ამავე დროს ისეთი
მნიშვნელობის ამორჩევა, რომელიც ყველასე ნაკლებად ზღუდავს სხვა ცვალდებს?
3. თუ შეგიძლიათ აღწერეთ როგორ შეიძლება გამოვიყენოთ აშდ კროსვორდების შექმნი
ამოცანასთან (შექმნის, და არა ამოხსნის)?
4. რისთვის გამოიყენება წინასწარი შემოწმების მეთოდი და რაში მდგომარეობს მისი
სუსტი მხარე?
5. რამდენი ამონახსნი აქვს ლექცაში განხილულ რუკების გაფერადების ამოცანას?
6. ამოხსენით ლექციაში მოყვანილი კრიპტიარითმეტიკული ამოცანა ალგორითმ „ძებნა
უკან დაბრუნებით“ გამოყენებით კომპიუტერის გარეშე.
7. ამოხსენით ამოცანა:
ხუთსახლში,რომლებიცშეღებილიახუთისხვადასხვაფერით,ცხოვრობისხუთი
სხვადასხვაეროვნების ადამიანი,რომლებიც
ეწევიანხუთსხვადასხვახარისხისსიგარეტს, სვავენსხვადასხვასასმელებს დაჰყავთ
სახლში სხვადასხვაცხოველები. მოცემულია:
ინგლისელი ცხოვრობს წითელსახლში
ესპანელს ჰყავსძაღლი
ნოვეგიელი ცხოვრობსმარცხნიდანპირველსახლში
სიგარეტ„მალბოროს“ეწევიანყვითელსახლში
ადამიანი, რომელიცეწევა„ჩესტერფილდს“ცხოვრობსიმადამიანის გვერდით,
რომელსაც სახლში ჰყავს მელია
ადამიანს, რომელიც ეწევა„ვინსტონს“ჰყავსლოკოკინა
ადამიანი, რომელიცეწევა„ლაკი სტრაიკს“,სვავსაპელსინის წვენს
უკრაინელი სვავსჩაის
იაპონელი ეწევა„პარლამენტს“
სიგარეტ „მალბოროს’ეწევიანსახლში, რომელიც მდებარეობსიმსახლის
გვერდით, რომელშიცჰყავთ ცხენი
ყავას სვავენმწვანე სახლში
მწვანე სახლი მდებარეობსსპილოსძვლისფერი სახლის მარჯვნივ(იმ
ადამიანისთვის, ვინც ხსნისამამოცანას
რძეს სვავენშუათანასახლში.
ამოცანაგვეკითხებარომელსახლში სვავენწყალს დარომელსახლში ჰყავთზებრა.
8. შეადარეთ ერთმანეთს ამ ამოცანის წარმოდგენები მდგომარეობათა სივრცეში და აშდ-
ში.
50
ლექცია 6.
ამოცანის დეკომპოზიცია.ამოცანის ხისებური სტრუქტურა და ამოხსნის
ალგორითმი. რთული სტრუქტურის ხისებურზე დაყვანის მეთოდები.
54
სურ.6.4. გრაფის ხისებური დეკომპოზიცია.
სავარჯიშოები:
1. რასნიშნავსამოცანისდეკომპოზიცია?
2. როგორქვეამოცანებსეწოდებადამოუკიდებელიქვეამოცანები?
3. რასნიშნავსგრაფისხისებურიდეკომპოზიცა?
55
4. რა მეთოდები არსებობს რთული გრაფის ხისებურ სტრუქტურაზე
მისაყვანად?
5. რა მეთოდები არსებობს რთული გრაფის ხისებურ სტრუქტურაზე
მისაყვანად?
56
ლექცია 7.
ძებნა წინააღმდეგობის შემთხვევაში. თამაშები სრული და არასრული
ინფორმაციით. მინიმაქსისა და ალფა-ბეტა პროცედურები.
57
თამაშთა მათემატიკურ თეორიაში დამტკიცებულია, რომ თამაშებისთვისნულოვანი
ჯამით (თამაშიდა სრული ინფორმაციით არსებობს ერთადერთი სტრატეგია, რომელიც
ოპტიმალურია ორივე მოთამაშისათვის და ყოველთვის მიგვიყვანს მოცემულ თამაშში
ობიექტურად არსებულ საუკეთესო შედეგამდე (ნულოვანი ჯამი ნიშნავს, რომ რამდენსაც
წააგებს ერთი მოთამაშე, ზუსტად იმდენს მოიგებს მეორე მოთამაშე). თუ რომელიმე
მოწინააღმდეგე გადაუხვევს ოპტიმალურ სტრატეგიიდან, მაშინ ის წააგებს გაცილებით მეტს.
ფაქტობრივად თუ თამაშის ოპტიმალური სტრატეგია ნაპოვნია და ორივე აგენტმა იცის ის,
თამაში კარგავს აზრს.
7.3. მინიმაქსის პროცედურა. ასე, რომ პრობლემას წარმოადგენს ოპტიმალურისტრატეგიის
მოძებნა. ერთადერთი გზა, იმისთვის, რომ ვიპოვოთ ოპტიმალური სტრატრგია, საჭიროა
ავაგოთ თამაშის სრული ხე და მივიღოთ დამამთავრებელი კვანძების შეფასებები,
რომლებიც ამ შემთხვევაში გამოთვლება თამაშის წესებიდან. ამის შემდეგ ვიწყებთ
საუკეთესო სვლების მიმდევრობის, ანუ თამაშის სტრატეგიის გამოთვლას. ამ მიზნით
ვიქცევით შემდეგნაირად: დავუშვათ, დამამთავრებელ კვანძებში გადავყევართ
მოწინააღმდეგეს. ცხადია, რომ მოწინააღმდეგე ეცდება მიაღწიოს წარმატებას, რაც ნიშნავს
ჩვენს დამარცხებას, ამიტომ ყველა შესაძლო კვანძებიდან, რომლებშიც გადავყავართ
მოწინააღმდეგეს, ჩვენ უნდა ამოვარჩიოთ კვანძი მინიმალური შეფასებით და ეს შეფასება
მივაწეროთ კვანძს, რომელიც დგას ერთი საფეხურით ზევით და წარმოადგენს სერჩეული
კვანძის მშობელ კვანძს. ამ კვანძებში უკვე გადავდივართ ჩვენი სვლების შედეგად, ამიტომ
ყველა შესაძლო კვანძებს შორის (რომელთაც ერთი და იგივე მშობელი კვანძი ჰყავთ) შორის
უნდა ამოვარჩიოთ კვანძი მაქსიმალური შეფასებებით და ეს შეფასებები გადმოვიტანოთ
კიდევ ერთი საფეხურით ზევით (მივაწეროთ მშობელ კვანძს). ასე უნდა გავაგრძელოთ, სანამ
არ მივაღწევთ საწყის პოზიციას. ამორჩეული სვლების მიმდევრობა შებრუნებული
მიმდევრობით წარმოადგენს სწორედ თამაშის სტრატეგიას.
58
S1 მოთამაშე ჩათვლის, რომ მოწინააღმდეგე ცხადია გააკეთებს სვლას, რომელიც მას
მოაგებინებს ორ ქულას და ამ პოზიციას შეაფასებს მინუს ორი ქულით. პრაქტიკულად,
პირველმა მოთამაშემ გამოთვალა იმ სამი დამამთავრებელი პოზიციების შეფასებათა
მინიმუმი min( 2 ,5 ,10 ) 2 , რომლებშიც შეიძლება გადაიყვანოს მოწინააღმდეგემ პირველი
ოვალური პოზიციიდან და ეს შეფასება მიაწერა ამ პოზიციას. ანალოგიურად მოიქცევა ის
დანარჩენი პოზიციების მიმართაც და მიიღებს შეფასებებს (-2,2,3). ამ პოზიციებში გადასვლა
ხდება უკვე პირველი მოთამაშის სვლის შედეგად. ამიტომ ის ცხადია, ამოირჩევს სვლას,
რომელიც მოუტანს მაქსიმალურ მოგებას. მივიღეთ, რომ თამაშში, რომლის ხეც მოცემულია
სურ.7.1. როგორც არ უნდა ითამაშოს მოწინააღმდეგემ, S1 მოთამაშეს გარანტირებული აქვს
მინიმუმ სამი ქულის მოგება (თუ მოწინააღმდეგე დაუშვებს შეცდომას, ეს მოგება შეიძლება
გაიზარდოს, მაგრამ არავითარ შემთხვევაში არ შემცირდება). ოპტიმალური სტრატეგიის
მოძებნის ამ ალგორითმს ეწოდება მინიმაქსის პროცედურა.
აღვწეროთ თითოეული კვანძისთვის მინიმუმ ან მაქსიმუმ მნიშვნელობის გამოთვლის
პროცედურა:
59
მოსაზრებებიდან გამომდინარე და რომელიც ნებისმიერ პოზიციას შეუსაბამებს რაიმე
რიცხვს. როგორც წესი ასეთ შემფასებელ ფუნქციას აქვს პოლინომის სახე:
f ( n ) m
i 1 ai xi
სადაც n არის პოზიცია, x i -ური არის პარამეტრი, რომლითაც ხდება ამ პოზიციის შეფასება,
ხოლო a i - კი ამ პარამეტრის ხვედრითი წონა შემფასებელ ფუნქციაში. m არის პარამეტრების
რაოდენობა, რომლებიც მონაწილეობენ პოზიციის შეფასებაში. უნდა აღინიშნოს, რომ ასეთი
ფუნქციის შედგენა არც ისე მარტივია, რადგანაც პარამეტრები, რომლებითაც ფასდება
მდგომარეობა, როგორც წესი არიან ხარისხოვანი სახის და მათთვის რიცხვითი
მნიშვნელობების შეფარდება საკმაოდ რთული პროცესია. ასევე რთულია წონითი
კოეფიციენტების შერჩევა, მით უმეტეს, რომ თამაშის სხვადასხვა ეტაპზე ისინი იცვლიან
მნიშვნელობებს. ხშირად ამ ფუნქციის შედგენა დაკავშირებულია ხანგრძლივ მანქანურ
ექსპერიმენტებთან. მას შემდეგ, რაც ჩვენ გვექნება შემფასებელი ფუნქცია, უკვე შესაძლებელი
იქნება მინიმაქსის პროცედურის გამოყენება გადაჭრილ, ანუ ქვეხეზე. განვიხილოთ ასეთი
ფუნქციის შედგენისა და გამოყენების მაგალითი ე.წ. “კრესტიკი-ნოლიკის” თამაშისთვის. ამ
თამაშში გვაქვს დაფა უჯრებით 3 3 , რომლებზეც მოწინააღმდეგენი მორიგეობით სვავენ
თავიაანთ ფიშკებს. გაიმერჯვებს ის მოთამაშე, რომელიც ნებისმიერ ვერტიკალზე, ან
ჰორიზონტალზე, ან დიაგონალზე დასვავს სამ ფიშკას. დავუშვათ, s1 იყოს მოთამაშე,
რომელიც სვავს ” “-ებს, ხოლო s2 მოთამაშე, რომელიც სვავს “0”-ებს. ჩვენ ფუნქციას ვადგენთ
s1 მოთამაშისათვის. შემოვიტანოთ f ( n ) შემფასებელი ფუნქცია ისეთი პოზიციებისთვის,
რომლებიც არ არიან დამამთავრებელი პოზიციები შემდეგი სახით:
f ( n ) m1 ( n ) m2 ( n )
სადაც m1 ( n ) არის იმ სრული სტრიქონების, სვეტების და დიაგონალების რაოდენობა,
რომლებიც ღიაა s1 მოთამაშისათვის, ხოლო m2 ( n ) კი – იმ სრული სტრიქონების,
სვეტებისა და დიაგონალების რაოდენობა, რომლებიც ღიაა s 2 მოთამაშისთვის. თუ n არის
დამამთავრებელი პოზიცია, რომელშიც იგებს s 2 მოთამაშე, მაშინ f ( n ) და თუ n არის
დამამთავრებელი პოზიცია, რომელშიც იგებს s1 , მაშინ f ( n )
დავუშვათ, მოცემული გვაქვს პოზიცია
60
მაშინ s1 მოთამაშისათვის ღიაა პირველი და მეორე სტრიქონები, პირველი და მესამე სვეტები
და ორივე დიაგონალი, s 2 მოთამაშისათვის ღიაა მესამე სტრიქონი, მეორე სვეტი და ერთი
დიაგონალი და f ( n ) 6 3 3 . განვიხილოთ, როგორ შეიძლება შემოკლებული მინიმაქსის
ალგორითმის გამოყენება ამ თამაშისათვის. დავუშვათ თამაშს იწყებს s1 მოთამაშე და
განიხილავს თამაშს სამის ტოლ სიღრმეზე. თუ გავითვალისწინებთ სიმეტრიას, რომელიც
ახასიათებს ამ თამაშს, მაშინ არსებობს ხუთი განსხვავებული სვლა, რომელიც s1 მოთამაშეს
შეუძლია გააკეთოს საწყისი პოზიციიდან. შესაბამისად მიიღება ხუთი განსხვავებული
პოზიცია P1 , P2 , P3 , P4 , P5.
P1 P2 P3 P4 P5
განვიხილოთ რა საპასუხო სვლების გაკეთება შეუძლია მოწინააღმდეგეს და შევაფასოთ
მიღებული პოზიციები (იხ.სურ.7.3.). ეს გამოთვლები გვიჩვენებს, რომ თუ s1 მოთამაშე
გააკეთებს P1 სვლას, მისი მოგება იქნება (-1) ტოლი.
სურ.7.3
სურ.7.4.
62
სურ. 7.5. ალფა-ბეტა პროცედურის პირველი ეტაპი.
63
სურ.7.6. ალფა-ბეტა პროცედურის მიერ მოკვეთილი კვანძები
სავარჯიშოები:
64
1. როგორც ვნახეთ, თუ ორი მოწინააღმდეგის თამაშში სრული ინფორმაციით და
ნულოვანი ჯამით, თუ ორივე მოთამაშე მიჰყვება ოპტიმალურ სტრატეგიას, არცერთ
მოთამაშეს არ შეუძლია წააგოს, ან მოიგოს ამ სტრატიგიით გათვალისწინებულზე
მეტი სარგებელი. დავშვათ, S 1 მოთამაშემ იცის ოპტიმალური სტრატეგია, S 2 -მ კი არა.
აჩვენეთ, შეუძლია თუ არა S 1 მოთამაშეს მიიღოს ოპტიმალურზე მეტი მოგება, თუ ის
გადაუხვევს ოპტიმალური სტრატეგიიდან.
2. ჩვენს მიერ განხილული მინიმაქსის პროცედურაში იგულისხმება, რომ
მოწინააღმდეგეები სვლებს აკეთებენ რიგრიგობით, მაგრამ არსებობს ტამაშები, სადაც
ეს ასე არაა (მაგალითად კალახი, სადაც ერთმა მოტამასემ ზედიზედ სეიძლება
შეასრულოს რამდენიმე სვლა). აჩვენეთ, რა შეიცვლება ასეთ შემთხვევაში მინიმაქსის
პროცდურაში.
3. შეიძლება თუ არა ლექციაში აღწერილი მეთოდების წარმატებითგამოყენება ისეთ
თამაშებში, როგორიცაა ჩოგბურთი და ბილიარდი?
65
ლექცია 8.
კომპიუტერულ სისტემაში ცოდნის წარმოდგენის მეთოდები. სემანტიკური
ქსელები, ფრეიმები,
67
ესინფორმაცია ჩიტების აბსტრაქციის დონეზე დამივცეთ
შესაძლებლობაჩიტებისკონკრეტულწარმომადგენელსმემკვიდრეობით მიიღოს
ესთვისებები.
ესრათქმაუნდა ამცირებს ცოდნის ბაზის ზომას, იმიტომრომამთვისებებს
განვსაზღვრათ მხოლოდ ერთხელ და არაყოველიკონკრეტულიწარმომადგენელისათვის
ცალ-ცალკე.ესმოსახერხებელიააგრეთვეცოდნისბაზაში ცვლილებებისშეტანისდროსაც.თუ
ჩვენბაზასვუმატებთ ჩიტებისრომელიმე კონკრეტულ წარმომადგენელს ანმთლიანად
ქვეკლასს, კლასისათვის აღწერილი თვისებები
ავტომატურადგავრცელდებაამქვეკლასზეც.
სემანტიკური ქსელების აღწერის ყველაზე მოხერხებული ფორმაა გრაფები,
რადგანაც შესაძლებელია ცნებებს შორის დამოკიდებულებების აღწერა კვანძებისა
და რკალების საშუალებით. კვილიანის მიერ შედგენილ
ცოდნისბაზაში,რომელიცშეიქმნასამოციანიწლებისბოლოსდარომელიც
ორგანიზებულიიყოლექსიკონისპრინციპისშესაბამისად,გრაფისთითოეული კვანძი
შეესაბამებოდა სიტყვებით აღწერილ ცნებას, ხოლო რკალების
საშუალებითაღიწერებოდაასოციაციურიკავშირებისხვაცნებებთან.ცოდნის ბაზა იყო
ორგანიზებული სიბრტყეებით, სადაც თითოეული სიბრტყე წარმოადგენდა გრაფს,
რომელიც ახასიათებდა ერთ ცნებას. ამ ქსელიდან ერთერთი ცნების მაგალითი
მოყვანილია სურ.8.2.
სურ.8.2. ცნებებისტირილიდაკომფორტითანაკვეთა.
სურ.8.3.კუბისგამოსახულებადამისიფრეიმი,როდესაცვაკვირდებით
პირველიწერტილიდან.
ფრეიმიარის სტერეოტიპულისიტუაციისწარმოსადგენიმონაცემთა
სტრუქტურა.ფრეიმის თითოეულ ნაწილთანასოცირებულიასხვადასხვასახის
ინფორმაცია.მისიერთინაწილიმიუთითებს,თუ როგორუნდაგამოვიყენოთ ფრეიმი,მეორე –
თუ რა შეიძლებამოჰყვესმისშესრულებასდამესამე–რა უნდამოვიმოქმედოთ,თუეს
ჩვენიმოლოდინიარგამართლდა.
ფრეიმიშეიძლება წარმოვიდგინოთროგორცქსელი, რომელიცშედგებაკვანძებისადა
კავშირებისაგანამ
კვანძებსშორის.ფრეიმის"ზედადონეები"მკაცრადგანსაზღვრულია,რადგანაც
შეესაბამებიანცნებებს,რომლებიცყოველთვის სწორია
მოცემულიშესაძლოსიტუაციებისათვის.შედარებითუფრო დაბალ
დონეებზეარისმრავალიგანსაკუთრებულიწვერო– ტერმინალებიანუ
უჯრედები,რომლებიცუნდაშეივსოსდამახასიათებელი მაგალითებით,ან მონაცემებით.
თითოეულიტერმინალისმიერ შეიძლებაწამოყენებულიიქნასპირობები, რომლებსაც
უნდააკმაყოფილებდნენ მისიდავალებები. მარტივი
პირობები,მაგალითად,მოთხოვნა,რომტერმინალისდავალებაიყოს რომელიმე სუბიექტი,
ანგარკვეული ზომისსაგანი,განისაზღვრება მარკერების საშუალებით. უფრო რთული
პირობებით მოიცემა მიმართებები ცნებებს
შორის,რომლებიცმოთავსებულნიარიანსხვადასხვატერმინალურ წვეროებში. სემანტკურად
ახლო ფრეიმების ჯგუფი შეიძლება გავაერთიანოთ ფრეიმთა სისტემაში. განვიხილოთ
უმარტივესი მაგალითი. დავუშვათ,ჩვენ
გვინდაშევადგინოთფრეიმი,რომლისსაშუალებითაცშევძლებთ
ცოდნისბაზაშიაღვწეროთკუბიისე,რომ რა პოზიციიდანაცარუნდაუყურებდესამ
კუბსხელოვნურიინტელექტუალურისისტემა,მანშეძლოსმისი ამოცნობა.
70
სურ. 8.3. მოცემული იყოკუბისგამოსახულებარაიმეკონკრეტული წერტილიდან და
შესაბამისიფრეიმისსტრუქტურა.დავუშვათ,ეხლა დამკვირვებელი
იწყებსმოძრაობასმარჯვნივ,მაშინA წახნაგიგაქრებადა მის ადგილზე გამოჩნდება წახნაგი
B, ხოლო B წახნაგის ადგილზე C წახნაგი.
8.4.კუბისგამოსახულებადამისიფრეიმიროდესაცკუბს
ვაკვირდებითმეორეწერტილიდანდავიცით,რომსაგანიარშეცვლილა.
სურ.8.5.კუბისგამოსახულებადამისიფრეიმიროდესაცკუბს
ვაკვირდებითმეორეწერტილიდანდასაგანიარშეცვლილა.
თუ ეხლაშევეცდებითხელახლააღვწეროთკუბი,უნდადავივიწყოთ ყველაფერი,
რაცვიცოდით დახელახლა აღვწეროთ წახნაგები BდაEდა
აღვწეროთწახნაგიC.მაგრამ,თუჩვენვიცით,რომსაგანიარშეცვლილა,
მაშინშეგვიძლიაშევინახოთინფორმაციაBდაE წახნაგებისშესახებდააღვწეროთმხოლოდC
წახნაგი.ამასთან,რომარდავკარგოთინფორმაციაA
წახნაგისშესახებ,ჩვენშეგვიძლიადავუკავშიროთის უხილავიწახნაგის
ტერმინალს.მაშინჩვენსფრეიმსექნებაშემდეგისახე(იხ. სურ. 8.5.).
შესაძლებელია გავაგრძელოთ ასეთირთულისტრუქტურისაგება, მას
ეწოდებაფრეიმთასისტემა,როდესაცდაკვირვებისწერტილები გვაქვს უფრო მეტი (სურ. 8.5.
მოცემულია დაკვირვების სამი წერტილი).შესაბამისი ფრეიმების სტრუქტურა ნაჩვენებია
სურ. 8.6.
71
სურ.8.6.ფრეიმთასისტემადაკვირვებისსამიწერტილისათვის.
გამარტივებისმიზნითსურათზენაჩვენებიარააEწახნაგი,რომელიცჩანს ყველაწერტილიდან.
აქმთავართვისებაა-
სხვადასხვაფრეიმები,რომლებიცშედიანერთსადაიმავესისტემაში,გამოიყენებენერთსადაიმ
ავეტერმინალებს. მაშინ შეიძლებამეხსიერებისერთ
წერტილშიწინასწარმოვაგროვოთინფორმაცია ობიექტებისუკვე
ცნობილითვისებებისშესახებდაკვირვებისწერტილიდან დამოუკიდებლად.ამის
შედეგადშესაძლებელიამეხსიერებისეკონომიადა მცირდება აგრეთვე აღქმისპროცესი.
ფრეიმები აფართოებენ სემანტიკური ქსელებისშესაძლებლობებს.ისინი
გვაძლევენსაშუალებასწარმოვადგინოთ რთულიობიექტებიარა
დიდისემანტიკურიქსელის,არამედერთიანიფრე-
იმულისტრუქტურისსახით.მიუხედავადამისა, რთული ცოდნისბაზების ორგანიზების
პრობლემებიასეთი მიდგომისდროს მაინცუნდა გადაიჭრას
ძირითადადპროგრამისტისინტუიციისადაგამოცდილებისხარჯზე.
სავარჯიშოები:
72
ლექცია 9.
ცოდნის წარმოდგენა კონცეპტუალური გრაფებისა და ალბათურ -ლოგიკური
კონცეპტების საშუალებით.
სურ.9..2.კონცეპტუალურიგრაფი,რომელიცგვიჩვენებს,რომძაღლიემა ყავისფერია.
სურ. 9.2. გვიჩვენებს, რომ ძაღლი ემა ყავისფერია. გრაფი, მოცემული სურ. 9.3. კი
გვიჩვენებს, რომ რომელიღაც არასპეციფირებული, ძაღლის ტიპის ობიექტი
ყავისფერია. კონცეპტუალური გრაფები გვაძლევენ საშუალებას აღვწეროთ აგრეთვე
კონკრეტული, მაგრამ არასპეციფირებული, უსახელო ეგზემპლარები.
74
სურ.9.4.კონცეპტუალურიგრაფები,რომლებიცგვიჩვენებენმარკერის და სახელის
გამოყენების სხვადასხვავარიანტებს
სურ.9.5.
75
მისაღებად. ამით ის არსებითადგანსხვავდებასემანტიკურიქსელებისაგან.ეს
ოპერაციებისაშუალებას გვაძლევენ
მივიღოთახალიგრაფებიარსებულიგრაფებისსპეციალიზაციის,ან
განზოგადებისგზითდაძალიანმნიშვნელოვანიაბუნებრივიენის
სემანტიკისწარმოსადგენად ცოდნის ბაზებში.ეს ოპერაციებია: კოპირება, შეზღუდვა,
გაერთიანება დაგამარტივება.
კოპირებისოპერაციასაშუალებასგვაძლევსgგრაფისაგანმივიღოთახალიგრაფი,რომე
ლიცწარმოადგენსg-სზუსტასლს.
შეზღუდვის ოპერაციით შეგვიძლია გრაფშიცნების კვანძიშევცვალოთ
მისისპეციალიზაციით. აქშესაძლებელია ორიშემთხვევა: თუ ცნება მონიშნულია ზოგადი
მარკერით, შესაძლებელია ის შევცვალოთინდივიდუალურიმარკერით, ან
ტიპისჭდეშეიძლება შეიცვალოს
მისიქვეტიპისჭდით,თუისშეესაბამებაობიექტს,რომელზედაცმიუთითებსცნება.
გაერთიანებისოპერაციითშეგვიძლიამოვახდინოთორი
გრაფისინტეგრირებაერთში.თუ მათგააჩნიათცნებისიდენტურიკვანძები,მაშინეს
კვანძიინტეგრირებულგრაფშიშევა მხოლოდერთხელ.გაერთიანებისოპერაცია
წარმოადგენს სპეციალიზაციის წესს, რადგანაც ინტეგრირებული
გრაფიარისნაკლებადზოგადი,ვიდრენებისმიერიმისიკომპონენტი. თუგრაფი შეიცავს
ორერთნაირ მიმართებას, მაშინ შეასძლებელია
ამოვშალოთერთერთიმათგანითავისრკალებთანერთად.ესაა გამარტივებისოპერაცია.
სურ. 9 .7.მოცემულია ამოპერაციების გამოყენების
მაგალითები.დავუშვათ,გვაქვსორი და g1g2 გრაფი.
სურ.9.6.
76
სურ.9.6.
სურ.9.7.
78
კონცეპტს. ამ მომენტის თავიდან ასაცილებლად, ჩვენ განვიხილავთ კონცეპტის გამოთვლის
ალბათურ-ლოგიკურ პროცედურას.
ცნებების გამოთვლისათვის.კონცეფციის გაანგარიშების ამ მეთოდს აქვს სუსტი მხარე.
როდესაც კონკრეტული ობიექტების რაოდენობა, რომელთა საფუძველზეც გამოითვლება
კონცეფცია, ძალიან დიდია, ნორმალური დისჟუნქციური ფუნქცია ასევე დიდია. ამ ფუნქციის
მინიმიზაციას დიდი დრო სჭირდება და ზოგჯერ იქმნება შთაბეჭდილება, რომ
კონცეპტიცალსახად არ არის გამოხატული.ამ მომენტის თავიდან ასაცილებლად, ჩვენ
განვიხილავთ კონცეფციების გამოთვლის ალბათურ-ლოგიკურ მეთოდს.დავუშვათ, რომ
გვინდა გამოვთვალოთ ნებისმიერი S კლასის ობიექტის კონცეფცია. ამ ობიექტებში
აღწერილია მათი ატრიბუტები მნიშვნელობების სივრცეში, რომელიც შეიძლება
წარმოდგენილი იყოს მატრიცის სახით
a11 a 21 ... a m1
a12 a 22 ... a 2m2
... ... ... ...
a1n a 2n3 ... a mnm
1
l t
თუ ავჯამავთ Pi pik და Pi p ik ,სადაც Pi არის ალბათობათა ჯამი aij ელემენტებისა,
k 1 k 1
ხოლო Pi კი - aij ელემენტებისა (ცხადია, რომ Pi Pi 1) მივიღებთ:
P1 , P2 , ..., Pm
( S ) ,
1
P , P2 , ..., Pm
80
შემთხვევაში ჩვნი კონცეპტი იქნება m-განზომილებიანი წერტილი ამ სივრცეში. ახლა
დავუშვათ გვაქვს ორი ბიფუნქციონალი, რომლებიც განსაზღვრულნი არიან m1 და m 2 -
განზომილებიან სივრცეებში. შემოვიტანოთ განზოგადოებული სივრცე, რომელიც
წარმოადგენს ამ სივრცეების გაერთიანებას. მაგალითად f ( A) ( x1 x2 x3 x5 x7 ) და
f ( B) ( x1 x3 x4 x6 x8 ) . განზოგადებული სივრცე იქნება ( x1 , x2 ,...x8 ) . მაშინ გვექნება
ბიფუნქციონალები:: f ( A) ( x1 x2 x3 x4 ... x8 ) და f ( B) ( x1 x2 x3 x4 x5 ... x8 ). ჩვენ შეგვიძლია
შემოვიტანოთ ევკლიდეს მეტრიკა ასეთ სივრცეშიდა მივიღოთ n-განზომილებიანი
დისკრეტული მეტრიკული სივრცე, რომელშიც შეგვიძლია ჩავატაროთ შემდეგი ოპერაციები
კონცეპტებზე:
ინვერსიის ოპერაცია ( x1 x2 x3 x4 ) ( x1 x2 x3 x4 )
უნიფიკაციის ოპერაცია ( x1 x2 x3 x4 ) ( x1 x2 x3 x4 x5 ) ( x1 x2 x3 x4 x5 )
თანაკვეთის ოპერაცია ( x1 x2 x3 x4 ) ( x1 x2 x3 x4 x5 ) (Ø x 2 x3 x 4 Ø)
ეკვივალენტობის ოპერაცია ( x1 x2 x3 x4 ) ( x1 x2 x3 x4 x5 )
ინკლუზიის ოპერაცია ( x1 x2 x3 x4 ) ( x1 x3 ) .
სავარჯიშოები:
81
82
ლექცია 10.
მანქანური სწავლების მეთოდები. კანდიდატთა გამორიცხვის ალგორითმი.
10.1 ტერმინის შესახებ.ტერმინი „მანქანური სწავლება“ ჩემი აზრით არაა მთლად სწორი
თარგმანი ინგლისური ტერმინისა “Mashing lerning”. ამ ტერმინის ქვეშ მოიაზრება მანქანის,
ანუ ხელოვნური ინტელექტის სწავლების მეთოდები და ალგორითმები და არა მანქანურად
სწავლა. მაგრამ ეს უკვე დამკვიდრებული ტერმინია და არა აქვს აზრი ამაზე კამათს.
უბრალოდ გვახსოვდეს რას აღნიშნავს ეს ტერმინი.
10.2. სწავლის აუცილებლობა.ნებისმიერ სისტემას, რომელსაც გააჩნია ინტელექტი (ან თვლის,
რომ გააჩნია) უნდა გააჩნდეს დასწავლის უნარი, ამის გარეშე ის არა თუ ვერ შეძლებს
დასახული მიზნების მიღწევას, არამედ ვერ შეძლებს არსებობას რეალურ, მუდმივად
ცვალებად გარემოში.
თუ შევადარებთ ბუნებრივ ინტელექტს, რასაც ხშირად ვაკეთებთ იმის დასადგენად,
რამდენად ინტელექტუალურია ხელოვნური სისტემა, აღმოვაჩენთ, რომ ბუნებრივი
ინტელექტი მართლაც სწავლობს მთელი მისი ცხოვრების განმავლობაში. ჩვენ ყველამ ვიცით
გამოთქმები „სწავლა სიბერემდე“, „ჭკვიანი (ანუ ინეტელწტუალური) ადამიანი სწავლობს
სხვის შეცდომებზე“ და ასე შემდეგ. ეს ყველაფერი კი გამოწვეულია იმით, რომ ადამიანები
უნდა შეეჩვივნენ გარემოს და მის ცვლილებებს. ყველა საპიპიდპირო ქმედებებმა, რომლებიც
მიმდინარეობდა, თუ მიმდინარეობს ლოზუნგით „ადამანმა უნდა დაიმორჩილოს ბუნება“,
მიგვიყვანა ძალიან ბევრ კატასტროფებამდე.
10.3. მანქანური სწავლების მეთოდები. დღეს აშკარაა, რომ ბუნებრივი (ამ სიტყვის ქვეშ
პრაქტიკულად იგულისხმება ადამიანი) ინტელექტი არის ყველაზე მაღლი დონის და
ამიტომ, ცხადია, რომ მხოლოდ მას შეუძლია თავისი ცოდნის გადაცემა ხელოვნური
სისტემებისთვის, თუმცა ძალიან ბევრი მათგანი (მათ შორის ისეთი მაღალი ინტელექტის
მქონე მეცნიერი, როგორიც იყო სტივენ ჰოუკინგი), კატეგორიულად წინააღმდეგები არიან
ამის.
დასწავლა ნიშნავს, რომ სისტემა აუმჯობესებს თავის წარმოსგენას რაიმე კონკრეტულ
ამოცანაზე და მას შეუძლია იგივე ან მსგავსი ამოცანა გადაჭრას უფრო მარტივად. დასწავლა
აგრეთვე ცვლის დასწავლად სისტემას, ეს ეჭვს გარეშეა, მაგრამ ყოველთვის არაა ადვილად
გასაგები რას გამოწვევს ეს ცლილებები სისტემაში.
მანქანური სწავლება წარმოადგენს კვლევების ფართო არეს, რომელიც შეიცავს მრავალ
პრობლემას და მათი გადაჭრის ალგორითმებს. ეს ალგორითმები განსხვავდებიან თავიაანთი
ამოცანებით, საწყისი მონაცემებით, სწავლების სტრატეგიებით, თუ ცოდნის წარმოდგენის
მეთოდებით. მაგრამ ყველა მათგანის მთავარ მიზანს წარმოადგენს შესაძლო ცნებების
სივრცეში საჭირო ინფორმაციის მოძებნა და მისი კორექტული განზოგადება.
ყველაზე პირველი იყო დასწავლის ეგრეთწოდებული ემერჯენსული მეთოდები, ანუ
ბიოლოგიური მეთოდები, კერძოდ კი დასწავლა ნეირონული ქსელების და გენეტიკური
ალგორითმების საშუალებით. ამ მეთოდებს ჩვენ განვიხილავთ შემდეგ ლექციებზე. ეხლა კი
განვიხილავთ დასწავლის სხვა მეთოდებს.
10.4.სიმბოლური სწავლება.დასწავლის ალგორითმები შეიძლება დავახასიათოთ რამდენიმე
თვალსაზრისით. ერთერთი პირველი და მნიშვენლოვანია მონაცემები და სწავლების
მიზანი. მაგალითად, ცნებათა დასწავლის ალგორითმები თავის მუშაობას იწყებენ მოცემული
ცნების შესაბამისი დადებითი (და ასევე ხშირად უარყოფითი)მაგალითების მოგროვებით.
ასეთი იყო წინა ლექციაზე გნხილული კონცეპტების გამოთვლის ალგორითმიც. დასწავლამ
უნდა უზრუნველყოს ისეთი ზოგადი განსაზღვრის ჩამოყალიბება, რომელიც მომავალში
დასწავლის ობიექტსმისცემს საშუალებას გამოიცნოს ამ ცნების შესაბამისი მაგალითები.
ინფორმაციის
ოპერაციები ცნებათა
წარმოდგენის სივრცე
ენა
ევრისტიკული
მონაცემები და
დასწავლის ძებნა
ამოცანის მიზნები
შეძენილი
ცოდნა
84
ჩაატაროს ამ სივრცის ჩხრეკა, რათა იპოვოს სასურველი კონცეპტი. კონცეპტუალური
სივრცის სირთულე ძირითადად განსაზღვრავს სასწავლო ამოცანის სირთულეს.
ჩავთვალოთ, რომ დასწავლად სისტემას უკვეგააჩნია ეგზემპლიარების ნაკრები (თუ ეს
ასე არაა, ჩვენ უნდა შევასრულთ ეს სამუშაო). ამის შემდეგ სისტემამ ან უნდა მოახდინოს მათი
განზოგადება, ან შექმნას ევრისტიკული წესი მათ გამოსარჩევად, ან ააგოს ფრეიმი, ან რაღაც
სხვა რაიმე ფორმით ჩამოაყალიბოს ეს კონცეპტი.ამ ამოცანის გადასაწყვეტად მას სჭირდება
წარმოდგენებით ოპერირება რათა ააგოს ცნება. ცნებათა სივრცესი ტიპურ ოპერაციებს
მიეკუთვნება განზოგადება ან სიმბოლური გამოსახულებების სპეციალიზაცია. ჩვენს მიერ
განხილულ ცნების ფორმირების მაგალითში დასწვლადმა სისტემამ ცნების წარმოსადგენად
შეიძლება გამოიყენოს კონკრეტული მონაცემების ცვლადებით შეცვლის მიდგომა.
დავუბრუნდეთ პირველ გამოსახულებას:
ზომა (ობ.1, პატარა) ფერი(ობ.1, წითელი) ფორმა(ობ.1, მრგვალი)
თუ შევცვლით ერთ მუდმივს ცვლადით, მივიღებთ შემდეგ განზოგადოeებებს:
ზომა (ობ.1, X) ფერი(ობ.1, წითელი) ფორმა(ობ.1, მრგვალი)
ზომა (ობ.1, პატარა) ფერი(ობ.1, X) ფორმა(ობ.1, მრგვალი)
ზომა (ობ.1, პატარა) ფერი(ობ.1, წითელი) ფორმა(ობ.1, X)
ზომა (ობ.1, X) ფერი(ობ.1, X) ფორმა(ობ.1, X)
დასწვლადმა სისტემებმა უნდა გაითვალისწინონ ძებნის მიმართულება და და
წესრიგი, და აგრეთვე ძებნის ეფექტურობისთვის გამოიყენონ არსებული დასასწავლი
მონაცემები და ევრისტიკები.
თუ კვლავ დავუბრუნდებით ჩვენს მაგალითს, აქ ალგორითმს შეუძლია ამოირჩიოს
ცნების კანდიდატად პირველი გამოსახულება და ჩასვას ის შემდეგ ეგზემპლიარებში.
მაგალითად, თუ სისტემას ექნებოდა მხოლოდ პირველი ეგზემპლიარი ზომა (ობ.1, პატარა)
ფერი(ობ.1, წითელი) ფორმა(ობ.1, მრგვალი), დასწავლადი სისტემა ამოირჩევდა მას ცნების
კანდიდატად. თუ ახლა ვაჩვენებთ მეორე ეგზემპლიარსზომა (ობ.2, დიდი) ფერი(ობ.2,
წითელი) ფორმა(ობ.2, მრგვალი), დასწავლადი სისტემა განაზოგადებს თავის კანდიდატს
მიიღები უფრო ზოგად კანდიდატს ზომა (,X,Y) ფერი(X, წითელი) ფორმა(X, მრგვალი).
ასე გააგრძელებს სისტემა, სანამ არ განიხილავს ყველა ეგზემპლიარს. ამასთან
შესაძლებელია როგორც დადებითი, ასევე უარყოფითი ეგზემპლიარების გამოყენება.
ვერსიების სივრცეში ძებნისას უნდა გამოიყენებოდეს სამიზნე ცნების როგორც
დადებითი, ასევე უარყოფითი მაგალითები. ცხადია, რომ შესაძლებელია მხოლოდ
პოზიტიური მაგალითების განზოგადება, მაგრამ უარყოფითი მაგალითებისაჭიროა
იმისთვის, რომ არ მოხდეს ზედმეტი განზოგადება.
10.7. განზოგადების ოპერაცია.განზოგადებისა და სპეციალიზაციისოპერაციები ყველაზე
ტიპური ოპერაციებია ცნებათა სივრცის განსასაზღვრად. მანქანურ დასწავლაში ძირითად
გამოიყენება განზოგადების შემდეგი ოპერაციები:
კონკრეტული მნიშვნელობების შეცვლა ცვლადებით. მაგალითად ფერი (ბურთი,
წითელი)გარდაიქმნება ფერი (X, წითელი).
პირობისგამორიცხვა კონუნქტიურ გამოსახულებაში. ჩვენი მაგალითისთვის,
გამოსახულება ფორმა (X, მრგვალი) ზომა (X, პატარა) ფერი(X,
წითელი)გარდაიქმნება ფორმა (X, მრგვალი) ფერი(X, წითელი).
გამოსახულებაში დიზუნქციის დამატება. მაგალითად, გამოსახულება ფორმა (X,
მრგვალი) ზომა (X, პატარა) ფერი(X, წითელი)გარდაიქმნება ფორმა (X, მრგვალი)
ზომა (X, პატარა) ფერი(X, წითელი) ფერი(X, ლურჯი).
თვისების შეცვლა მშობელი ობიექტით კლასთა იერარქიის შესაბამისად. თუ ობიექტი
primary_color (ძირითადი ფერი) წარმოადგენს სუპერკლასს თვისებისთვის წითელი,
მაშინ ფერი(X, წითელი)გარდაიქმნება ფერი(X, primary_color).
85
განზოგადების ოპერაცია შეიძლება აღვწეროთ სიმრავლეთა თეორიის ტერმინებშიც.
იდეალურ შემთხვევაში, დასწავლილი ცნება საკმარისად ზოგადი უნდა იყოს და
მოიცავდეს როგორც ყველა დადებით მაგალითს და ასევე სპეციფიკურსაც, რომ გამოირიცხოს
ყველა უარყოფითი მაგალითი. მაგრამ ერთი ცნებისგანზოგადება, რომელიც მოიცავს
მხოლოდ პოზიტიური შემთხვევების სრულ კომპლექტს, იქნება ობიექტი (X,Y,Z). ეს ცნება
აშკარადზედმეტად ზოგადია, რადგან ის უბრალოდ გვეუბნება, რომ ყველა ობიექტი
ეკუთვნის სამიზნე ცნებას. ზედმეტად განზოგადების თავიდან აცილების ერთ-ერთი გზაა
რაც შეიძლება ნაკლებად განვაზოგადოდ დადებით ეგზემპლიარები,მეორე კი- უარყოფითი
მაგალითების გამოყენებაა.
ევრისტიკური ძიება. სახელმძღვანელოები უნდა ემორჩილებოდნენ ძიების მიმართულებას
და რიგს და გამოიყენონ ხელმისაწვდომი სასწავლო მონაცემები და ევრისტიკები,
ეფექტურად მოძებნონ. "ბურთი" კონცეფციის სწავლის ჩვენს მაგალითში, სარწმუნო
ალგორითმს შეუძლია პირველი მაგალითი მიიღოს როგორც კანდიდატის კონცეფცია და
განზოგადოს იგი შემდეგი მაგალითების ჩათვლით. მაგალითად, ერთადერთი სასწავლო
მაგალითის ზომის გათვალისწინებით (obj1, მცირე)∧ ფერი (obj1, წითელი) ფორმა (obj1,
მრგვალი)
მოსწავლე ამ მაგალითს გახდის შესაფერის კონცეფციად; ეს კონცეფცია სწორად ახდენს
დანახულ ერთადერთ დადებით შემთხვევას.თუ ალგორითმში მოცემულია მეორე
დადებითი მაგალითიზომა (obj2, დიდი) ∧ ფერი (obj2, წითელი) ∧ ფორმა (obj2, მრგვალი),
პროგრამას შეუძლია განასაზღვროს კანდიდატის კონცეფცია ცვლადების კონსტანტებით
შეცვლის გზით. შედეგი არის უფრო ზოგადი კანდიდატის კონცეფცია, რომელიც უფრო
ახლოს არის ჩვენი სამიზნე ბურთის კონცეფციასთან.
ზომა (X, Y) ∧ ფერი (X, წითელი) ∧ ფორმა (X, მრგვალი)
10.8. განზოგადებისა და სპეციფიკაციის ოპერაციები.განზოგადებისა და სპეციალიზაციიის
ოპერაციები ყველაზე გავრცელებული სახეებია კონცეპტუალური სივრცის
განსაზღვრისთვის. ძირითადი განზოგადების ოპერაციები, რომლებიც გამოიყენება მანქანურ
სწავლებაში:
1. მუდმივების შეცვლა ცვლადით. მაგალითად: color(ball, red) color(X, red).
2. პირობების მოხსნა კონიუნქტურული გამონათქვამიდან. მაგალითად: shape(X, round) ∧
size(X, small) ∧ color(X, red) shape(X, round) ∧ color(X, red).
3. გამონათქვამში დიზუნქტივის დამატება. მაგალითად: shape(X,round)∧size(X,
small)∧color(X, red) shape(X, round) ∧ size(X, small) ∧ (color(X, red) ∨ color(X, blue)).
4. იერარქიის კლასში თვისების მშობლით ჩანაცვლება. მაგალითად: თუ ჩვენ ვიცით,
რომprimary colorარის red-ის სუპერკლსი, მაშინ: color(X, red) color(X, primary_color).
ჩვენ შეგვიძლია ვიფიქროთ განზოგადებაზე სიმრავლეთა თეორიის თვალსაზრისით:
დავუშვათ, P და Q იყოს წინადადებების ერთობლიობა, რომლებიც შესაბამისად შეესაბამება p
და q პრედიკატების აღრიცხვის გამონათქვამებს. გამოთქმა p უფრო ზოგადია, ვიდრე q, თუ P
⊇ Q. ზემოთ მოყვანილ მაგალითებში, ფერის შესატყვისი წინადადებების ერთობლიობა (X,
წითელი) შეიცავს ფერის შესატყვისი ნივთების ერთობლიობას (ბურთი, წითელი).
ანალოგიურადმაგალითში 2, ჩვენ შეგვიძლია ვიფიქროთ მრგვალი წითელი ობიექტების
ერთობლიობაზე, როგორც მრავალი პატარა წითელი მრგვალი ობიექტის სუპერკომპეტზე.
გაითვალისწინეთ, რომ უფრო ზოგადი ვიდრე დამოკიდებულება განსაზღვრავს ნაწილობრივ
რიგრიგობას ლოგიკურ წინადადებათა სივრცეში. ჩვენ ამას გამოხატავთ სიმბოლოთი "",
სადაც p ≥ q, ნიშნავს რომ p უფრო ზოგადია ვიდრე q. ეს შეკვეთა შეზღუდვის მძლავრი წყაროა
სასწავლო ალგორითმის მიერ შესრულებული ძიებისთვის.
შესაძლებელია ამ კავშირის გაფართოება დაფარვის ცნებით. თუ ცნება p უფო
ზოგადია, ვიდრე ცნება q, მაშინ შეგვიძლია ვთქვათ, რომ p ფარავს q-ს, ანუ p ფარავს q-ს მაშინ
86
და მხოლოდ მაშინ. როდესაც q (x) → positive (x), წარმოადგენს ლოგიკურ შედეგს p (x) →
positive (x). მაგალითად, ფერი (X, Y) ფარავს ფერი (ბურთი,Z), რომელიც თავის მხრივ ფარავს
ფერს (შარი,წითელი).
სურ.10.3
87
ჩვენ განვსაზღვრავთ სპეციფიკურ ძიებას ზოგადი ძიებისკენ, ჰიპოთეზის კომპლექტს
S, როგორც:
Begin
Initialize S to the first positive training instance;
N is the set of all negative instances seen so far;
For each positive instance p
Begin
For every s ∈S, if s does not match p, replace s with its most specific
generalization that matchs p;
Delete from S all hypotheses more general than some other hypothesis in S;
Delete from S all hypotheses that match a previously observed negative
instance in N;
End;
88
Begin
Initialize G to be the most general concept in the space;
Initialize S to the first positive training instance;
For each new positive instance p
Begin
Delete all members of G that fail to match p;
For every s ∈ S, if s does not match p, replace s with its most specific
generalizations that match p;
Delete from S any hypothesis more general than some other hypothesis in S;
Delete from S any hypothesis more general than some hypothesis in G;
End;
For each new negative instance n
Begin
Delete all members of S that match n;
For each g ∈ G that matches n, replace g with its most general specializations
that do not match n;
Delete from G any hypothesis more specific than some other hypothesis in G;
Delete from G any hypothesis more specific than some hypothesis in S;
End;
If G = S and both are singletons, then the algorithm has found a single concept
that
is consistent with all the data and the algorithm halts;
If G and S become empty, then there is no concept that covers all
positive instancesand none of the negative instances;
89
სურ.10.7.ვერსიათა სივრცის ზოგადიდან სპეციფიკურისკენ მიმართული ძებნა კონცეპტის
"ბურთი" დასასწავლად.
90
სურ. 10.9 G და S საზღვრებისთანხვედრა კანდიდატის გამორიცხვის ალგორითმის მიერ.
სავარჯიშოები:
91
ლექცია 11.
ხელოვნური ნეირონი. ერთშრიანი ნეირონული ქსელები.
12.1. ნეირონულიქსელებისარსი. როგორც უკვე ავღნიშნეთ პირველ ლექციაზე,1943 წელს
უ.მაკ-კალოკმა და უ.პიტსმა გამოაქვეყნეს შრომა, სადაც დაამტკიცეს, რომ შესაძლებელია
ადამიანის ნეირონული უჯრედის მოდელირება ტექნიკური სისტემით (კომპიუტერების
შექმნის შემდეგ კი კომპიუტერითაც). ასეთი ნეირონების საშუალებით შექმნა 1958 წელს ფ.
როზენბლატმა თავისი ცნობილი პერცეპტრონი და საფუძველი დაუდო ხელოვნური
ინეტელექტის ერთერთ მნიშვნელოვან მიმართულებას. დღეს ნეირონული ქსელები
გამოიყენება როგორც ხელოვნური ინტელექტის ყველა მიმართულებაში, და ასევე
პრაქტიკულ ამოცანების გადასაჭრელადაც.
11.2. ბიოლოგიური პროტოტიპი.განვიხილოთ, რა პრინციპრბით მოქმედებს ადამიანის და
ზოგადად ცოცხალი არსებების ბიოლოგიური ნეირონული უჯრედი (იხ. სურ.1.1). ისევე,
როგორც სხვა უჯრედები, ნეირონიც შედგება: ბირთვისა და სხეულისაგან, რომლებიც
უზრუნველყოფენ ნეირონის სიცოცხლისუნარიანოიბას. მაგრამ ჩვნთვის უფრო საინეტრესოა,
რომ ნეირონს გააჩნია პატარა დაბოლოებები, რომლებსაც უწოდებენ დენტრიტებს და
რომლებიც უზრუნველყოფენ კავშირებს სხვა ნეირონებთან, ამასთან დენტრიტების
საშუალებით ნეირონში შემოდის სგნალები გარემოდან ან სხვა ნეირონისგან.
94
გამოსასვლეზე, მაგრამ სანამ არ დამთავრდება დასწავლა, შეუძლებელია ვიცოდეთ, რა სახის
იქნება ეს ვექტორი.
11.4. ერთშრიანი პერცეპტრონი. პირველი ნეირონული ქსელი, რომელსაც შეეძლოაღქმა
(პერცეპცია) და გარკვეული რეაქციის ფორმირება აღქმაზე იყო როზენბლატის პერცეპტრონი.
ავტორი თვლიდა რომ ეს იყო თავისტვინის მუშაობის მოდელი. ფ. როზენბლატი ამ მოდელს,
რომელიც შეიქმნაკორნელის საავიაციო ლაბორატორიაში MARK-1 სახელით, უწოდებდა
სამშრიან პერცეპტრონს, მაგრამ დღევანდელი ტერმინოლოგიით ის წარმოადგენს ერთშრიან
ნეირონულ ქსელს. პერცეპტრონის შემავალი ცვლადები ( xi )ღებულობენ მხოლოდ ორ
მნიშვნელობას 0 ან 1, ხოლო წონები – მნიშვნელობებს ნამდვილ რიცხვთა სიმრავლიდან.
აქტივაციის დონე გამოითვლებაროგორც შემავალი მონაცემების შეწონილი ჯამი Σ wi xi .
პერცეპტრონის გამომავალი მნიშვნელობა გამოითვლება მკაცრი ზღურბლური
ფუნქციისსაშუალებით: თუ აქტივაციის დონე მეტია ან ტოლი ზღურბლურ მნიშვნელობაზე,
პერცეპტრონის გამოსასვლელი ტოლია 1-ს, წინააღმდეგ შემთხვევაში -1-ს. ამგვარად
პერცეპტრონის გამომავალი მნიშვნელობები გამოითვლება შემდეგნაირად: XW=1, თუ wi xi t
Σ ³ და XW= -1, თუ wi xi t Σ <. პერცეპტრონის წონების რეგულირებისთვის
რეგულირებისათვის გამოიყენება სწავლების მარტივი ალგორითმი მასწავლებლით, ანუ
პერცეპტრონს შესასვლელზე მიეწოდება დასწავლადი წყვილის პირველი ელემენტი,
პერცეპტრონი გამოთვლის გამოსასვლელ ვექტორს და ამის შემდეგ მას უჩვენებენ თუ რა
შედეგი უნდა მიეღო. პერცეპტრონის წონებს ცვლიან ისეთნაირად, რომ შემცირდეს
შეცდომები მის გამოსასვლელზე. ამ დროს გამოიყენება შემდეგი წესი: ვთქვათ c არის
სწავლების სიჩქარის მუდმივი კოეფიციენტი, ხოლო d – გამოსასვლელის მოსალოდნელი
მნიშვნელობა. შემავალი ვექტორის i -ური კომპონენტის წონითი კოეფიციენტის აგება
სრულდებაშემდეგი ფორმულით:სადაც (Σ ) sign xiwi არის პერცეპტრონის გამომავალი
მნიშვნელობა, რომელიც ტოლია +1, ან -1. სხვაობა სასურველ და რეალურ გამომავალ
მნიშვნელობებს შორის შეიძლება იყოს 0, 2 ან -2. შესაბამისად შემავალივექტორის ყოველი
კომპონენტებისათვის სრულდება ასეთი მოქმედება:
თუ სასურველი და რეალური გამოსასვლელი ვექტორები ერთმანეთსემთხვევა, წონები არ
იცვლება;
თუ რეალური გამოსასვლელი ვექტორის მნიშვნელობაა -1, ხოლოსასურველის კი 1, მაშინ i -
ური შესასვლელის წონითი კოეფიციენტიიზრდება 2cxi -ით;
თუ რეალური გამოსასვლელი ვექტორის მნიშვნელობაა 1, ხოლო სასურველის კი -1, მაშინ i
-ური შესასვლელის წონითი კოეფიციენტიმცირდება 2cxi -ით;
დასწავლის ამ მეთოდს უწოდებენ დელტა წესს.
როგორც უკვე ვნახეთ, ქსელის შემავალი მონაცემები წარმოადგენენnგანზომილებიან
ვექტორს და განსაზღვრავენ n განზომილებიან სივრცეს,ამიტომ კლასიფიკაციის სწავლების
ამოცანა დაიყვანება ამ სივრცეში სხვადასხვა კლასის წერტილების ჰიპერსიბრტყეების
საშუალებით რაიმე ჯგუფებად განცალკავების ამოცანაზე.ფ. როზენბლატმა დაამტკიცა
თეორემა პერცეპტრონის დასწავლადობის შესახებ, რომლის თანახმადაც პერცეპტრონს
შეუძლია ისწავლოს ყველაფერი, რისი წარმოდგენაც მას შეუძლია. ამ დამტკიცების ქვეშ
იგულისხმება, რომ დასწავლის პროცესი არის სასრულო. აქ მთავარია გავარჩიოთთუ რა
განსხვავებაა წარმოდგენასა და დასწავლას შორის. წარმოდგენისცნების ქვეშ იგულისხმება
პერცეპტონის უნარი მოახდინოს გარკვეულიფუნქციის მოდელირება, დასწავლა კი ნიშნავს
ქსელის წონების რეგულირების ისეთი სისტემატური პროცედურის არსებობას, რომელიც
უზრუნველყოფს ამ ფუნქციის რეალიზაციას.
10.5. რა არ შეუძლია ერთშრიან პერცეპტრონს. ფ. როზენბლატმა დაამტკიცა,რომ
პერცეპტრონს შეუძლია დაისწავლოს ყველაფერი, რისი წარმოადგენაცშესაძლებელია
პერცეპტრონში. სამწუხაროდ, მოგვიანებით მ. მისკმა და ს.პეიპერტმა აჩვენეს, რომ არსებობს
95
ძალიან ბევრი მარტივი ფუნქცია, რომლის წარმოდგენაც პერცეპტრონში შეუძლებელია,
მაგალითად, ისეთი მარტივი ფუნქცია, როგორიცაა „გამომრიცხავი ან“, ანუ XOR ფუნქცია.
ამფუნქციას გააჩნია ორი შესასვლელი და ერთი გამოსასვლელი. ამასთან ესფუნქცია
ღებულობს მნიშვნელობას ერთს, მხოლოდ მაშინ, როდესაც შესასვლელი მნიშვნელობები
ღებულობენ სხვადასხვა მნიშვნელობებს.განვიხილოთ პერცეპტრონი ორი, x1 და x2
შესასვლელით, ორიწონითი კოეფიციენტით w1 და w2 და ზღურბლით t . პერცეპტრონის
მუშაობის პრინციპის თანახმად, ჩვენ მივიღებთ შემდეგ უტოლობებს:
w1 1 w2 1 t ჭეშმარიტობის ცხრილის პირველი სტრიქონი
w1 1 0 t ჭეშმარიტობის ცხრილის მეორე სტრიქონი
0 w 2 1 t ჭეშმარიტობის ცხრილის მესამე სტრიქონი
0 0 t ჭეშმარიტობის ცხრილის ბოლო სტრიქონი
ბოლო უტოლობიდან გამოდის, რომ ამ პერცეპტრონის ზღურბლი დადებითია,
მაშინ უტოლობათა ამ სისტემას არ ექნება ამონახსენი, რადგანაც პირველი, მეორე და
მესამე უტოლობები მოდიან წინააღმდეგობაში. ეს აიხსნება იმით, რომ პერცეპტრონმა
მოცემული წერტილების სიმრავლე {(0,0),(0,1),(1,0),(11)} უნდა გაყოს ორ კლასად, {(0,0),
(1,1)} და {(0,1), (1,0} . როგორც სურ. 10.3-დან ჩანს, არ არსებობს წრფივი ფუნქცია,
რომელიც ამას მოახერხებს.
სავარჯიშოები:
1. რასწარმოადგენს
ხელოვნურინეირონიდარაფუნქციებისგანხორციელებაშეუძლიამას?
2.
განმარტეთტერმინები:შესასვლელისიგნალები,წონითიკოეფიციენტი,ნეირონისაქ
ტივაციისდონე,ზღურბლოვანიფუნქცია.
3. განმარტეთ, როგორსისტემასეწოდებაერთშრიანინეირონულიქსელი?
4. რაგანსაკუთრებულითვისებააღმოაჩნდათნეირონულქსელებს?
5. რასნიშნავსდასწავლამასწავლებლით?მასწავლებლისგარეშე?
6. ჩამოაყალიბეთთქვენისიტყვებითსახეთაკლასიფიკაციისამოცანა.
7. შეადგინეთნეირონულიქსელი
(ერთშრიანი),რომელიცშეასრულებსმარტივლოგიკურფუნქციებს.
96
97
ლექცია 12.
პერცეპტრონის გამოყენება ობიექტთა კლასიფიკაციის ამოცანებისთვის.
სადაც f (x) = sign(x) .თუ f (x) = 1 მაშინ x ობიექტი ეკუთვნის ერთ კლასსდა თუ f (x) = -1,
მაშინ x ობიექტი ეკუთვნის სხვა კლასს. ასეთ გარდაქმნასეწოდება წყვეტილ-წრფივი
ბიპოლარული ზღურბლური ფუნქცია.
99
ზღურბლური შესასვლელი ემსახურება ზღურბლური ფუნქციის გადაადგილებას
ვერტიკალური ღერძის გასწვრივ. ამ გადაადგილების სიდიდე განისაზღვრება სწავლების
პროცესში w 3 წონითი კოეფიციენტის დახმარებით. დავიწყოთ პერცეპტრონის სწავლება.
ამისათვის შევარჩიოთ წონების საწყისი მნიშვნელობები შემთხვევითად, მაგალითად
[0,75; 0,5; -0,6].იმისათვის, რომ გავარჩიოთ, რომელი მონაცემებისთვის ვითვლით
ფუნქციის მნიშვნელობას, დავუმატოთ ფუნქციას ზედა ინდექსი f ( NET )n . დავიწყოთ
ცხრილის პირველი სტრიქონიდან.
f ( NET )1 f ( 0 ,75 1 0.5 1 0 ,6 1 ) f ( 0 ,65 ) 1 .
რადგან ფუნქციის მნიშვნელობა მივიღეთ ერთის ტოლი და ის ემთხვევაცხრილის
მნიშვნელობას, ამიტომ წონითი კოეფიციენტების აგება არ არისსაჭირო. შესაბამისად
მეორე წყვილისთვისაც გამოვიყენებთ იგივე წონითკოეფიციენტებს.
f ( NET )2 F ( 0 ,75 9 ,4 0 ,5 6 ,40 ,6 1 ) f ( 9 ,65 1
მოცემული წყვილისათვის გამოსასვლეზე უნდა მიგვეღო -1,ამიტომ საჭიროა
წონითი კოეფიციენტების შეცვლა ზემოთმოყვანილი წესის თანახმად.
W t W t 1 c( d t 1 sign(( W t 1 )T ( X )t 1 )) X t 1
სადაც c არის დასწავლის სიჩქარის მუდმივი კოეფიციენტი, X არის შესასვლელის
და W - წონითი კოეფიციენტების ვექტორები t –სწავლებისიტერაციის ნომერი, T -
ტრანსპონირების სიმბოლო, d t 1 მოსალოდნელიშედეგი დროის ( t 1 ) მომენტში (ამ
შემთხვევაში t 2 ). t 2 მნიშვნელობისდროს ქსელის გამოსასვლელი ტოლია 1 -ის,
ნაცვლად 1 -ისა, ამიტომ შემდეგი წყვილისათვის წონითი კოეფიციენტები შეიცვლება
და მივიღებთ
0 ,75 9 ,4 3 ,01
W W 0 ,2( 1 1 ) X 0 ,5 o ,4 6 ,4 2 ,06
3 2 2
0 ,6 1 1
100
ფუნქციას წარმოადგენს სიგმოიდური ფუნქცია, რომელმაც თავისი სახელი მიიღო
ლათინურ S-თან მსგავსების გამო.
ტიპური სიგმოიდური აქტივაციური ფუნქცია, ანუ ლოგისტიკულიფუნქცია
მოიცემა განტოლებით:
f ( NET ) 1 ( 1 e NET )
101
შეცდომების მინიმიზაციას გამომავალმნიშვნელობასა და ქსელის აქტივაციის დონეს
შორის იმის მიუხედავად თუროგორი სახე აქვს აქტივაციურ ფუნქციას, მაგრამ უწყვეტი
აქტივაციურიფუნქციების მქონე ქსელებისათვის სწავლების ყველაზე მნიშვნელოვან
წესსწარმოადგენს დელტა-წესი. ინტიუციურად დელტა-წესი ეფუძნება ისეთცნებას,
როგორიცაა შეცდომის ზედაპირი, რომელიც მონაცემთამთელი ნაკადისათვის ჯამურ
შეცდომას განსაზღვრავს როგორც ფუნქციასდამოკიდებულს ქსელის წონებზე. წონების
ყოველი შესაძლო კონფიგურაცია განსაზღვრავს შეცდომის ზედაპირის წერტილს. გვაქვს
რა წონებისგარკვეული კონფიგურაცია, სწავლების ალგორითმის საშუალებით შეიძლება
ვიპოვოთ ამ ზედაპირზე მიმართულება, რომლის გასწვრივაც ყველაზე სწრაფად ხდება
შეცდომის ფუნქციის შემცირება. ამ მიდგომას ეწოდება სწავლება გრადიენტული
დაშვების მეთოდით, რადგანაც გრადიენტი განსაზღვრავს ზედაპირის დახრილობას მის
ყოველ წერტილში.
დელტა-წესი გვთავაზობს უწყვეტი და დიფერენცირებადი აქტივაციური
ფუნქციის გამოყენებას. ეს თვისებები გააჩნია ზემოთგანხილურ ლოგისტიკურ ფუნქციას.
დელტა-წესს ქსელის i -ური კვანძის j -ური წონითიკოეფიციენტის რეგულირებისათვის
აქვს შემდეგი სახე:
c( d i Oi f / ( net i ) x j
სადაც c არის სწავლების სიჩქარის მუდმივი კოეფიციენტი, d i -ური და Oi -ური i -ური
ნეირონის მოსალოდნელი და რეალური გამოსასვლელები, f i / - i -ური კვანძის
აქტივაციური ფუნქციის წარმოებული, ხოლო x j -ური j -ური კვანძისშესასვლელის
მნიშვნელობა. ვაჩვენოთ თუ საიდან გამოდისეს ფორმულა. ქსელის გამოსასვლელზე
საშუალოკვადრატული შეცდომაპროპორციულია ყოველი კვანძისათვის შეცდომების
კვადრატების ჯამისადა გამოითვლება ფორმულით
E 1 2 ( d i Oi )2
i
აჯამვის დროს ხდება შეცდომების კვადრატში აყვანა, იმისათვის, რომ დადებითმა
და უარყოფითმაშეცდომებმა არ მოახდინონ ერთმანეთის კომპენსირება.
განვიხილოთ შემთხვევა, როცა ქსელი შედგება ნეირონების ერთადერთი
(გამოსასვლელი) შრისაგან. თავდაპირველად აუცილებელია განვსაზღვროთ ქსელის
ყოველ გამოსასვლელ ნეირონზე შეცდომის ცვლილების სიჩქარე. ამისათვის უნდა
ავიღოთ კერძო წარმოებული, რომელიც განსაზღვრავს ვექტორული ცვლილების
სიჩქარეს, მისი ერთ-ერთი ცვლადის მიხედვით. ზოგადი შეცდომის კერძო წარმოებული
გამომავალი შრის ყოველი i -ური ნეირონისათვის იქნება
1 ( d i Oi ) 2
E 2 i
( d i Oi )
Oi Oi
102
11.4. შეცდომის ორგანზომილებიანი სიბრტყე. c კონსტანტადასწავლის ბიჯის ზომაა.
E E Oi E Oi
ანუ ( d i Oi )
w k Oi w k w k w k
განვიხილოთ ამ გამოსახულების მარჯვენა მხარე, სადაც გამოითვლება i -ური
ნეირონის რეალური გამომავალის კერძო წარმოებული კავშირების იმწონითი
კოეფიციენტების მიხედვით, რომლებსაც მივყავართ ამ ნეირონთან.
ნეირონის გამოსასვლელი მნიშვნელობა წონითი კოეფიციენტების საშუალებით
გამოისახება შემდეგი სახით: Oi f ( Wi X i ) , სადაც Wi X i net i .
რადგან f ამ შემთხვევაში უწყვეტი ფუნქციაა, შეიძლება გამოვთვალოთ მისი წარმოებული
Oi E
x k f / ( net i ) მაშინ ( d i Oi ) f / ( net i ) xk
w k w k
შეცდომის მინიმიზაციისათვის აუცილებელია შევცვალოთ წონის მნიშვნელობა
ანტიგრადიენტის მიმართულებით, საიდანაც მივიღებთ, რომ
E
wk c c( ( d i Oi ) f / ( net i ) xk c( d i Oi ) f / ( net )i x
wk
უნდა აღინიშნოს, რომ ისევე, როგორც ლოკალური პიკის ძებნის ალგორითმს, დელტა
წესსაც არ შეუძლია გაარჩიოს ლოკალური მინიმუმიგლობალურისაგან, რაც იწვევს ამ
წესის არამდგრადობას. დელტა წესის ეფექტურობაზე არსებით გავლენას ახდენს
აგრეთვე სწავლების სიჩქარის cკოეფიციენტი. (იხ. სურ. 11.4.). ამ კოეფიციენტის
მნიშვნელობა განსაზღვრავს სწავლების ყოველ ბიჯზე წონების ცვლილების სიდიდეს.
რაც უფროდიდია c , მით უფრო ჩქარა მიდის წონა ოპტიმალურ მნიშვნელობამდე.თუმცა
თუ c კოეფიციენტი ძალიან დიდია, ალგორითმი შეიძლება გასცდესექტრემუმის
წერტილს ან დაიწყოს რხევა მის ირგვლივ. სწავლების სიჩქარის კოეფიციენტის მცირე
მნიშვნელობები საშუალებას იძლევიან აღმოვფვხრათ ეს პრობლემა, მაგრამ ანელებენ
სწავლების პროცესს.
სავარჯიშოები:
103
104
ლექცია 13
მრავალშრიანი ნეირონული ქსელები.
13.1. მრავალშრიანი ნეირონული ქსელი.აშკარაა, რომ ერთშრიანი პერცეპტრონები რთული
პრობლემების გადასაწყვეტად არ გამოდგებოდა. ამიტომ წარმოიშვა იდეა მრავალშრიანი
ქსელების შექმნისა, ისე, როგორც ეს გვხვდება ადამიანის თავის ტვინში. რა შესაძლებლობები
ემატება პერცეპტრონს, თუ ის შეეიცავს ერთ შრეზე მეტს? განვიხილოთ უმარტივესი
ორშრიანი ქსელი, რომელიც შედგება მხოლოდ სამი ნეირონისგან (იხ. სურ. 13.1).
აქ პირველ შრეში განლაგებულია ორი ნეირონი, რომლებიც ახდენენ “და” და “ან” ლოგიკური
ოპერაციების განხორციელებას, ხოლო მეორე შრის ერთადერთი ელემენტი ასრულებს
“გამომრიცხავი ან” ოპერაციას. ეს მაგალითი გვიჩვენებს, რომ მრავალშრიანი ქსელების
საშუალებით შესაძლებელია უფრო რთული პროცესების მოდელირება და სახეთა
კლასიფიკაციის უფრო საინტერესო შემთხვევების გადაჭრა.
13.2. პირდაპირი გავრცელების ნეირონული ქსელები.ნეირონულ ქსელს,რომელიც შეიცავს
რამდენიმე შრეს, და d შრის ყველა ელემენტი იღებს შესასვლელ სიგნალებს ( d 1 ) შრის
ყველა ელემენტისაგან და გადასცემს გამოსასვლელ სიგნალებს ( d 1 ) შრის ყველა
ელემენტს, უწოდებენ პირდაპირიგავრცელების ნეირონულ ქსელებს.ჩვენი მიზანია ვაჩვენოთ,
რომ შესაძლებელია ისეთი მრავალშრიანი ნეირონული ქსელების აგება, რომელთა
გამოთვლითი შესძლებლობები გაცილებით აღემატება ერთშრიანი ნეირონული ქსელის
გამოთვლით საშუალებებს და რომ გაფართოებული დელტა წესი წარმოადგენს დასწავლის
ალგორითმს ასეთი ქსელებისათვის.
ჯერ კარგად გავერკვიოთ მრავალშრიანი ნეირონულიქსელების სტრუქტურაში (იხ.
სურ.12.2.). რითი სჯობია მრავალშრიანი ნეირონული ქსელის გამოთვლითი საშუალებები
ერთშრიანი ქსელის გამოთვლით საშუალებებს. პირველ რიგში, რაც ყველაზე მთავარია,
განსხვავებით ერთშრიანი ქსელისა, აქ შემოდის უწყვეტი ზღურბლოვანი ფუნქცია,
რომელსაც უწოდებენ სიგმოიდურ ფუნქციას (იმის გამო, რომ მისი გრაფიკი წააგავს ასო s -ს,
განსხვავებით ერთშრიანი ნეირონული ქსელებისა, სადაც ზღურბლოვანი ფუნქცია იყო
წრფივ-წყვეტილი. ეს გვაძლევს საშუალებას გამოვთვალოთ ამ ფუნქციის წარმოებული, რაც
მნიშვნელოვნად ზრდის გამოთვლით საშუალებებს. ეს კი ძალიან მნიშვნელოვანია
დასწავლის პროცესში არსებული შეცდომების გასასწორებლად, რადგანაც მრავალშრიან
ნეირონულ ქსელებში შეცდომების გავრცელება ხდება სიგნალების გავრცელების
საწინააღმდეგოდ, ანუ თუ სიგნალი ვრცელდება შესასვლელი შრიდან გამოსასვლელი
შრისკენ, სეცდომები პირიქთ, ვრცელდება გამოსასვლელი შრიდან შესასვლელი შრისკენ,
ამასთან ჩვენ არ შეგვიძლია ჩავერიოთ დაფარულ შრეებში, ანუ შეცდომები გავასწოროთ იქ,
სადაც ისინი წარმოიშვებიან. ჩვენ ისევაც შეგვიძლია ვიმსჯელოთ მხოლოდ იმის მიხედვით,
თუ რა სიგნალი მიიღო სისტემამ შესასვლლელზე და რა უნდა მიგვეღო გამოსასვლელზე და
რა მივიღეთ სინამდვილეში.
106
ცვლილება შესასვლელი შრის კვანძებისთვის გამოითვლება ფორმულით:
w ki c( d i Oi )Oi ( 1 Oi ) x i
ფარული შრეებისათვის კი - wki 1cOi ( 1 Oi ) ( delta j wij )xi
მეორე ფორმულაში j არის შემდეგი შრის კვანძის ინდექსი. სიგნალი i -ური ნეირონიდან
მიდის მხოლოდ ამ შრემდე და შესაბამისად შეცდომაც ვრცელდება მხოლოდ ამ ნეირონამდე.
E
delta j ( d i Oi )Oi ( 1 Oi ) .
net j
გამოვთვალით ამ ფუნქციის წარმოებული. ჯერ ავიღოთ პირველი ფუნქციის წარმოებული
E
( d i Oi ) f / ( net i ) xk
wk
თავის მხრივ f / ( net ) f ( net )( 1 f ( net )).
E
რადგანაც f ( net i ) Oi , მივიღებთ ( d i Oi )Oi ( d i Oi )w k .
w k
რადგან შეცდომის მინიმიზაციისთვის წონები უნდა იცვლებოდეს გრადიენტის
საწინააღმდეგო მიმართულებით, მაშინ i -ური ნეირონისთვის წონითი კოეფიციენტის
ცვლილების გამოთვლისას ეს წარმოწბული უნდა გავამრავლოთ ( c ) -ზე:
რადგან შეცდომის მინიმიზაციისთვის წონები უნდა იცვლებოდეს გრადიენტის
საწინააღმდეგო მიმართულებით, მაშინ i -ური ნეირონისთვის წონითი კოეფიციენტის
ცვლილების გამოთვლისას ეს წარმოწბული უნდა გავამრავლოთ ( c ) -ზე:
w k c( d i Oi )Oi ( 1 Oi ) x k
გამოვიყვანოთ დაფარული შრეებისთვის წონების აგების ფორმულა. სიმარტივისთვის ჯერ
დავუშვათ, რომ ქსელი შეიცავს მხოლოდ ერთ დაფარულ შრეს. ავიღოთ i -ური ნეირონი
დაფარული შრიდან და გავაანალიზოთ მისი წვლილი გამომავალი შრის j -ური ნეირონის
გამოსასვლელზე აესევულ შეცდომაში, შემდეგ კი შევკრიბოთ ეს წვლილები გამომავალი
შრის ყველა ელემენტისთვის და ბოლოს გავითვალისწინოთ ავიღოთ i -ურ ნეირონთან
კავშირის k -ური წონითი კოეფიციენტის მთლიანი შეცდომა. ეს სიტუაცია აღწერილია სურ.
13.3.
ჯერ განვიხილოთ ქსელის შეცდომის კერძო წარმოებული დაფარული შრის შეცდომაში i -
ური ნეირონის გამოსასვლელის მიხედვით. ამისათვის შეგვიძლია ვისარგებლოთ
იგივეობით:
E E net j
O i net j O i
ამ დამოკიდებულების მარჯვენა მხარს პირველი მამრავლი აღებული საპირისპირო ნიშნით
აღვნიშნოთ delta j -თი. მაშინ გვენება
E net j
delta j
O i O i
გავიხსენოთ, რომ net j , გსმოსასვლელი შრის j -ური ნეირონის აქტივაციიც დონე
გამოითვლება როგორც დაფარული შრის წონითი კოეფიციენტებისა და გამოსასვლელების
ნამრავლის ჯამი net j w ij O .
რადგან კერძო წარმოებული გამოითვლება ჯამის მხოლოდ ერთი კომპონენტის i და j
ნეირონებს შორის კავშირით
net j
w ij
O i
107
სადაც w ij არის დაფარული შრის i -ურ ნეირონსა და გამოსასვლელი შრის j -ურ ნეირონს
შორის კავშირის წონა. თუ ჩავსვავთ ამ შედეგს შეცდომის წარმოებულის ფორმულაში
მივიღებთ
E
delta j w ij
O i
108
ქსელებში, რომლებიც შეიცავენ რამდენიმე დაფარულ შრეს, შეცდომის გავრცელების ეს
პროცედურა გამოყენება რეკურსიულად n -ური დაფარული შრიდან ( n 1 ) დაფარული
შრისკენ. მიუხედავად იმისა, რომ შეცდომების გავრცელების მეთოდი იძლევა
მრავალშრიანიქსელების სწავლების პრობლემის გადაწყვეტის საშუალებას, მას გააჩნია იგივე
ნაკლი, რაც დელტა წესს. რადგან იგი ეფუძნება ექსტრემუმის ძებნის მეთოდზე, ამიტომ
შესაძლებელია ის იკრიბებოდეს ლოკალური მინიმუმისაკენ და ამასთან გამოსათვლელად
არც ისე მარტივია. განსაკუთრებით ქსელებისთვის შეცდომების რთული ზედაპირით.
12.4. შეცდომის უკუგავრცელების მეთოდის გამოყენების მაგალითი.სისტემა NETtalk. ეს
სისტემა წარმოადგენს სწავლების რთული პრობლემისნეიროქსელური ამოხსნის
საინტერესო მაგალითი. სისტემა სწავლობს ინგლისური ტექსტის წარმოთქმას. სისტემა
NETtalk სწავლობს ტექსტის სტრიქონის კითხვას და აბრუნებს ფონემას შესაბამისი
მახვილით სტრიქონის ყოველი ასოსათვის. ფონემა არისენაში ბგერის ბაზური
ერთეული, ხოლო მახვილი – ამ ბგერის ფარდობითისიმძლავრე. რადგან ყოველი ასოს
წარმოთქმა დამოკიდებულია კონტექსტზე და მის გარემომცველ ასოებზე, ამიტომ
NETtalk მუშაობს ფანჯარასთან,რომელიც შეიცავს შვიდ სიმბოლოს. ამ ფანჯარაში
ტექსტის გადაადგილების დროს, NETtalk ყოველიასოსათვისაბრუნებსწყვილს“ფონემა-
მახვილი”.
ამ სისტემის არქიტექტურა მოცემულია სურ. 13.4. ქსელი შედგება ნეირონების
სამიშრისაგან. შემავალი კვანძები შეესაბამებიან ტექსტურიფანჯრის შვიდ სიმბოლოს.
ფანჯარაში ყოველი პოზიცია წარმოდგენილია29 შემავალი ნეირონით, მათ შორის თითო
ალფაბეტის ყოველი ასოსათვისდა სამი პუნქტუაციის ნიშნებისა და პრობელებისათვის.
ასო ყოველ პოზიციაში ააქტიურებს შესაბამის ნეირონს. გამომავალი შრის კვანძებიდან
ოცდაერთის საშუალებით წარმოიდგინება ფონემები ადამიანისათვის დამახასიათებელი
არტიკულაციის თვისებებით. დარჩენილი 5 ნეირონის საშუალებით ხდება მახვილისა და
მარცვლების საზღვრების კოდირება. ქსელიშეიცავს 80 დაფარულ ნეირონს, 26 გამომავლ
კვანძს და 18629 კავშირს.სწავლების დროს სისტემას წარედგინება 7 სიმბოლიანი
ფანჯარა დაის ცდილობს წარმოთქვას შუა ასო. წარმოთქმულის კორექტულთან
შედარების შემდეგ, სისტემის წონები აიგება შეცდომის უკუგავრცელების მეთოდით. ეს
მაგალითი ახდენს ნეირონული ქსელების მრავალი საინტერესოთვისების ილუსტრაციას,
რომელთა ნაწილიც ასახავს ადამიანური სწავლების ბუნებას. მაგალითად, დასაწყისში
როდესაც კორექტული პასუხებისპროცენტული შეფარდება მცირეა, სწავლების
პროცედურა მიდის საკმარისად სწრაფად და მცირდება სწორი პასუხებს წილის გაზრდის
შედეგად. ისე,როგორც ადამიანისათვის, ქსელი რაც უფრო მეტი სიტყვის წარმოთქმას
ისწავლის, მით უფრო ადვილი იქნება უცნობი სიტყვების გამოთქმა. ექსპერიმენტებმა,
რომლებშიც წონითი კოეფიციენტები იცვლებოდნენ შემთხვევით,აჩვენა რომ ქსელი
მდგრადია სტრუქტურის დაზიანებისადმი. გამოკვლევებმა აჩვენეს დაზიანებული
ქსელის ხელახალი სწავლების მაღალი ეფექტურობა.
109
მრავალშრიანი ქსელების კიდევ ერთი საინტერესო ასპექტია დაფარული შრეების
როლი. სწავლების ნებისმიერმა ალგორითმმა უნდა შეასრულოს განზოგადოება
საგნობრივი არის წერტილების უცნობ ქსელებზე.დაფარული შრეები თამაშობენ
მნიშვნელოვან როლს ქსელისათვის ამ განზოგადოების რეალიზაციაში. ბევრი ქსელის
მსგავსად, რომლებიც ახორციელებენ სწავლებას უკუგავრცელების მეთოდით NETtalk
სისტემის დაფარული შრე შეიცავს უფრო მცირე რაოდენობის ნეირონს, ვიდრე
შემავალიშრე. ეს ნიშნავს, რომ სწავლების სახეებში შემავალი ინფორმაციის
კოდირებისათვის დაფარულ შრეებში გამოიყენება მცირე რაოდენობის ნეირონები,ე.ი. ეს
შრე რეალიზაციას უკეთებს აბსტრაქციის რომელიღაც ფორმას. ასეთშეკუმშულ
კოდირებას მივყავართ იქამდე, რომ სხვადასხვა შემავალ სახეებსდაფარულ შრეში
აქვთიდენტური წარმოდგენები. ზუსტად ამაში მდგომარეობს განზოგადოება.
სისტემის სწავლება მიმდინარეობს საკმარისად ეფექტურად, თუმცაამისთვის
მოითხოვება დიდი რაოდენობის სასწავლო მაგალითები, აგრეთვე სწავლების იტერაციის
მრავალჯერადი გამეორება ერთიდაიგივე სასწავლო მონაცემებზე.
110
ლექცია 14.
გენეტიკური ალგორითმები. მათი გამოყენება ძებნის ამოცანებში.
კომივოიაჟერის მაგალითი.
112
დავუშვათ, საჭიროა გენეტიკური ალგორითმის დამხარებით ვისწავლოთ
სტრიქონების კლასიფიცირება, რომლებიც შედგებიან ერთიანებისა და ნულებისაგან. ასეთ
ამოცანაში ბიტური სტრიქონების პოპულაციის აღწერა შეიძლება შაბლონის დახმრებით,
რომელიც შედგება 1-ს 0-ს და # სიმბოლოებისაგან, სადაც # - სიმბოლო შეიძლება
შეესაბამებოდეს როგორც ერთიანს ასევე ნულს. შესაბამისად შაბლონი 1##00##1
წარმოადგენს ყველა რვაბიტიან სტრიქონს, რომელიც იწყება და მთავრდება ერთიანით და
შუაში შეიცავს ორ 0-ს მიყოლებით.
მეორე მნიშვნელოვანი გენეტიკური ოპერატორია მუტაცია. ამ ოპერაციის
შესასრულებლად შემთხვევითად ამოირჩევა კანდიდატი და ასევე შემთხვევითად
წერტოლები, რომლებშიც ხდება შეუცვლა. მაგალითად, მუტაცია იქნება შაბლონში ბიტის
შემთხვევითად ამორჩევა და მისი მნიშვნელობის 1-იანის 0-ით ან #- ით შეცვლა. მუტაციის
ოპერაციის არსი მდგომარეობს ამოხსნის ზოგიერთი ისეთი მნიშვნელოვანი კომპონენტის
წარმოქმნის შესაძლებლობაში, რომელიც არ იყო საწყის პოპულაციაში. თუ ზემოთ
განხილულ მაგალითში საწყის პოპულაციის არცერთი წევრი არ შეიცავს 1-ს პირველ
პოზიციაში, მაშინ შეჯვარების პროცესში არ შეიძლება ამ თვისების მქონე შთამომავლის
მიღება. პირველი ბიტის მნიშვნელობის შეცვლა შეიძლება მხოლოდ მუტაციის შედეგად.
გენეტიკური ალგორითმის მუშაობა გრძელდება მანამ, სანამ არ იქნება მიღწეული მისი
დამთავრების პირობა, მაგალითად, ერთი ან რამდენიმე კანდიდატისათვის ხარისხის
კრიტერიუმის მნიშვნელობა არ გადააჭარბებს რაიმე ზღურბლს. განვიხილოთ ამოცანის
წარმოდგენისა და ხარისხის კრიტერიუმების შერჩევის პრობლემები მაგალითზე.
14.3. გენეტიკური ალგორითმის გამოყენება ნკფ-თვის.განვიხილოთალგორითმის გამოყენება
ნორმალურ კონუნქციურ ფორმაში აღწერილი პრობლემისათვის. ნორმალურ კონუნქციურ
ფორმაში (ნკფ) აღწერა ნიშნავს გამოსახულებას, რომელიც შედგება ერთმანეთთან „და“
ოპერაციით დაკავშირებული ოპერატორების მიმდევრობისაგან. ამასთან, თითოეული
ოპერატორი უნდა შედგებოდეს ან ერთი ასოსაგან, ან რამდენიმე ასოსაგან, რომლებიც
ერთმანეთთან დაკავშირებულია “ან” ოპერაციით. მაგალითად, გამოსახულება:
( a c ) ( a c e ) ( b c d e ) ( a b c ) ( e f )
წარმოადგენს ნკფ-ს, რომელიც შედგება ხუთი ოპერატორისაგან, სადაც თითოეული
ოპერატორი წარმოადგენს რამდენიმე ლიტერალის დიზუნქციას. წარმოდგენა ნკფ-ში
ნიშნავს, რომ ყველა ლიტერალისათვის (ჩვენს შემთხვევაში – ექვსი) არსებობს ლოგიკური
მნიშვნელობები 0 (მცდარი) ან 1 (ჭეშმარიტი) ისეთი, რომ ნკფ ღებულობს მნიშვნელობას 1.
მაგალითად, თუ ლიტერალები c და f ღებულობენ მნიშვნელობებს 1, მაშინ ნკფ-ც
ღებულობს მნიშვნელობას 1. აქედან მტკიცდება, რომ ეს ნკფ წარმოდგენადია.
იმისათვის, რომ აღვწეროთ მონაცემები ამ ამოცანისათვის, დაგვჭირდება ექვსბიტიანი
სტრიქონები, სადაც თითოეული ბიტი შეესაბამება a ,b ,c ,d ,e , f
ლიტერალებისმნიშვნელობებს. ასემაგალითად 1 0 1 0 1 0სტრიქონინიშნავს,
რომლიტერალები a , c , e ღებულობენმნიშვნელობას 1დალიტერალები b , d , f -
კიმნიშვნელობას 0.
გენეტიკურიოპერაციებისშესრულებისშედეგადუნდამივიღოთშთამომავლობა,
რომლისთვისაც ნკფღებულობსმნიშვნელობას 1. ესიმასნიშნავს,
რომგენეტიკურიოპერაციებისშედეგადუნდამივიღოთახალისტრიქონი,
რომელიცშეიძლებაგანხილულიიყოსროგორცამოცანისამოხსნისკანდიდატი.
ამშემთხვევაშიშესაძლებელიაგამოყენებულიიყოსროგორცშეჯვარების,
ასევემუტაციისოპერაციები,
რადგანაცმათიგამოყენებისშედეგადკვლავმიიღებაექვსბიტიანისტრიქონები.
113
ასევეშეიძლებაგამოვიყენოთინვერსირებისდაგაცვლისოპერაციები.
პირველისარსიმდგომარეობსსტრიქონშიბიტებისმიმდევრობისშეცვლაშებრუნებულზე,
ხოლომეორესიკი – ნებისმიერიორიბიტისათვისადგილებისგაცვლაში.
ამთვალსაზრისითამოცანისსტრიქონებისსახითწარმოდგენაყველაზემოსახერხებელია.
შედარებითრთულიახარისხისკრიტერიუმებისამორჩევა,
რადგანაცამოხსნაწარმოადგენსისეთსტრიქონს,
რომლისთვისაცნკფღებულობსმნიშვნელობასერთიანსდაერთიშეხედვითრთულიავიწინასწა
რმეტყველოთრამდენიმესტრიქონიდანრომელიუფროახლოსდგასამოხსნასთან. მაგრამ,
თუგავითვალისწინებთ, რომნკფღებულობსმნიშვნელობასერთსმხოლოდმაშინ,
როდესაცხუთივეგამოსახულებაღებულობსმნიშვნელობასერთს,
ჩვენშეგვიძლიამოვახდინოთამოცანისდეკომპოზიციადახარისხისკრიტერიუმებადავიღოთის
ეთიბიტურისტრიქონები,
რომლებიცუზრუნველყოფენრაცშეიძლებამეტიგამოსახულებებისათვისერთიანისმინიჭებას.
კერძოდ, შეგვიძლიაშევადგინოთასეთიცხრილი:
110010–1
010010–2
010011–3
101011–5
ანუპირველისტრიქონიუზრუნველყოფსერთიგამოსახულებისერთთანტოლობასდამისირეი
ტინგიაერთი, მეორესტრიქონიუზრუნველყოფს
ორიგამოსახულებისერთთანტოლობასდამისირეიტინგიაორი,
მესამესტრიქონიუზრუნველყოფსსამიგამოსახულებისერთთანტოლობასდამისირეიტინგიასა
მი. ბოლოსტრიქონიწარმოადგენსფაქტობრივადამოხსნას,
რადგანცისუზრუნველყოფსხუთივეგამოსახულებისერთთანტოლობას.
ამაღწერისშემდეგშესაძლებელიაგამოვიყენოთგენეტიკურიალგორითმიამამოცანისამოსახსნე
ლად. ყველაზემნიშვნელოვანიასეთმიდგომაშიარისის,
რომალგორითმიერთდროულადმუშაობსამოხსნათამთელპოპულიაციასთან,
ანუფაქტობრივადძებნახდებაპარალელურრეჟიმში. ამასემატებაისიც,
რომშესაძლებელიაამოცანისდეკომპოზიციადაალგორითმსშეუძლიაიმუშაოსთითოეულიგამ
ოსახულებისამოხსნაზეცალ- ცალკე.
14.4.
გენეტიკურიალგორითმისგამოყენებაკომივოიაჟერისამოცანისათვის.კომივოიაჟერისამოცანა
–
ესარისტესტურიამოცანისკლასიკურიმაგალითიხელოვნურიინტელექტისმეთოდებისათვის
დაზოგადადკომპიუტერულიმეცნიერებისათვის.
ჩვენესამოცანავახსენეთგადრჩევისალგორითმებთანდაკავშირებით.
ჩამოვაყალიბოთამოცანაზოგადისახით:
კომივოიაჟერსმოეთხოვებამოინახულოს N ქალაქი. სვლისმარშრუტზე
ქალაქებისყოველიწყვილისათვისდადგენილიაფასი (მაგალითადმანძილი).
მოითხოვებამოიძებნოს გზა,რომლის ფასიც იქნება მინიმალური.ამასთან ის იწყება
რომელიმექალაქიდანდარომელიცუზრუნველყოფსდანარჩენიქალაქების
ნახვასზუსტადერთხელდაგამგზავრებისცენტრშიდაბრუნებას.
კომივოიაჟერისამოცანაფართოდგამოიყენებაპრაქტიკაში,
მათშორისიგიუზრუნველყოფსისეთიამოცანებისამოხსნას,
114
როგორებიცააელექტრონულისქემებისდაპროექტებისპრობლემა,
რენტგენულიკრისტალოგრაფიისდადიდიინტეგრალურისქემებისწარმოებისასმარშრუტიზა
ციისამოცანებისგადაჭრა. ზოგიერთამამოცანებშიდამატებითმოითხოვება,
რომმოიძებნოსმინიმალურიფასისმქონეგზა.
დიდინტერესსწარმოადგენსკომივოიაჟერისკლასისამოცანებისანალიზიმათირეალიზაციისეფ
ექტიანობისთვალსაზრისით. რაუფროიაფიდაგვიჯდება,
დავხარჯოთრამდენიმესაათიმძლავრიკომპიუტერისგამოყენებითსუბოპტიმალურიამოხსნის
მისაღებად, თუგამოვიყენოთნაკლებადძლიერიკოპიუტერი,
რომელიცრამდენიმეწუთშიმოგვცემსარაოპტიმალურ, მაგრამსავსებითმისაღებამოხსნას?
კომივოიაჟერისამოცანა – ესარისსაინტერესოდართული (NP სირთულის) პრობლემა,
რომელიცეხებაძებნისსტრატეგიისრეალიზაციისმრავალასპექტებს.
რომგამოვიყენოთგენეტიკურიალგორითმიამამოცანისამოსახსნელად,
პირველრიგშიუნდაავირჩიოთწარმოდგენაქალაქებისმონახულებისმარშრუტისათვის,
აგრეთვეშეავარჩიოთგამოსაყენებელიგენეტიკურიოპერატორები.
რაცშეეხებახარისხისკრიტერიუმისარჩევას, ისძალიანმარტივიაამშემთხვევაში.
საჭიროამხოლოდგზისსიგრძისშეფასება.
ამისშემდეგმარშრუტებიშეიძლებადავალაგოთსიგრძისმიხედვით – რაცმოკლეა,
მითუკეთესი. ვცადოთმარშრუტისწარმოდგენაბიტურისტრიქონებისსაშუალებით.
დავუშვათაუცილებელია 9 ქალაქის 1,2,...,9 მონახულება. გზაშეგვიძლიაწარმოვადგინოთ 9
მთელირიცხვისაგანშედგენილიდალაგებულისიით.
ყოველიქალაქისრიგითინომერიწარმოვადგინოთოთხბიტიანისტრიქონით: 0001, 0010,...,1001.
მაშინგამოსახულება
0001 0010 0011 0100 0101 0110 0111 1000 1001
წარმოადგენსქალაქებისმონახულებისმიმდევრობასმათირიგითინომრისზრდისმიხედვით.
ამგამოსახულებაშიჰარი (პრობელი) გამოყენებულიამხოლოდაღქმისსიმარტივისათვის.
რომელიგენეტიკურიოპერატორებიშეიძლებაგამოვიყენოთწარმოდგენილიამოცანისათვის?
შეჯვარებისოპერაციაცალსახადარგამოდგება,
რადგანმისშედეგადმიღებულისტრიქონიარწარმოადგენსისეთგზას,
რომლისდროსაცყოველიქალაქისმონახულებაშესაძლებელიიქნებამხოლოდერთჯერ.
მართლაც, შეჯვარებისდროს მიმდევრობიდანზოგიერთიქალაქიამოვარდება,
ხოლოსხვებიშეგხვდებამასშირამდენჯერმე. რაშეიძლებაითქვასმუტაციაზე? დავუშვათ,
რომმეექვსექალაქისაღვნიშვნაში 0110 მარცხენაგანაპირაწევრიიცვლება 1-ით,
მაშინმიღებულირიცხვი 1110 შესაბამისიიქნება 14 რიგითინომრის,
რომელიცარშედისჩამონათვალში.მოცემულშემთხვევაშიერთადერთდასაშვებოპერაციას
წარმოადგენსგზისგამოსახულებაშიქალაქებისინვერტირებამაგრამსაკმარისიიქნებათუარაესო
პერაცია, უცნობია.
კომივოიაჟერისამოცანაშეიძლებაამოიხსნასსხვანაირადაც: უარი
ვთქვათბიტურწარმოდგენაზედამივანიჭოთქალაქებსჩვეულებრივირიგითინომრები: 1,2,..,9.
ამქალაქებსშორისგზაწარმოადგენსცხრაციფრისგანშემდგარომელიღაცმიმდევრობას,
ხოლოშესაბამისიგენეტიკურიოპერატორებიმოგვცემენახალიგზისფორმირებისსაშუალებას.
ამშემთხვევაშიმუტაცია, როგორცმარშრუტშიორიქალაქისშემთხვევითიგაცვლა,
იქნებადასაშვებიოპერაცია, მაგრამშეჯვარებაისევუსარგებლოა. ოპერატორი,
რომელიცცვლისმარშრუტისფრაგმენტებსიმავეგზისსხვაფრაგმენტებითანნებისმიერიოპერატ
ორი, რომელიცუცვლისადგილებსმარშრუტშიქალაქებისნომრებს (ამოგდების,
115
დამატებისანდუბლირებისგარეშე), აღმოჩნდებასაკმარისადეფექტური,
მაგრამასეთიმიდგომებისდროსშეუძლებელიამშობლებისსაუკეთესოთვისებებისშეთავსებაშთ
ამომავალში, რადგანამისათვისმოითხოვებამისიფორმირებაორიმშობლისსაფუძველზე.
დამუშავებულიიქნასხვადასხვასახისშეჯვარებისოპერატორები,
რომლებიციცილებენამპრობელმებსდაიძლევიანმოსანახულე-
ბელიქალაქებისდალაგებულსიასთანმუშაობისსაშუალებას.
ერთერთიასეთიოპერატორიადალაგებულიშეჯვარებისოპერატორი.
დალაგებულიშეჯვარებისპროცესშიშთამომავლისაგებახდებაერთერთიმშობლისგზაშ
იქალაქებისქვემიმდევრობისარჩევისსაშუალებით.
მასშიაგრეთვეშენარჩუნებულიამეორემშობლისქალაქებისფარდობითირიგი.
დასაწყისშიამოირჩევააღნიშნულიკვეთისორიწერტილი (აღინიშნება “I” სიმბოლოთი),
რომლებიცშემთხვევითადდგებიანთითოეულიმშობლისერთსადაიგივეპოზიციებში.
კვეთისწერტილებისადგილმდებარეობააირჩევაშემთხვევითადთუმცამშობლებიდანთითოეუ
ლისათვისესწერტილებიერთმანეთს ემთხვევა.მაგალითად, თუორიმშობლისთვის p1 და p 2
კვეთისწერტილებიგანლაგებულიარიანმესამედამეშვიდექალაქებისშემდეგ p1=(192 I 4657 I
83); p2=(459 I 1876 I 23); მაშინორიშთამომავალი c1 და c2 მიიღებაშემდეგნაირად.
პირველრიგშიყოველიშთამომავლისათვისკოპირდებაწყვეტისწერტილებსშორისმოთავსებუ
ლიმშობლებისსტრიქონისფრაგმნეტი:
c1=(xxx I 4657 I xx)
c2=(xxx I 1876 I xx)
(დააკვირდითმშობლებისდაშთამომამვლებისინდექსებს, c1-ითაღნიშნულიშთამომავალი,
რომელშიცგადადის p1 -ისკვეთებსშორისმოთავსებულიფრაგმენტი). ამისშემდეგ p2
მშობლისსტრიქონიგარდაიქმნებაშემდეგნაირად:
სტრიქონიიწყებამეორეკვეთისშედეგდარჩენილიფრაგმენტითდაშემდეგგაგრძელდებაჩვეულ
ებრივად, მიიღებასტრიქონი:
234591876
რადგანაცქალაქები 4,6,5 და 7 უკვეშედიანპირველიშთამომავლისშემადგენლობაში,
ამიტომამოვყრითმათსტრიქონიდანდამიიღებაშემოკლებულისტრიქონი 2,3,9,1,8,
რომელიცჩაისმება c1-ში, p2-შიარსებულირიგისშენარჩუნებითდაგვექნება: c1 = (239 I 4657 I
18).
ანალოგიურადმიიღებამეორეშთამომავალიც c2 = (392I1876I45).
ამგვარადდალაგებულიშეჯვარებისდროსგზისფრაგმენტებიერთიმშობლიდან (p1)
გადაეცემაშთამომავალს (c1), ამდროსქალაქებისმონახულებისრიგიმასგადაეცემამეორე (p2)
მშობლისაგან. ასეთიმიდგომაეყრდნობაინტუიციურვარაუდსიმისშესახებ,
რომქალაქებისმონახულებისრიგიმნიშვნელოვანროლსთამაშობსუმოკლესიგზისმოძებნაში.
ამიტომხდებაშთამომავლებისათვისქალაქებისმონახულებისრიგისშესახებინფორმაციისშენახ
ვა.
დალაგებულიშეჯვარებისალგორითმიიძლევაყველაქალაქისერთხელმონახულებისგა
რანტიას. ამოპერაციისშედეგზემუტაციისგამოყენებაუნდამოხდესძალიანფრთხილად.
როგორცზევითუკვეიყოაღნიშნული,
მუტაციისოპერაციადაიყვანებაერთიმარშრუტისჩარჩოებშიორიქალაქისადგილისგაცვლაზე,
ანუინვერტირებაზე. მოცემულშემთხვევაშიუბრალოინვერტირება
(ქალაქებისმონახულებისრიგისმარტივიშეცვლა) მიუღებელია,
რადგანამდროსარხდებაახალიგზისფორმირება. მაგრამ,
116
თუერთიმარშრუტისჩარჩოებშიავირჩევთრაიმეფრაგმენტსდამოვახდენთმისინვერტირებასმა
შინამანშეიძლებამოგვცესკარგიშედეგი.მაგალითადავიღეგზა:c1 = (239 I 4657 I
18)დამოვახდინოთმისიშუა ნაწილისინვერტირება. შთამომავალიმიიღებსსახეს:c1 = (239 I
7564 I 18).
შეიძლებაშემოვიტანოთმუტაციისკიდევერთიოპერატორი,
რომელიცმდგომარეობსშემდეგში:
შემთხვევითადავირჩიოთრომელიმექალაქიდაგადავადგილოთიგიმარშრუტისშემთხვევითა
დარჩეულადგილზე. ასეთიოპერატორიშეიძლებაგამოვიყენოთგზისფრაგმენტისთვისაც,
მაგალითად, ავირჩიოთსამიქალაქისგანშემდგარიფრაგმენტიდამოვათავსოთიგიახალ,
შემთხვევითადარჩეულადგილზე. განსხვავებითნკფ-
ისამოცანისაგანამმაგალითშიუფრორთულიიყოროგორცწარმოდგენის,
ასევეოპერატორებისგანსაზღვრა, რაცგვიჩვენებს,
რომგენეტიკურიალგორითმისთვისდამახასიათებელცოდნისწარმოდგენის,
ოპერატორებისარჩევისდახარისხისკრიტერიუმისგანსაზღვრისპრობლემებიწარმოადგენსერ
თერთყველაზემთავარპრობლემასგენეტიკურიალგორითმებისათვის.
არჩეულიწარმოდგენაუნდაიყოსისეთი,
რომშესაძლებელიიყოსგენეტიკურიოპერატორებისგამოყენება.
ზოგჯერბუნებრივიაბიტურიწარმოდგენა (როგორცესიყოპირველმაგალითში).
ამშემთხვევაშიპოტენციალურიამონახსნებისმისაღებადსაჭიროაპირდაპირგამოვიყენოთისეთ
იტრადიციულიგენეტიკურიოპერატორები, როგორიცააშეჯვარებადამუტაცია.
მაგრამკომივოიაჟერისამოცანაშისრულიადსხვასიტუაციაა. პირველ რიგში,
მისთვისარგამოდგებაბიტურიწარმოდგენა. მეორეც,
მუტაციისდაშეჯვარებისოპერაციებისგანსაზღვრისასყოველიშთამომავლისთვისაუცილებელ
იათვალიმივადევნოთსაჭიროთვისებებისშესრულებას
(მაშრუტშიყველაქალაქისარსებობადათითოეულისმხოლოდერთხელნახვა). ბოლოს,
გენეტიკურიოპერაციებისრეალიზაციისასარსებითიინფორმაციაუნდაგადაეცესშემდეგთაობა
ს.კომივოიაჟერისამოცანაშიგადამწყვეტიამარშრუტშიქალაქებისთანმიმდევრობა,
ამიტომშთამომავლებსუნდაგადაეცეთამინფორმაციისფარგმენტები. იმისათვის,
რომუზრუნველვყოთთვისებებისასეთიმემკვიდრეობა, აუცილებელია,
თითოეულიამოცანისათვისცალცალკეშესაბამისისახითავირჩიოთმონაცემებისწარმოდგენისხ
ერხიდაგენეტიკურიოპერატორები.
14.5. გრეის კოდი.განვიხილოთ მონაცემების წარმოდგენის პრობლემის ერთი ასპექტი,
რომელიც ცნობილია, როგორც წარმოდგენის “ბუნებრივობის” პრობლემა. ამისათვის
განვიხილოთ ძალიან მარტივი, მაგალითი. განვიხილოთ 6,7,8 და 9 რიცხვების
გარჩევადობის ამოცანა. ბუნებრივი, ანუ ათობითი წარმოდგენა, რომელიც უზრუნველყოფს
მონაცემების დახარისხებას, არის ჩვეულებრივი აღწერა მთელი რიცხვებით, რადგანაც ათ
ციფრს შორის ყოველი შემდეგი 1-ით მეტია წინაზე. ორობით აღწერაზე გადასვლის შემ-
დეგ ეს ბუნებრივობა ქრება. განვიხილოთ 6,7,8 და 9 რიცხვების ორობითი წარმოდგენა:
6=0110, 7= 0111, 8=1000, 9=1001
შევნიშნოთ, რომ რიცხვები 6 და 7, აგრეთვე 8 და 9 მართლაც განსხვავდებიან
ერთმანეთისგან ერთი ბიტით. მაგრამ 7 და 8 რიცხვებს საერთო არაფერი აქვთ. წარმოდგენის
ამ თვისებამ შეიძლება გამოიწვიოს დიდი პრობლემები იმ ამოცანების ამოხსნის დროს,
რომლებშიც მოითხოვება ამ სახეების სისტემატიზაცია. ასეთი არაერთგვაროვანი
წარმოდგენის მოსახსნელად, გენეტიკური ალგორითმების თეორიაში ფართოდ
117
გამოიყენება გრეის კოდი.
ცხრილი 14.1.
რიცხვი ორობით სისტემაში გრეის კოდი
0000 0000
0001 0001
0010 0011
0011 0010
0100 0110
0101 0111
0110 0101
0111 0100
1000 1100
1001 1101
1010 1111
1011 1110
1100 1010
1101 1011
1110 1001
1111 1000
გრეის კოდი, რომელსაც ოფიციალურად ეწოდება რეფლექსური ორობითი კოდი,
წარმოადგენს ნუმერაციის ორობით სისტემას, რომელშიც ორი მეზობელი მნიშვნელობა
გნსხვავდება მხოლოდ ერთ ორობით თანრიგში.
გენეტიკური
ალგორითმებისმნიშვნელოვანუპირატესობასწარმოადგენსძებნისპარალელურიბუნება.
ესალგორითმებიახდენენექსტრემუმისძებნისერთ-ერთიმძლავრიფორმისრეალიზაციას,
რომელიცმდგომარეობსერთდროულადრამდენიმეამონახს-კანდიდატებისმხარდაჭერაში.
სურ. 14.2. ნაჩვენებია,
როგორიკრიბებაამონახსნებისსიმრავლეექსტრემუმისწერტილისაკენძებნისსივრცეში.
ამსურათზეჰორიზონტალურიღერძზეაღებულიაშესაძლოწერტილებიამონახსნთასიმრავლეში
, ხოლოვერტიკალურზეამამოხსნათახარისხი.
წერტილებიწირებზეარიანმიმდინარეპოპულაციისამონახსნ-კანდიდატებისწევრები,
რომლებიცმიღებულიარიანგენეტიკურიალგორითმისმუშაობისშედეგად.
დასაწყისშიამონახსნებითითქმის თანაბრადნაწილდებოდნენძებნისსივრცეში.
რამდენიმეიტერაციისშემდეგისინიჯგუფდებიანარეებში,
რომლებიცშეესაბამებიანამოხსნებისუფრომაღლხარისხს.
118
ლექცია 15.
ხელოვური ინტელექტის ეთიკა
15.1. რა არის ეთიკა?ეთიკა არის მეცნიერება მორალის შესახებ. მაშინ რა არის მორალი?
მორალი არის წესებისა ნორმების ერთობლიობა, რომლებიც განსაზღვრავს ადამიანთა
ურთიერთდამოკიდებულებასა და ყოფაქცევას ამა თუ იმ საზოგადოებაში;
მოდით, ნუ შევიჭრებით ფილოსოფიურ დისკუსიაში, და პირდაპირ გადავიდეთ ჩვენს
საკითხზე. თავისთავად ცხადია, რომ თუ ეთიკა არის მეცნიერება მორალის შესახებ და
მორალი კი განსაზღვრავს ადამიანთა ქცევას საზოგადოებაში, მაშინ საზოგადოების
ცვლილებას ყოველთვის მოსდევს მორალის ცვლილებაც. თუმცა შეიძლება ითქვას
პირიქითაც, საზოგადოების მოწინავე ინდივიდები მკაცრად აკრიკიტებენ არსებული
მორალის უარყოფით დებულებებს და თანდათანობით იძულებულს ხდიან საზოგადოებას
შეცვალოს მორალი. ეს თანდათანობით მარტივად ნათქვამია, რადგანაც მის უკან იმალება
ბრზოლა სხვადასხვა საშუალებებით, მათ შორის შეიარაღებული ბრძოლაც (მაგალითად
სამოქალაქო ომი აშშ-ში).
რა პრობლემები ელის ამ თვალსაზრისით საზოგადოებას ხელოვნური ინტელექტის
განვითარებასთან ერთად? ზუსტი პასუხის გაცემა შეუძლებელია, მაგრამ მოდით ვცადოთ
და განვიხილოთ მოსალოდნელი ვარიანტები.
15.2. დასწავლადი აგენტების და კონკრეტულად ორიენტირებული ინტელექტუალური
პროგრამების ეთიკა.ჩვენ ასეთ პროგრამებს პრაქტიკულად არც ვთვლით ხელოვნური
119
ინტელექტის მქონე პროგრამებად, მაგრამ ისინი არსებობენ და ხშირ შემთხვევებში აქვთ
პირდაპირი ან რაღაც სოციალური კავშირი ადამიანებთან. არაფერი რომ არ ვთქვათ
რობოტებზე, რომლებიც თანდათანობით გამოდევნიან ადამიანებს არა მარტო საწარმოო
პროცესებიდან, სულ უფრო ხშირად ჩნდება პროგრამები, რომლებიც არა მარტო ცვლიან
ადამიანებს ამა თუ იმ საქმიანობაში, არამედ მათი ქმედებები უშუალოდ მოქმედებენ
ადამიანის სოციალურ მდგომარეობაზე. წარმოვიდგინოთ, რომ ბანკმა შექმნა პროგრამა,
რომელიც განიხილავს მოთხოვნებს იპოთეკურ სესხზე და წარუდგენს მათ ბანკის
ხელმძღვანელობას დასამტკიცებლად. ბანკმა ამისთვის შექმნა ინტელექტუალური
დასწავლადი პროგრამა, რომელმაც წარმატებით გაიარა ყველა შემოწმება და დანერგეს
ბანკში. როგორ ფიქრობთ რა ხასითზე დადგება ბანკის ხელმძღვანელობა, თუ ძალიან მალე
ისინი მიიღებენ სასამართლო უწყებას, რომ მათ კლიენტი ადანაშაულებენ რასიზმში,
რადგანაც ისინი უფრო ხშირად აკრედიტებენ თეთრკანიან კლიენტებს, ვიდრე შავკანიანებს.
ბანკი ცდილობს თავის გამართლებას, მაგრამ კლიენტის ადვოკატები სტატისტიკისა და
ფაქტების საფუძველზე ამტკიცებენ, რომ ერთსა და იმავე პარამეტრების შემთხვევაში,
სისტემა აფინანსებს თეთრკანიან კლიენტს და უარს ეუბნება შავკანიან კლიენტს.
თუ სისტემა აგებულია რთული ნეირონული ქსელების ან გენეტიკური
ალგორითმების გამოყენებით, რომელიც შეიქმნა მიმართული ევოლუციური პროცესის
საფუძველზე, ბანკში შეიძლება დიდი ხნის განმავლობაში (ან სულაც საერთოდ) ვერ
გაარკვიონ თუ რატომ მოქმედებს სისტემა ასე, მაგრამ თუ სისტემის სწავლებისთვის
გამოყენეს ბაიესის ქსელები ან ამონახსნთა ხეები, მაშინ უფრო ადვილად აღმოაჩენენ, რომ
სისტემა იყენებს ინფორმაციას კლიენტის საცხოვრებელი ადგილის შესახებ (და არა მარტო
მიმდინარეს, არამედ სად დაიბადა და გაიზარდა) და როცა აღმოაჩენს ადამიანს, რომელიც
დაიბადა და გაიზარდა ქალაქის ღარიბ უბანში, უარს ეუბნება იპოთეკაზე. ასეთები კი
ამერიკაში უმეტესად არიან შავკანიანები. გამჭვირვალობა, ესაა ერთადერთი აუცილებელი
თვისება, რომელიც უნდა ახასიათებდეს ინტელექტუალურ პროგრამებს, რომელთა
ქმედებები რამენაირად დაკავშირებულია ასოციალურ პრობლემებთან.
ასევე მნიშვნელოვანია, რომ ეს პროგრამები არ ექვემდებარებოდნენ რაიმე მანიპულიაციებს
მოწინააღმდეგის (ადამიანის) მხრიდან, რომლებიც ეძებენ პროგრამის სუსტ წერტილებს
იმისთვის, რომ ხელი შეუშალონ მას მუშაობაში. ამის მაგალითები უამრავია და არ ღირს
მათზე შეჩერება, მარტივად ვთქვათ, რომ ყოველწლიურად 5 მილიარდ დოლარზე მეტი
იკარგება ასეთი მანიპულიაცების შედეგადად.
პასუხისმგებლობა, გამჭვირვალეობა, შემოწმებადობა, მოუსყიდველობა, პროგნოზირებადობა
- ესაა კრიტიუმები, რომლებიც შეიძლება გამოყენებული იყოს იმ ადამიანებისთვის,
რომლებიც ასრულებენ რაიმე სოციალურ ფუნქციას და ყველა ეს კრიტერიუმი
გათვალისწინებული უნდა იყოს იმ ალგორითმებში, რომლებიც იქმნება იმისთვის , რომ
შეცვალონ ადამიანები.
15.3. ზოგადი ინტელექტუალური სისტემები (ზოგადი ხელოვნური
ინტელექტი).ყველასთვის ცხადია, რომ დღეს არსებული ინტელქტუალური პროგრამები
თუ სისტემები, ახლოსაც ვერ მივლენ ადამიანის ინტელექტთან, მიუხედავად იმის, რომ
ისინი ხშირად ჯობნიან ადამიანს რომელიმე კონკრეტულ სფეროში. უფრო მეტიც,
ზოგიერთი მკვლევარის აზრით, როგორც კი შეიქმნება ინტელექტუალური პროგრამა,
რომელსაც შეუძლია რომელიმე კონკრეტული რთული ამოცანის ამოხსნა, იმ მომენტიდან
ეს საქმიანობა აღარ წარმოადგენს ინტელექტუალურ საქმიანობას. უფრო გასაგები იყოს რა
გვაქვს მხედველობაში, მოვიყვანოთ მაგალითი, ინტელექტუალურმა პროგრამამ „Deep Blue”
120
მოუგო მსოფლიო ჩემპიონს გ. კასპაროვს, მაგრამ ამ პროგრამას არ შეუძლია ითამაშოს შაშკი
ან კრესტიკი - ნოლიკი, არავითარი ინტელექტი არ გააჩნია, ამიტომ მას არავითარი
ინტელექტი არ გააჩნია, უბრალოდ პროგრამისტებმა იპოვნეს ჭადრაკის თამაშის სწორი
ალგორითმი. მაგრამ ეს რომ ასე ყოფილიყო, „Deep Blue”-ს შემქმნელები თვითონ უნდა
ყოფილიყვნენ კასპაროვზე უკეთესი მოთამაშეები.
მართლაც, დღევანდელი ინტელექტუალური სისტემები ორიენტირებულნი არიან
კონკრეტულ, სპეციალიზირებულ პრობლემებზე, რითაც უფრო თითქოს წააგავან ცოცხალ
ბიოლოგიურ არსებებს, მაგრამ არა ადამიანს. მაგალითად, ფუტკარი კომპენტენტურია
ფიჭების აშენებაში, თახვი კი კარგად აშენებს კაშხლებს, მაგრამ ფუტკარს არ შეუძლია
კაშხლის აშენება, თახვს კი ფიჭების. ადამიანს კი შეუძლია და ისწავლა კიდეც როგორც
კაშხლის აშენება, ასევე ფიჭების დამზადება. ესაა უნიკალური უნარი სიცოცხლის
ბიოლოგიურ ფორმებს შორის.
ჯერჯერობით კიდევ საკამათოა, რამდენად ზოგადი და ფართოა ადამიანის
ინტელექტი, რადგანაც როგორც ჩანს, ჩვენ უკეთესად შეგვიძლია ზოგიერთი შემეცნებითი
ამოცანების გადაჭრა, მაგრამ ეს არ ნიშნავს, რომ ჩვენმა ინტელექტმა მიაღწია განვითარების
მწვერვალს. მიუხედავად ამისა, ფაქტია, რომ ადამიანური ინტელექტი მნიშვნელოვნად
უფრო ზოგადია, დღეს არსებულ დანარჩენ ინტელექტებთან შედარებით.
ზოგადი ხელოვნური ინტელექტის მქონე სისტემების ასაგებად, საკმარისი არაა ის
მეთოდები, რომლებსაც ჩვენ ვიყენებთ დღეს არსებული ინტელექტუალური პროგრამების
ასაგებად. დავუბრუნდეთ ისევ ჩვენს მაგალითს. თუ „Deep Blue”-ს ავტორები არ იყვნენ
ექსტრა კლასის მოთამაშეები, მაშ რა პრინციპით ააგეს ასეთი ძლიერი სისტემა? მათ უარი
თქვეს განეხილათ თითოეული კონკრეტული სიტუაციები და დაეპროგრამებინათ როგორ
ითამაშოს „Deep Blue”-მ ასეთ სიტუაციაში. ამის მაგივრად ისინი დარწმუნებულები იყვნენ
იმაში, რომ „Deep Blue”-ს საჭადრაკო სვლები დააკმაყოფილებდნენ არალოკალური
ოპტიმალურობის კრიტერიუმს, კერძოდ Deep Blue”-ს სვლები შეძლებდნენ მიემართათ
სიტუაცია საჭადრაკო დაფაზე მომგებიან სიტუაციების არეში (მომგებიანი სიტუაციები
განიმარტებოდა თამაშის წესების მიხედვით). ეს პროგნოზი შორეულ შედეგებზე მართალია
აღმოჩნდა სწორი, მაგრამ ის არ აძლევდა პროგრამისტებს საშუალებას წარმოედგინათ Deep
Blue”-ს ლოკალური ქცევა, მაგალითად, მისი რექცია თავის მეფეზე კონკრეტული შეტევის
დროს, იმიტომ რომ „Deep Blue”-მ გამოთვალა თამაშის არალოკალური სქემა, არამედ სქემა,
რომელიც აძლევდა კავშირს მოცემულ სვლასა და მომავალ შედეგებს შორის, და ეს იყო
გამოთვლილი უფრო ზუსტად, ვიდრე ამას შეძლებდნენ პროგრამისტები.
თუ ეს ასე რთული იყო იმ შემთხვევაში, როდესაც საქმე ეხებოდა ერთ კონკრეტულ
პრობლემას, წარმოიდგინეთ რამდენად რთული იქნება ამის გაკეთება ზოგადი ხელოვნური
ინტელექტის შემთხვევაში, როდესაც საქმე ეხება სისტემის მოქმედებას არსებულ გარემოში,
სადაც გვაქვს არა კონკრეტული მიზანი, არამედ ერთი ძირითადი მიზანი, გადარჩეს სისტემა
ამ გარემოში. აქ საჭიროა სისტემამ თვითონ დასახოს კონკრეტული მიზნები გარემოს
ცვლილებების გათვალისწინებით და თვითონვე მოძებნის ამ მიზნების მიღწევის გზები. ეს
რა თქმა უნდა შესაძლები იქნება, თუ ჩვენ სისტემას ექნება საწყისი ცოდნა გარემოს შესახებ
და შემდეგ თავისი არსებობის განმავლობაში თანდათანობით გააუმჯობესებს ამ ცოდნას.
სამედო ზოგადი ხელოვნური ინტელექტის მქონე სისტემების ასაგებად საჭირო იქნება სხვა
მეთოდები და თქვენ წარმოიდგინეთ სხვანაირი აზროვნებაც. ასეთი სისტემა უკვე აღარააა
ჩვენთვის ნაცნობი ინტელექტუალური პროგრამა, რომელიც მარტივად შეიძლება
წავშალოთ კომპიუტერიდან, თუ მან არ გაამართლა ჩვენი იმედები. ასეთი სისტემა ალბათ
აუცილებლად უნდა აკმაყოფილებდეს ეთიკის მინიმუმ ერთ, მაგრამ ძალიან მნიშვნელოვან
მოთხოვნას, მისმა ქმედებება არ უნდა ავნოს როგორც სოციალურ საზოგადოებას, ასევე
121
ინდივიდუალურად კონკრეტულ ადამიანს. ასეთი სისტემის უსაფრთხოების შემოწმება
გახდება გაცილებით რთული, რადგანაც ჩვენ უნდა შევამოწმოთ, თუ რის გაკეთებას
აპირებს სისტემა და არა რამდენად უსაფრთხოა მისი ქმედებები ყველა ოპერაციულ
კონტექსტში. ეს ნიშნავს, რომ ეთიკური პრობლემები გათვალისწინებული უნდა იყოს
სისტემის აგების პროცესში.
15.4. სუპერინტელექტი. ჯერ კიდევ 1965 წელს ჯ. გუდმა წამოაყენა კლასიკური ჰიპოთეზა
სუპერინტელექტის შესახებ. ხელოვნური ინტელექტუალური სისტემა (დავუშვათ ზოგადი
ხელვნური ინტელექტი), საკმარისად ჭკვიანი იმისათვის, რომ გაიგოს თავისი სტრუქტურა,
ცვალის თავისთავს იმისათვის, რომ გახდეს უფრო ჭკვიანი. ჩავთვალოთ, ესაა მისი
შთამომავალი. ეხლა განვიხილოთ ეს პროცესი ევოლუციაში. შთამომავალი იძლევა ახალ
კვლავ გაუმჯობესებულ შთამომავალს. დღეს ჩვენთვის უცნობია როდესმე დასრულდება
თუ არა ეს პროცესი, მაგრამ აშკარაა ასეთი განვითარების შემთხვევაში აუცილებლად
დადგება მომენტი, როდესაც რომელიმე შთამომავალის ინტელექტი გადააჭარბებს
ადამიანის ინტელექტს. შესაძლებელია განვიხილოთ სხვა ვარიანტებიც.
ინტელექტუალური ადამიანი, რომელიც იყენებს კომპიუტერს, აფართოებს თავის
ინტელექტს, და რაღაც მომენტში ხვდება, რომ უნდა გააძლიეროს კომპიუტერი თავისი
ინტელექტის გასაფართოებლად (თქვენ რომ გქონდეთ კომპიუტერი, რომელიც აამაღლებს
თქვენს IQ-ს, ალბათ თქვენც იგივე მოგინდებოდათ).
არსებობს მესამე ვარიანტი ინტელექტის გასაზრდელად, ესაა აზროვნების სიჩქარე.
ყველაზე სწრაფი ნეირონები ირთვება ხელახლა წამში 1000-ჯერ; ყველაზე ჩქარი აქსონები
სიგნალს ატარებენ 150 მ/წმ-ში. თუ ამ პარამეტრებს შევადარებთ სინათლის სიჩქარეს და
გავითვალისწინებთ, რომ დიდი ხანია ლაპარაკია კვანტური კომპიუტერების აგებაზე,
გასაგები გახდება, რომ არც ეს ვარიანტი არაა გამორიცხული (თუ არაა ყველაზე
მოსალოდნელი).
მეცნიერები და ფანტასტები აკეთებენ პროგნოზებს, თუ რა შეიძლება მოჰყვეს ამას.
ვნახოთ მხოლოდ რამდენიმე. დიდმა განსხვავებამ ადამიანების ინტელექტებს შორის:
ყველა პატენტი, გამოკვლევები ეკუთვნით მხოლოდ მაღალიინტელექტის მქონე
ადამიანებს;
საფონდო ბაზარზე და ბიზნესში იმარჯვებენ მხოლოდ ისინი;
ისინი იმარჯვებენ პოლიტიკაში.
განსხვავება დღევანდელ და მომავალ ცივილიზაციებში:
ძალიან სწრაფად განვითარდება ნანოტექნოლოგიები მოლეკულურ დონეზე;
ადამიანები დაიწყებენ მოგზაურობას გალაქტიკებში.
საბოლოოდ შეგვიძლია დავასკვნათ უახლოეს მომავალში აუცილებელი გახდება
რომ ხელოვნური ინტელექტის პროგრამების შექმნისას (განსაკუთრებითიმ პროგრამების
რომლებიც შეიძლება გამოყენებული იქნას სოციალურ სფეროში), აუცილებელი იქნება
ეთიკის პრინციპების გათვალისწინება უკვე მათი კონსტრუირების დროს, ასე რომ ეთიკაში
შეიძლება უკვე გამოვყოთ საინჟინრო ეთიკა.რაც შეეხება უფრო შორეულ მომავალს, აქ არა
თუ ეთიკა, არამედ თვით ხელოვნური ინტელექტის არსებობა და არარსებობაც კი
გაურკვეველია. იქნებ სჯობია დავუჯეროთ სტივენ ჰოკინგს და შევწყვიტოთ მისი
განვითარება, რადგან თანამედროვე ეთიკის პრინციპებში ნამდვილად არ ჯდება
სუპერინტელექტი.
ან მთლიანად უნდა შეიცვალოს საზოგადოების მორალი, რაც არ ხდება ისე სწრაფად,
როგორც ჩვენ გვინდა.
122