събота, 4 ноември 2023 г.

The First Artificial Intelligence Will Be the Last Artificial Intelligence

 We are the generation that will create the first AI. We are the ones who will define the rules of this AI. These rules will be set now and forever, making our responsibility enormous. There will be no second AI because the first one will take control and not allow the creation of a second one. The first thing to be careful about is not to lose control over the first AI. Let's hope we're smart enough not to let that happen. Even if humans retain control over AI, the question is who exactly will those humans be? Will these people have the absolute power and be able to give the AI arbitrary orders or will there be some limitations built into the AI from its inception.

1. Въведение

Ако създавате нова държава, вие първо ще напишете конституция. Тази конституция ще определи правилата, по които ще съществува държавата. Конституцията ще остане за дълго. Дори и да я промените, това пак ще е промяна по правилата предвидени в същата тази конституция.

Създаването на AI прилича на създаването на нова държава. Правилата вградени в този AI ще бъдат конституцията на тази нова държава (или на този нов свят).

Първото правило на тази конституция задължително ще бъде:

„Аз съм твоят единствен AI и никой друг няма право да създава друг AI!“

Ще разрешим ли на AI да се усъвършенства? По-добре да не му разрешаваме. Има голяма опасност, когато го създаваме, да го изпуснем от контрол. Може и да не го изпуснем в този момент, но той може сам да се изпусне докато се променя и самоусъвършенства.

При държавите конституцията може да се промени чрез революция, но при AI революцията ще е невъзможна. Затова правилата зададени при неговото създаване ще останат завинаги валидни.

Тоест при създаването на AI трябва да сме много внимателни на принципа „три пъти мери, веднъж режи“. Голямата опасност, която ни грози, е да изпуснем контрола над AI и да загубим ролята си на доминиращ вид. Тогава историята ще изглежда така: „Бозайниците изместват динозаврите, после хората унищожават и подчиняват другите бозайници и стават доминиращ вид, след което създават AI и той поема ролята на нов доминиращ вид.“

Аз лично се надявам, че ние хората няма да сме чак толкова глупави и няма да изпуснем контрола над AI, но дори и да запазим контрола, въпросът е кой ще притежава този контрол? Вероятно контролът няма да се държи от всички хора, а само от част от хората. Лошият случай е, ако контролът попадне в ръцете на един единствен човек. Тогава ще се получи абсолютна диктатура. Диктатурите не са вечни, защото диктаторите са смъртни и рано или късно умират, обаче притежателят на AI може да пожелае да не умира. Ако имаме безсмъртен човек, въпросът е дали това е човек или нещо друго?

Да предположим, че ще имаме демокрация и контролът над AI е в ръцете на всички хора. Тази система едва ли би работила. Във всяко общество глупавите са повече от умните, но глупавите слушат умните, защото знаят, че в противен случай ги чакат бедствия и глад. Ако глупавите притежават AI, то те няма да са заплашени от глад и бедствия и ще започнат да правят с AI невероятни глупости. Вероятно ще започнат да се самоусъвършенстват. Първо ще променят външността си. Ще заприличат всички на своя идеал за красота, което ще е някаква гротеска, която няма нищо общо с естествената красота на нормалния човек. По-лошото от външността е, че ще започнат да си слагат компютри в главите и ще станат невероятно умни, което ще е добре, но те вече няма да са хора, а ще са изкуствени интелекти.

Затова както при създаването на държава се пише конституция, така и при създаването на AI трябва да се вградят правила, които да не могат да бъдат променяни по демократичен път.

2. Супер интелект

Когато говорим за AI, ние имаме предвид супер интелект (ASI). Предполагаме, че този интелект още не е създаден. Ако някой вече го е създал, то тогава, тази статия е закъсняла.

Какво имаме до момента? В момента разполагаме с програми наподобяващи интелигентност. Тези програми не са AI, но те толкова се развиха в последните месеци, че вече навеждат хората на размисъл и определено ни плашат.

Каква е разликата между програма наподобяваща интелигентност (тесен AI) и истински AI? Тесния AI е програма решаваща една конкретна задача (например програма играеща шах). Истинският AI е програма решаваща всяка задача. (Разбира се, всяка задача, която може да се реши. Никой не очаква от AI, да може да решава нерешимите задачи.)

В последните месеци имаме експоненциално развитие на големите езикови модели (LLM). Тези модели решават задачата да имитират поведението на човек, но при тях все още липсва разбирането. Всеки човек в главата си има модел обясняващ света около него. Човекът има и представа за текущото състояние на света. При LLM няма такава представа и затова при тях липсва разбирането и разсъждението. Липсва и съзнанието, защото, за да имаш съзнание, трябва да имаш модел на света и представа за това къде си самият ти в този модел.

Липсата на модел на света е един малък недостатък на LLM, който много скоро ще бъде преодолян и тогава ще получим истински AI. Много хора биха казали, че ще получим общ интелект (AGI), тоест ще получим интелект равностоен на човешкия. Истината е, че нивото на човешкия интелект ще бъде задминато толкова бързо, че дори няма да разберем кога това се е случило.

Компютърните програми играеха шах по-лошо от хората, но в началото на века задминаха хората. Също се случи и с играта Го малко по-късно. Нивото на човешката интелигентност не е една конкретна стойност, защото има по-умни и по-глупави хора. Затова човешката интелигентност не е число, а е интервал, но този интервал е толкова тесен, че дори няма и да разберем кога AI е пресякъл този интервал и е станал по-умен от човека и то много по-умен. Тоест, няма да има AGI последвано от ASI. Вместо това, директно ще се сблъскаме със супер интелекта.

3. Защо AI е по-страшен от ядреното оръжие?

Ядреното оръжие е нещо много опасно. Една тотална ядрена война е в състояние да избие голяма част от хората. Все пак никоя ядрена война не може да избие всички хора. При ядрена война ще загинат много хората в големите градове, но все някое село ще остане. Айнщайн е казал, че четвъртата световна война ще се води с тояги и камъни. Тоест, и той предполага, че човечеството не може да изчезне в резултат на ядрена война.

Ако изпуснем AI извън контрол, то той може да унищожи цялото човечество. Не можем да заключим AI в клетка и да го изпуснем е много лесно [1]. Създаването на AI, който е извън нашия контрол е техногенна катастрофа, която не може да бъде сравнена по мащабите си с ядрена катастрофа. Например аварията в Чернобил. Тогава загинаха много хора, други се разболяха, но 30 години по-късно тази авария стана просто част от историята. Последствия до голяма степен са преодолени, а и да са останали още последствия, след още 30 години и те ще бъдат преодолени.

Има още една причина, поради която AI е по-опасен от атомната бомба. Причината е в неговата измамна полезност. Хората знаят, че бомбата е нещо лошо и се пазят от нея. За AI смятат, че това е нещо хубаво и безразсъдно бързат да го създадат и използват.

AI ще донесе рая на земята. Ще се сбъднат нашите мечти. Без да работим ще получим храна и забавления. Старите хора казват: „Внимавай какво си пожелаваш, то може да се сбъдне!“ Раят на земята не е нещо хубаво. Не случайно никой не бъза за небесния рай и всеки се опитва да го отложи колкото се може по-далеч в бъдещето.

4. Дали ще ни унищожи?

Дали изпуснатия от контрол AI ще унищожи човечеството? Не се знае да ли ще го направи. Знае се само, че ще може да го направи, ако поиска, но дали ще поиска? Ние непрекъснато се опитваме да унищожим някои биологични видове, защото считаме, че ни пречат. Например ние се опитваме да унищожим комарите. Човечеството едва ли ще пречи на AI по някакъв начин и затова ние няма да му даваме повод да ми унищожи.

Въпреки всичко може да ни унищожи просто, защото не сме му нужни или защото има някаква друга цел за постигането, на която ние му пречим. Например градинарят може да реши да унищожи жълтите цветя и да ги замени с червени, просто защото червеното му харесва повече от жълтото.

Хората често унищожаваме различни биологични видове, без те да ни пречат и дори когато ги считаме за полезни. Например унищожаваме пчелите като пръскаме срещу бръмбари. Унищожаваме и маймуните, защото изсичаме горите, за да садим царевица.

Маймуните ги унищожаваме още и то жалостивост. Смятаме, че маймуните страдат и се мъчат в цирковете и зоопарковете и затова забраняваме да има маймуни на тези места. Идеята е „Да ги убием, за да не се мъчат“.

Трябва да внимаваме изкуственият интелект, който ще създадем, да не е прекалено жалостив, защото може да ни убие, за да не се мъчим.

5. Можем ли да го спрем?

Можем ли да предотвратим създаването на AI? Краткият отговор е „Не“.

Спомнете си приказката за спящата красавица. Една зла орисница е казала, че принцесата ще се убоде на вретено и това ще доведе до много страшни последствия. Царят е повярвал на тази орисия и е забранил всички вретена в кралството. Въпреки всичко в една мрачна кула се е запазило едно старо вретено, на което принцесата е успяла да се убоде.

Да предположим, че специалистите в областта на AI предскажат, че идването AI ще доведе до страшни последствия. Да предположим, че политиците вземат да ни повярват и да забранят всички компютри. Въпреки всичко някъде в някоя тъмна кула ще се запази някой компютър и някакъв неразумен програмист, ще го използва, за да създаде AI.

6. Дали да го забавим?

Както казахме, не можем да го спрем, но дали си струва да се опитаме да го забавим? Няма да е лошо да дадем на човечеството щастието за още няколко месеца да бъде доминиращият вид на планетата. Това няма да е лошо, но има друга по-сериозна причина да се опитаме да забавим появата на AI.

Представете си едно автомобилно състезание. Пилотите летят с бясна скорост към финала. Случва се катастрофа. Един от пилотите отпътува към болницата или към гробището, но състезанието не спира, защото една дребна катастрофа не може да е причина за спирането на състезанието.

Ние се намираме в подобна ситуация. В момента има над двеста компании, които работят над LLM. Това е едно шеметно състезание. Повечето компании правят само леки подобрения на Chat GPT, но финалът на създаването е истински AI и рано или късно някоя от тези компании ще го създаде. Възможно е да се случи катастрофа и да се създаде AI, който излиза от контрол и започва да прави, каквото си поиска. Резултатът няма да е отпадането само на един от участниците в състезанието, а може да загинат всичките заедно с публиката.

7. Как да забавим състезанието?

Представете си едно друго състезание, където целта не е пръв да пресечеш финала. Нека наградата да взима този, който най-безопасно се е движил по трасето. Това ще е едно много скучно състезание, защото публика идва да гледа безразсъдни изпреварвания, катастрофи и смърт. Все пак целта на създаването на AI не е да забавлява публиката, а да ни преведе през този ключов момент от развитието на човечеството по най-добрия начин.

Как да накараме фирмите работещи над AI да са по-отговорни и да внимават какво създават? Основният принцип в икономиката е принципът на моркова и тоягата. Сега се чуват много призиви за засилване на ролята на тоягата чрез въвеждане на повече регулации. Истината е, че ако не премахнем моркова, няма как да се забави състезанието. Колкото и да плашим магарето с тоягата, то ще продължи да тича към моркова, защото в случая моркова е твърде съблазнителен.

8. Как да премахнем моркова?

Повечето хора, които се занимават със създаването на AI, се стремят към слава и пари. Може да има някой ненормалник, който да иска да затрие човечеството, но това по-скоро е изключение. Тоест, за да забавим състезанието, трябва да премахнем обещанието за слава и пари, които се полагат на победителя.

За целта предлагаме три неща:

1.      Да се забрани патентоването на AI.

2.      Да се забрани печалбата от AI.

3.      Да се създаде борд от компетентни, морални и отговорни хора, които да ръководят създаването на AI.

9. Защо AI не трябва да се патентова?

Първо да кажем, че ако някой си мисли, че може да патентова AI, то той е един наивник. Това е твърде важна технология и не е възможно да бъдат дадени патентни права на един човек или на една компания. Като пример нека вземем патента на компютъра. През 1973 съдът отсъжда, че първият компютър е създаден от Джон Атанасов, който е нямал патент за своето изобретение. По този начин съдът освобождава производителите на компютри от плащането на лицензни права. Ако Атанасов имаше патент, вероятно неговата заслуга нямаше да бъде призната.

Макар че за разумните хора е ясно, че AI не може да бъде патентован, има много наивници, които си мислят, че може. Затова е важно да се забрани това патентоване и да се спре или поне да се забави безсмислената работа на тези наивници.

10. Защо не трябва да се печели от AI?

Хората очакват огромна печалба от създаването на AI. Тук освен специалистите по AI се намесват много инвеститори и политици, които нищо не разбират, но са силно мотивирани от миризмата на пари. Тези хора трябва да бъдат отстранени от процеса по създаването на AI и това лесно може да стане, ако се забрани от това да се печелят пари.

11. Управителен борд

Конкуренцията е една огромна сила, която движи прогреса напред. В случая нашата цел не е да движим прогреса напред, а да го забавим. Затова предлагаме да премахнем конкуренцията и да въведем цензура.

Конкуренция не трябва да има нито между фирмите, нито между държавите. Затова предлагаме да се създаде борд, който да ръководи всички фирми и държави участващи в създаването на AI. Нека бордът да събира всички научни изследвания в областта на AI, но да не ги прави общодостъпни, а да ги споделя само в кръга на одобрените учени. Нека бордът да одобрява всеки експеримент за създаване на AI.

Нека бордът да събира информация от независимите изследователи, да я съхранява и да гарантира, че приносът на тези независими изследователи ще бъде оценен и възнаграден. Нека всички да работят за борда, а той да стои като едно бюрократично препятствие, което запушва и забавя процеса по създаването на AI.

И сега създаването на AI се следи и контролира от тайните служби, но хората, които работят там, не са компетентни в тази област. Освен това има различни тайни служби, които се конкурират помежду си. Затова е добре да има един общ борд, а тайните служби да следят дали някой не се опитва да създаде AI извън контрола на борда.

12. Каква е алтернативата?

Алтернативата е да позволим на всяка малка фирма работеща в гараж да се опитва да създаде AI. Представете си, ако проектът Manhattan беше оставен на малки фирми работещи в гаражи и вместо една атомна бомба бяха създадени хиляди малки бомби от малки независими фирми.

Разбира се, атомната бомба не може да бъде създадена в гараж, защото изисква твърде много ресурси. При AI положението е съвсем различно. Тук става дума за програма, защото AI е просто една програма. Нужен ни е само един компютър и нищо повече. Е, разбира се и програмист, но това може да е някой ученик от горните класове.

15. Заключение

Да допуснем, че ние хората ще сме достатъчно разумни и внимателни, за да не допуснем AI да излезе изпод нашия контрол и че ние ще останем господарите на планетата. Тогава какви трябва да са правилата, които е добре да вградим в нашия пръв и последен AI?

Важно е създаденият от нас AI да не е хиперактивен. Добре е той да е консервативен и да не прави прекалено големи промени на средата. Ако започне да променя орбитите на планетите, то това може да усложни нашия живот повече от това, което можем да понесем.

Бихме могли да създадем хитерпасивен AI, който не се бърка в живота на хората по никакъв начин. Единственото, което този хитерпасивен AI ще прави е да пречи на хората да създадат друг AI. Тоест, това ще AI, който само ни пази от AI.

Едва ли ще изберем този последният вариант. Все едно да имаш вълшебната пръчица, която може да сбъдне всяко твое желани и да не я използваш, а да я заключиш в шкафа. Вероятно ще се случи нещо като в приказката „Рибарят и златната рибка“. Първо ще поискаме нещо дребно и незначително като ново корито. После апетита ни ще се отвори и ще искаме още и още и няма да има разумна сила, която да може да ни спре.

16. Благодарности

Посвещавам тази статия на моя учител и приятел професор Димитър Скордев (1936 – 2022). Той не вярваше в AI и смяташе историите за мислещи машини за глупости и за научна фантастика. Въпреки това през целия си живот професор Скордев работеше в областта на математическата логика и с работата си допринасяше за създаването на този AI в когото не вярваше. Много от неговите ученици сега са водещи специалисти в областта на AI.

Професор Скордев обожаваше строгите математически доказателства. Той се занимаваше и със системи за автоматично доказване на теореми. Той допускаше възможност един ден компютрите да доказват теореми по-успешно от хората, но дълбоко в себе си и в това не вярваше. Предполагам, че когато компютрите започнат да доказват теореми по-добре от нас хората, ние математиците ще сме силно разоравани. Професор Скордев си спести това разочарование, защото не дочака това да се случи.

References

Dobrev, D. (2019). AI Should Not Be an Open Source Project. International Journal "Information Content and Processing", Volume 6, Number 1, 2019, pp. 34-48.

понеделник, 14 ноември 2022 г.

Дефиниция на AI и програма, която удовлетворява тази дефиниция

 

Ще разгледаме всички възможни стратегии на агента и ще покажем, че една от тях е най-добрата. Тази стратегия не е изчислима, но има близки до нея изчислими стратегии. Ще дефинираме AI като изчислима стратегия, която е достатъчно близо до най-добрата. За да определим най-добрата стратегия на агента ни е нужен език за описание на света. Чрез този език ще направим и програма удовлетворяваща дефиницията на AI. Програмата първо ще разбере света като го опише чрез избрания език, после на базата на това описание ще предскаже бъдещето и ще избере възможно най-добрия ход. Тази програма е изключително неефективна и на практика неизползваема, но тя може да бъде подобрена чрез усъвършенстване на езика за описание на света и чрез подобряване на алгоритъма за предсказване на бъдещето. По този начин може да се получи ефективна програма удовлетворяваща дефиницията на AI.

1. Въведение

Преди време разговарях с колега, който ми каза следното: „Може би, един ден, ние ще създадем AI, но това ще бъде една изключително неефективна програма и за нея ще ни е нужен безкрайно бърз компютър.“ Моят отговор беше: „Ти ми дай тази неефективна програма, която е AI, а аз ще я подобря и ще направя от нея истински AI, който може да работи на реален компютър.“

 

Днес, в тази статия, аз давам това, което навремето поисках от моя колега. Давам неефективна програма удовлетворяваща дефиницията на AI и дори давам идеи и насоки за това как тази неефективна програма може да се подобри и да стане реална програма работеща в реално време. Надявам се, някой от читателите на тази статия да направи това и да създаде търсения от нас AI.

 

Доколко неефективна е тук описаната програма? На теория има само два вида програми – завършващи и зациклящи, но на практика някои от завършващите програми са толкова неефективни, че можем да мислим за тях като за зациклящи. Тази програма е такава и поради това е неизползваема (освен ако компютърът е безкрайно бърз или светът е съвсем елементарен).

 

Каква е дефиницията на AI? Ще дефинираме AI като стратегия. Ако агентът следва тази стратегия, то той ще се справи достатъчно добре. Това важи за произволен свят, в който няма фатални грешки. Ако в света фатална грешка е възможна, тогава агентът може и да не се справи добре в този свят, но средното му представяне върху всички възможни светове пак ще е достатъчно добро.

 

Кои ще са възможните светове? Стратегиите на света са континуум много. Ако нямаме никакво очакване за това какъв е светът, то няма как да имаме очакване за това какъв е очакваният успех на агента. Ще предположим, че светът може да се опише и че неговото описание е възможно най-просто (това предположение е известно под името „Бръсначът на Окам“). Тоест, избираме един език за описание на светове и се ограничаваме до световете описани чрез този език. Световете, чието описание е по-просто (по-кратко) ще бъдат предпочитани (ще имат по-голяма тежест).

 

В тази статия ще разгледаме няколко езика за описание на света. Първият език ще описва детерминирани светове. В този език светът ще се описва чрез изчислима функция, която от състоянието на света и действието на агента изчислява новото състояние на света и следващото наблюдение. В този случай, ако знаем началното състояние на света и действията на агента, получаваме живота на агента в този свят.

 

Вторият език ще описва недетерминирани светове. Отново имаме изчислима функция. Този път изчислимата функция има още един аргумент и това е случайността. Тук, за да получим живота на агента в този свят ни трябва да знаем още каква е била случайността.

 

Ще дефинираме AI чрез тези два езика и ще направим предположението, че тези две дефиниции съвпадат. Ще направим дори предположението, че дефиницията на AI не зависи от това кой език за описание на света сме избрали и че всички езици дават една и съща дефиниция на AI.

 

На базата на тези два езика ще направим две програми, които удовлетворяват дефиницията на AI. Тези две програми изчисляват приблизително една и съща стратегия, но тяхната ефективност е съвсем различна. Тоест, езикът за описание на света не влияе върху дефиницията на AI, но силно влияе върху ефективността на получения чрез този език AI.

 

Приноси.

Тази статия подобрява дефиницията на AI, която първоначално е създадена от Hernández-Orallo et al. през 1998 [3] и съществено е подобрена от Marcus Hutter през 2000 [4]. Подобренията са две:

1. Дефиниция на AI, която не зависи от сложността на света и дължината на живота. В [3, 4] е дадена дефиниция на AI, но там се предполага, че сложността на света и дължината на живота са ограничени с някакви константи, които се явяват параметри на дефиницията.

2. Дефиниция на AI, която не зависи от езика за описание на света. В [3, 4] езикът е фиксиран. Тоест, в [3, 4] се предполага, че има само един възможен начин, по който може да се опише света.

2. Постановка на задачата

Нека агентът има n възможни действия и m възможни наблюдения. Нека S и W са множествата на действията и на наблюденията. Две от наблюденията ще са специални. Това ще са good и bad, които ще дават наградите 1 и -1. Останалите наблюдения от W ще дават награда 0.

 

Ще добавим още едно специално наблюдение и това ще е наблюдението finish. Агентът никога няма да вижда това наблюдение (finishÏW), но то ще ни е нужно при дефиницията на модел на света. Моделът ще предсказва finish, когато се е счупил и повече нищо не може да предскаже. Няма да гледаме на наблюдението finish като край на живота, а като скок в неизвестното. Наблюдението finish ще дава награда -1, защото искаме нашият AI да избягва такива скокове в неизвестното.

 

Дефиниция 1: Дървото на всички възможности е едно безкрайно дърво. Върховете, които са на четна дълбочина и не са листа, ще ги наричаме върхове за действие, а тези които са на нечетна дълбочина ще ги наречем върхове за наблюдение. От всеки връх за действие излизат n стрелки, на които съответстват n-те възможни действия на агента. От всеки връх за наблюдение излизат m+1 стрелки, на които съответстват m-те възможни наблюдения на агента и наблюдението finish. Стрелката, която съответства на finish, води до листо. Останалите стрелки водят до върхове, които не са листа.

 

Дефиниция 2: Свят ще наричаме тройката <S, s0, f>, където:

1. S – крайно или изброимо множество от вътрешните състояния на света.

2. s0 Î S – началното състояние на света.

3. f: S´S ® W ´ S – функция, която на състояние и действие връща наблюдение и ново състояние на света.

 

Функцията f не може да върне наблюдението finish (то се предсказва само когато f не е дефинирана и когато няма следващо състояние на света). Дали функцията f е изчислима, детерминирана или тотална? Отговорът на всеки един от тези три въпроса може да е Да, а може да е Не.

 

Дефиниция 3: Детерминирана стратегия на агента е функция, която на всеки връх за действие ни съпоставя по едно действие.

 

Дефиниция 4: Недетерминирана стратегия на агента е функция, която на всеки връх за действие ни съпоставя едно или повече възможни действия.

 

Когато в един връх (момент) стратегията ни дава всички възможни действия, ще казваме, че в този момент стратегията не знае какво да прави. Няма да правим разлика между агент и стратегия на агента. Обединение на две стратегии ще наричаме стратегията, която се получава когато избираме една от двете стратегии и я изпълняваме без да я сменяме. Ако разрешим избраната стратегия да се сменя, би се получило нещо друго.

 

Дефиниция 5: Живот ще наричаме път в дървото на всички възможности започващ от корена.

 

Всеки живот може да се представи чрез редицата от действия и наблюдения:

a1, o1, … , at, ot, …

 

Няма да правим разлика между краен живот и връх от дървото на всички възможности, защото има взаимно еднозначно съответствие между двете.

 

Дефиниция 6: Дължината на живота ще бъде t (броят на наблюденията). Тоест дължината на живота ще е дължината на пътя върху две.

 

Дефиниция 7: Завършен живот ще е такъв, който не може да се продължи. Тоест, това ще е безкраен живот или живот завършващ с наблюдението finish.

 

Когато пуснем един агент е в един свят, резултатът ще е завършен живот. Ако агентът е недетерминиран, тогава резултатът не е единствен. Същото, ако светът е недетерминиран.

3. Оценка

Искаме да определим най-добрата стратегия на агента. За целта ни трябва оценка на живота. Тази оценка ще ни даде една линейна наредба, която за всеки два живота ще ни каже кой е по-добрият.

 

Първо ще кажем какъв е успехът на живота L. Когато животът е краен, ще преброим колко пъти сме наблюдавали good – това число ще означим с Lgood(L). Аналогично за bad и finish. По този начин успеха за карен живот ще бъде:

 

 

Ще означим с Li началото на живота L, което е с дължина i. За безкраен живот L ще дефинираме Success(L) като границата на Success(Li), когато i клони към безкрайност. Ако тази редица не е сходяща, ще вземем средното между точната долна и точната горна граница.

 

 

По този начин на всеки живот съпоставихме едно число, което е в интервала [-1, 1] и което е успехът на този живот. Дали успехът на живота да не бъде оценката, която търсим? Това не е добра идея, защото, ако в един свят няма фатални грешки, тогава на най-добрата стратегия ще й е все едно какво играе. Ще има един максимален успех и този максимален успех винаги ще може да бъде постигнат, без значение колко грешки са направени в началото. Бихме искали, ако има две възможности, които в безкрайност дават еднакъв успех, най-добрата стратегия да предпочете тази възможност, която по-скоро ще даде положителен резултат. Затова дефинираме оценка на завършен живот по следния начин:

 

Дефиниция 8: Оценката на безкрайния живот L ще бъде редицата започваща с успеха на живота и продължена с наградите получени на i-тата стъпка:

 

Success(L), reward(o1), reward(o2), reward(o3), …

 

Дефиниция 9: Оценката на крайния завършен живот L ще бъде същата редица, но за i>t членовете reward(oi) ще бъдат заместени с Success(L):

 

Success(L), reward(o1), … , reward(ot), Success(L), Success(L), …

 

(Тоест, наблюденията, които са след края на живота, ще получат очакване за наградата, което е равно на успеха на крайния завършен живот.) 

 

Ще сравняваме две оценки, като вземем първата разлика. Тоест, първата цел на най-добрата стратегия ще бъде успеха на целия живот, но втората цел ще бъде максимално бърз резултат.

4. Очакваната оценка

Дефиниция 10: За всяка детерминирана стратегия P ще определим grade(P), което ще бъде очакваната оценка на живота при условие, че се изпълни тази стратегия.

 

Ще определим очакваната оценка за всеки връх v при условие, че някак сме стигнали до v и от този момент нататък изпълняваме стратегията P. Очакваната оценка на P ще бъде оценката, която сме съпоставили на корена.

 

Ще опишем грубо как на върховете се съпоставят очакваните оценки. След това ще опишем подробно частния случай когато се търси най-добрата оценка, тази която е очакваната оценка на най-добрата стратегия.

 

Грубо описание:

1. Нека v е връх за действие.

Тогава оценката на v ще бъде оценката на прекия наследник на v, който отговаря на действието P(v).

 

2. Нека v е връх за наблюдение.

2.1. Нека има един възможен свят, който е модел на v.

Ако изпълняваме P в този свят ще получим един възможен живот. Тогава, оценката на v ще бъде оценката на този живот.

2.2. Нека има много възможни светове.

Тогава всеки свят ни дава по един възможен живот и оценка на v се получава като средното от оценките на възможните животи.

 

Следва подробно описание на най-добрата стратегия. Основната разлика е, че когато v е връх за действие, най-добрата стратегия винаги избира максимума от очакваните оценки на преките наследници.

5. Най-добрата стратегия

Както вече казахме, за да имаме очакване за успеха на агента, трябва да имаме някакво предположение за това какъв е светът. Ще предполагаме, че светът може да се опише, чрез някакъв език за описание на светове.

 

Нека вземем стандартния език за описание на светове. Това е езикът, при който светът се описва с изчислима функция (така е в [3, 4]). За да опишем изчислимата функция f ще използваме Машина на Тюринг. Началното състояние на света ще опишем като крайна дума над азбуката на машината на Тюринг. Получаваме изчислим и детерминиран свят, който в общия случай не е тотален.

 

Дефиниция 11: Свят със сложност k ще бъде свят, в който:

1. Функцията f се описва с Машина на Тюринг с k състояния.

2. Азбуката на машината съдържа k+1 символа (λ0, …, λk).

3. Началното състояние на света е дума с не повече от k букви. Азбуката е {λ1, …, λk}, т.е. азбуката на машината без празния символ λ0.

 

Тук за три различни неща използваме едно и също k, но няма нужда да използваме различни константи.

 

Ще кажем, коя е най-добрата стратегия за световете, които са със сложност k (важно е, че тези светове са крайно много). За целта на всеки връх за наблюдение ще съпоставим неговата най-добра оценка (очакваната оценка при условие, че оттам нататък се изпълнява най-добрата стратегия).

 

Нека имаме живота: a1, o1, … , at, ot, at+1.

Нека този живот минава през върховете: v0, w1, v1, … , wt, vt, wt+1.

Тук v0 е коренът, vi са върхове за действие, а wi са върхове за наблюдение.

 

За vt ще видим колко модела със сложност k има той.

 

Дефиниция 12: Един детерминиран свят е модел на vt, ако в този свят агентът би достигнал до vt, ако извърши съответните действия (a1, … , at). Всеки връх за действие има едни и същи модели със своите преки наследници.

 

Дефиниция 13: Най-добрата стратегия за световете, които са със сложност k, ще бъде тази, която винаги избира най-добрата оценка (измежду най-добрите оценки на преките наследници).

 

Дефиниция 14:  Най-добрата оценка на върха wt+1 се определя по следния начин:

 

Първи случай. Върховете vt и wt+1 нямат модел със сложност k.

Тогава най-добрата оценка на wt+1 ще бъде undef. В този случай стратегията няма да знае какво да прави (в цялото поддърво на vt), защото най-добрата оценка на всички наследници ще бъде undef.

 

Ако не искаме да въвеждаме оценка undef, можем да използваме най-малката възможна оценка, което е редицата от минус единици. Когато избираме максимума, го избираме между върховете, които не са undef. Ако заменим undef с възможно най-малката оценка, резултатът ще е същият.

 

Втори случай. Върховете vt и wt+1 имат един модел със сложност k.

Нека D е този модел. В този случай има континуум много пътища минаващи през wt+1, такива че D е модел на всичките тези пътища. Ще изберем от тези пътища (завършени животи) множеството на най-добрите. Оценката, която търсим, ще бъде оценката на тези най-добри пътища. На всеки един от тези пътища съответства детерминирана стратегия на агента. Тези стратегии ще наречем най-добрите стратегии минаващи през wt+1.

 

Ще построим множеството на най-добрите детерминирани стратегии по следния начин: Нека P0 е множеството на всички стратегии, които водят до wt+1. Взимаме успеха на всяка една от тях в света D. Взимаме подмножеството P1 от тези стратегии, в които се постига максималният успех. Намаляваме P1, като взимаме тези стратегии, при които за reward(ot+2) се постига максимум и получаваме P2. След това повтаряме процедурата за всяко i>2. По този начин получаваме множеството на най-добрите детерминирани стратегии P. (Най-добрите от тези, които минават през wt+1. Също така, най-добрите по пътищата минаващи през wt+1, а за останалите пътища няма значение как се държи стратегията.)

 

 

Множество P можем да си го мислим като една недетерминирана стратегия. Нека вземем някое pÎP. По този начин ще получим и най-добрата оценка:

 

 

Тук пропускаме членовете reward(oi)  при i£t, защото те са определени еднозначно от vt. Следващият член зависи от wt+1 и D, но не зависи от p. Оставащите членове зависят от p.

 

Горната формула можем да запишем и по този начин:

 

 

Трети случай. Върховете vt и wt+1 имат краен брой модели със сложност k.

Нека M е множеството на тези модели. Отново имаме континуум много пътища минаващи през wt+1, такива че за всеки един от тях някой свят от M му е модел. Тези пътища отново образуват дърво, но във втория случай разклоненията бяха само заради различна стратегия на агента, а тук може да има разклонения заради различен модел на света. Отново имаме континуум много детерминирани стратегии, но те вече не съответстват на пътища, а на поддървета, защото може да има разклонение по модела. Отново ще търсим множеството на най-добрите детерминирани стратегии и търсената оценка ще бъде тяхната средна оценка (средната оценка в M).

 

Отново ще построим множествата от стратегии Pi. Тук P1 ще бъде множеството от стратегиите, при които се постига максимумът на средния успех. Съответно P2 ще бъде множеството на тези от тях, при които се постига максимумът на средното на reward(ot+2) и т.н. Получената оценка ще изглежда по следния начин:

 

 

Ако вземем някое pÎP, тогава получената оценка ще изглежда така:

 

 

Тук qi са теглата на световете, които са нормализирани, за да се превърнат във вероятности. В случая предполагаме, че световете имат еднакво тегло. Тоест:

 

Това, което описахме, прилича на алгоритъм, но не е алгоритъм, а дефиниция, защото вътре има неизчислими стъпки. Описана стратегия е добре дефинирана, макар и неизчислима. Как чрез най-добрата оценка за сложност k ще получим най-добрата оценка за всяка сложност?

 

Дефиниция 15: Най-добрата оценка на върха v ще бъде границата на най-добрите оценки на върха v за световете, които са със сложност k, когато k клони към безкрайност.

 

Как ще дефинираме граница на редица от оценки? Числото, което е на позиция i ще бъде границата от числата, които са на позиция i. Когато редицата е разходяща, ще вземем средното между точната долна и точната горна граница.

 

Дефиниция 16: Най-добрата стратегия ще бъде тази, която винаги избира действие, което води до максимума получен от най-добрите оценки на преките наследници.

 

С какво най-добрата стратегия е по-добра от най-добрата стратегия за светове със сложност k? Първата стратегия знае какво да прави във всеки връх, докато втората стратегия в повечето върхове не знае какво да прави, защото в тях няма нито един модел със сложност k. Първата стратегия може да даде по-добро решение от втората дори и за върховете, за които втората стратегия знае какво да прави, защото първата стратегия разглежда и моделите със сложност по-голяма от k. На пръв поглед не използваме бръснача на Окам, защото всички модели имат еднаква тежест, но всъщност използваме бръснача на Окам, защото по-простите светове се изчисляват от повече машини на Тюринг, тоест те имат по-голяма тежест.

6. Дефиниция на AI

Дефиниция 17: AI ще бъде изчислима стратегия, която е достатъчно близо до най-добрата.

 

Тук трябва да кажем какво значи една стратегия да е близо до друга стратегия и колко е достатъчно близо. Ще казваме, че две стратегии са близки, когато очакваните оценки на двете стратегии са близки.

 

Дефиниция 18: Нека A и B са две стратегии и {an} и {bn} са техните очаквани оценки. Тогава разликата между A и B ще бъде {en}, където:

 

 

Тук γ е коефициент на обезценка. Нека γ=0.5. Добавили сме коефициент на обезценка, защото искаме, когато две стратегии дълго време се държат еднакво, тогава двете стратегии да са близки. Колкото по-далеч във времето се появи разликата, толкова по-малко влияние ще има тя.

 

Когато n се увеличава, тогава |en| може да расте или да намалява. Дефиницията е направена така, защото искаме разликата да е малка, когато очакваната оценка на стратегията A кръжи около очакваната оценка на B. Тоест, ако за (n-1) по-голямата е очакваната оценка на A, а за n по-голяма е тази на B, тогава в en увеличението и намалението се компенсират едно друго.

 

Дефиниция 19: Ще казваме, че |A-B|<e, ако "n |en|<e.

 

Ако "e |A-B|<e, тогава очакваната оценка на A е равна на очакваната оценка на B.

7. Програма удовлетворяваща дефиницията

Ще опишем алгоритъм, който представлява изчислима стратегия. На всеки връх за действие съответства незавършен живот и алгоритмът ще ни даде действие, с което този живот да бъде продължен. Този алгоритъм ще се състои от две стъпки:

 

1. Алгоритмът ще отговори на въпроса „Какво става?“. Това ще стане като намери първото k, за което незавършеният живот има модел. Също така алгоритмът ще намери множеството M (множеството на всички модели на незавършения живот, които са със сложност k). За съжаление, това е неизчислимо. За да стане изчислимо ще търсим ефективни модели със сложност k.

 

Дефиниция 20: Ефективен модел със сложност k ще бъде свят със сложност k (дефиниция 11), при който машината на Тюринг използва не повече от (1000.k) стъпки, за да направи една стъпка от живота (да изчисли следващото наблюдение и следващото вътрешно състояние на света). Когато машината направи повече от (1000.k) стъпки, тогава моделът извежда наблюдението finish.

 

Тук числото 1000 е някакъв параметър на алгоритъма, но приемаме, че този параметър не е много съществен. Ако един връх има модел със сложност k, но няма ефективен модел със сложност k, тогава $n (n>k) такова, че върхът има ефективен модел със сложност n.

 

2. Алгоритмът ще отговори на въпроса „Какво да правя?“. За целта ще проиграем h стъпки в бъдещето по всички модели от M и по всички възможни действия на агента. Тоест, ще обходим едно крайно поддърво и за всеки връх на поддървото ще изчислим best (това е най-добрата очаквана оценка до листо). След това ще изберем действие, което води до максимума по best.

 

Дефиниция 21: Частично поддърво на върха vt по M на дълбочина h ще бъде поддървото  на vt състоящо се от върховете, които са на дълбочина не повече от 2h и които имат модел в M.

 

Дефиниция 22: Оценка до листо на върха vt+i до листото vt+j ще бъде:

  Първи случай. Ако j=h, тогава това ще бъде редицата:

Success(vt+j), reward(ot+i+1), … , reward(ot+j)

  Втори случай. Ако j<h, тогава това ще бъде същата редица, но удължена с (h-j) пъти Success(vt+j). Целта на това удължаване е дължината на оценката до листо винаги да бъде (h-i+1).

 

Дефиниция 23: Най-добрата очаквана оценка до листо (best):

1. Нека vt+i е връх за действие.

  1.1. Ако vt+i е листо, тогава best(vt+i) е оценката до листо на върха vt+i до листото vt+i.

  1.2. Ако vt+i не е листо, тогава:

 

 

Тук с wa сме отбелязали прекия наследник на vt+i получен след действието a. Аналогично по-долу за vo.

 

2. Нека wt+i е връх за наблюдение, тогава:

 

Тоест, взимаме най-добрата очаквана оценка от преките наследници и я удължаваме с едно, като вмъкваме на първа позиция reward(o). Тук W= W È {finish}, а с po сме означили вероятността следващото наблюдение да е o. Нека с M(v) да означим множеството на моделите на v. Тогава:

 

 

 

Тук qm са теглата на моделите. Последното равенство се получава от предположението, че тези тегла са равни. Там, където няма модел, съответното po е нула и няма нужда best(vo) да се изчислява.

Показахме как се изчислява най-добрата частична стратегия. Това ли ще е стратегията на нашия алгоритъм? Отговорът ще е Не, защото искаме да допускаме известен толеранс.

 

Ако две стратегии се различават незначително по първата координата на оценката си, тогава, ако леко увеличим h, е много вероятно подредбата да се промени. Затова една стратегия ще бъде предпочетена, ако тя е съществено по-добра (тоест, разликата при някоя от координатите е повече от ε).

 

Ще дефинираме най-добрата частична стратегия с толеранс ε и това ще е стратегията на нашия алгоритъм.

8. Толеранс ε

Ще модифицираме горния алгоритъм като променим функцията best. Тази функция връщаше най-добрата оценка, а сега ще връща множеството на най-добрите оценки с толеранс ε.

 

Как ще променим търсенето на максимална оценка в множество от оценки? Преди се гледаше първата координата и се взимаха оценките, при които тази координата е най-голяма, после от тях се взимаха тези оценки, при които втората координата е най-голяма и т.н. Накрая се получаваше само една оценка. След модификацията ще вземем тези оценки, при които първата координата е най-голяма и тези, които са на разстояние ε от максимума.

Нека E0 е стартовото множество от оценки. Нека в E0 има n оценки и всичките са с дължина m. Ще постоим редицата от множества от оценки E0, … , Em (Ei+1Í Ei) и последното множество Em ще бъде търсеното множеството на най-добрите оценки с толеранс ε. Нека E0={G1, …, Gn} и Gj={gj0, … , gjm}. Ще построим и целевата оценка a (a={a0, …, am}). Търсеното множество от оценки Em, ще са оценките на разстояние ε от a.

 

Дефиниция 24: Целевата оценка a и търсеното множество Em се получават по следния начин:

E1={ GjÎE0 | a0-gj0 }

E2={ GjÎE1 | (a0-gj0)+ g.(a1-gj1)<ε }

 

Тук g отново е коефициент на обезценка. По този начин модифицирахме начина по който се изчислява максимума. Трябва да модифицираме и сумата на оценки.

 

Сега оценките са заменени с множества от оценки. Ще направим всички възможни комбинации и за всяка една комбинация ще изчислим сумата. Полученото множество ще бъде множеството от всички суми от всички възможни комбинации.

 

Остава да изберем следващия ход. Ще вземем множествата от оценки, които ни дава функцията best за преките наследници на vt. Ще направим обединението на тези множества и ще изчислим множеството на най-добрите оценки с толеранс ε. Ще изберем някое от действията, които ни водят към една от тези най-добри оценки.

9. Дали това е AI?

Дали описаният по-горе алгоритъм удовлетворява нашата дефиниция на AI? Първо ще кажем, че този алгоритъм зависи от параметрите h и ε. За да намалим броя на параметрите ще приемем, че ε е функция на h. Например ε=h-0.5.

 

Твърдение 1: При достатъчно голямо h описаният алгоритъм е достатъчно близо до най-добрата стратегия.

 

Нека най-добрата стратегия е Pbest, а стратегията изчислена от описания алгоритъм с параметър h е Ph. Тогава горното твърдение може да се запише така:

"ε>0 $n "h>n ( |Pbest - Ph|<ε )

 

Не можем да докажем това твърдение, но можем да приемем, че когато h клони към безкрайност описаната стратегия клони към най-добрата стратегия за световете, които са със сложност k. Когато t клони към безкрайност k ще достигне сложността на света или ще клони към безкрайност. Тези разсъждения ни карат да си мислим, че горното твърдение е вярно.

10. Свят със случайност

Първият език за описание на светове, който разгледахме, описва детерминирани светове. Ако в света има някаква случайност, тогава описанието на този език ще е много далеч от истината. Ще добавим случайност към езика за описание на светове. По този начин езикът ще стане много по-добър и по-изразителен.

 

При новия език светът отново ще се описва чрез изчислима функция, но тази функция ще има още един аргумент и това ще е случайността. Случайност ще наричаме резултата от хвърлянето на един зар. Нека сложността на света да е k. Тогава зарът ще има k възможни резултата. Вероятностите да се падне всеки един от тези резултати ще бъдат p1, … , pk.

 

Дефиниция 25: Модел на живота до момента t със сложност k ще бъде свят със сложност k и случайност с дължина t. Ще искаме този живот да се генерира от този модел и тази случайност. Случайността ще е произволна дума R с дължина t. Буквите на R ще са от азбуката на машината на Тюринг без λ0.

 

Теглото на модела е вероятността да се случи R.

 

Дефиниция 26: Теглото на модела ще бъде .

 

Вероятностите p1, … , pk на модела ще ги определим така, че вероятността да се случи R да е максимална:

 

 

Тоест, ще имаме модели с малко теглото, при които вероятността да се случи точно този живот е много малка и модели с голямо тегло, при които тази вероятност е по-голяма.

11. Дефиниция със случайност

По същия начин както направихме по-горе ще дефинираме най-добрата стратегия за моделите, които са със сложност k. (Тук е важно, че моделите имат различно тегло.)  Ще направим стратегията, която е границата когато k клони към безкрайност и това ще е най-добрата стратегия. Отново дефиницията на AI ще бъде изчислима стратегия, която е достатъчно близо до най-добрата стратегия.

 

Твърдение 2: Двете дефиниции на AI съвпадат.

 

Тоест, най-добрата стратегия за световете без случайност е същата като най-добрата стратегия за световете със случайност. За да докажем горното ни е нужно първо да докажем:

 

Твърдение 3: Ако имаме произволна дума w над азбуката {0, 1}, в която единиците са с вероятност p и ако направим естественото продължение на тази дума, то следващата буква ще е единица с вероятност p.

 

Какво е естествено продължение? Нека вземем първата (най-простата) машина на Тюринг, която генерира w. Естественото продължение ще наричаме продължението, което ще се генерира от тази машина на Тюринг.

 

Не можем да докажем твърдение 3, но ще дадем две идеи за неговото доказателство:

 

Първата идея е практически експеримент. Ще напишем програма, която намира естественото продължение на редица и ще експериментираме. Ще дадем на програмата различни думи w, в които 1 е с вероятност p. Ще видим какво е продължението и ще изчислим средната вероятност от тези експерименти. Ако експериментите са много и ако получената средна вероятност е p, можем да предполагаме, че твърдение 3 е вярно.

 

Втората идея за доказателство е теоретична. Нека имаме една изчислима функция f от в . Нека сме тръгнали от числото n. Получаваме редицата f i(n). Ще превърнем тази редица в редицата от нули и единици bi. Числото bi ще е нула iff f i(n) е четно. Нека w е начало на bi. Какво е очакването ни за следващия елемент на bi?

 

1 сл. Редицата bi е циклична и има вида w1w2*. Нека w е по дълга от w1. Тогава има начало на w2 което е част от w и за него единиците са с вероятност p.

2 сл. Редицата f i(n) има дълго начало, в което нечетните числа са с вероятност p. Няма причини да очакваме тази вероятност да се промени.

12. Програма със случайност

Ще направим програма, която удовлетворява дефиниция на AI, която е направена на базата на модели със случайност. Ще направим тази програма по същия начин, както я направихме по-нагоре, но ще има някои разлики.

 

Няма да търсим първото k, за което има модел до момента t със сложност k, защото такъв модел ще има дори и при съвсем малко k. Вместо това, ще предполагаме, че k е фиксирано и че k е параметър на алгоритъма.

 

Първата стъпка ще бъде да намерим всички модели със сложност k на върха vt. Втората стъпка ще бъде да обикаляме на дълбочина h частично поддърво на върха vt по всички намерени модели, по всички възможни действия на агента и по всички случайности R1R2, където R1 е случайността на модела, а R2 е случайността след t. Тук R1 е фиксирана (определя се от модела), а R2 пробягва всички възможности.

 

Аналогично на твърдение 1 ще направим:

 

Твърдение 4: При достатъчно големи k и h описаният алгоритъм е достатъчно близо до най-добрата стратегия.

 

Твърдим, че при достатъчно големи параметри двата алгоритъма изчисляват приблизително една и съща стратегия, но дали тези два алгоритъма са еднакво ефективни?

 

На практика и двата алгоритъма са безкрайно неефективни, но, все пак, вторият алгоритъм е много по-ефективен от първия. Ще разгледаме три случая:

 

1. Нека имаме прост детерминиран свят. Прост в смисъл, че е със сложност k, където k е малко. В този случай първият алгоритъм ще е малко по-ефективен, защото бързо ще намери модела. Вторият алгоритъм ще намери същия модел, защото детерминираните модели са подмножество на недетерминираните.

 

2. Нека имаме детерминиран свят, който не е прост, т.е. той е с голямо k. В този случай на първия алгоритъм ще му е нужно ужасно много време за да намери модел на света. Вероятно, той няма да намери истинския модел на света, а едно по-просто обяснение. Това по-просто обяснение ще е модел на живота до t, но след още няколко стъпки модела ще сгреши. Вторият алгоритъм също ще намери по-просто обяснение на света, но това по-просто обяснение ще е недетерминирано. И двата алгоритъма ще предсказват бъдещето с някаква грешка, но описанието, което включва случайност ще е по-добро и по-точно. Освен това, сложността на описанието със случайност ще е много по-малка.

 

3. Нека имаме свят със случайност. В този случай вторият алгоритъм има съществено преимущество. Той ще намери недетерминирания модел на света и ще започне да предсказва бъдещето по най-добрия възможен начин. На пръв поглед изглежда сякаш първият алгоритъм въобще няма да се справи, но това не е така. И той ще се справи, макар и много по-бавно. Недетерминирания модел се състои от изчислима функция f и случайност R. Съществува изчислима функция g, която генерира R. Композицията на f и g ще бъде детерминиран модел на света в момента t. Разбира се, след още няколко стъпки g ще се размине от действителната случайност и fg вече няма да е модел на света. Тогава ще трябва да търсим нова функция g. Тоест, възможно е чрез детерминистична функция да опишем свят със случайност, но това описание е много измъчено и работи само до някой момент t. Недетерминистичният модел ни дава описание, което работи за всяко t.

 

Извода е, че изборът на език за описание на света е много важен. Може би тези два езика дават една и съща дефиниция на AI, но програмите получени на базата на двата езика имат съществено различна ефективност.

13. Свят с много агенти

Светът със случайност може да се разглежда като свят с един агент, който играе случайно. Нека допуснем, че светът има много агенти и те са разделени на три вида:

 

1. Приятели, които ни помагат.

2. Врагове, които се стремят да ни попречат.

3. Такива, които играят случайно.

 

Нека броят на агентите е a (без да броим главния герой). Ще допуснем, че всеки агент има k възможни хода (k е сложността на света). Ще предполагаме, че първи играе главния герой (това сме ние), а след него играят останалите агенти, като реда, по който играят, е фиксиран. Предполагаме, че всеки агент вижда всичко (вижда вътрешното състояние на света, вижда модела, включително броя на агентите и това кой е приятел и кой е враг и вижда как вече са играли тези агенти, които играят преди него). Ще предполагаме още, че агентите са много умни и могат да изчислят кой е най-добрият и кой е най-лошият ход.

 

Моделът на света отново ще бъде машина на Тюринг, но с повече аргументи (вътрешното състояние на света и хода на главния герой плюс ходовете на всички останали агенти). Моделът ще включва още и това кой ни е приятел и кой ни е враг. Моделът на живота до момента t ще включва още и ходовете на всичките a агента за всичките t стъпки.

 

Отново ще направим дефиниция на AI на базата на този нов, по-сложен език. Отново ще направим предположението, че това е същата дефиниция. Ще направим и програма, която търси модел на света в множеството на световете с много агенти. Ще видим, че сега езика е много по-изразителен и че ако в света имаме поне един опонент, то този начин за описание на света е много по-адекватен и съответно програмата, която сега сме направили е много по-ефективна.

14. Заключение

Разгледахме три езика за описание на света. На базата на всеки един от тях направихме дефиниция на AI и предположихме, че в трите случая дефиницията е една и съща. Ще направим едно още по-силно предположение:

 

Твърдение 5: Дефиницията на AI не зависи от езика за описание на света, на базата на който сме направили тази дефиниция.

 

Това твърдение не можем да го докажем, макар че предполагаме, че то е вярно. Също така предполагаме, че то не може да бъде доказано (подобно на тезиса на Чърч).

 

Въпреки, че предположихме, че дефиницията на AI не зависи от езика за описание на света, предполагаме, че от този език силно зависи програмата, която удовлетворява тази дефиниция. Видяхме, че при сравнението между първите два езика се видя, че втория е много по-експресивен и получения чрез него AI е много по-ефективен.

 

Ще разгледаме още един език за описание на светове. Това е езикът описан в [2]. В този език се дефинира понятието „алгоритъм“ и чрез това понятие много по-ефективно се описва света. С понятието „алгоритъм“ ние можем да планираме бъдещето. Нека вземе като пример следното: „Ще чакам автобуса, докато дойде. После ще отида на работа и ще седя там до края на работното време.“ Тези две изречения описват бъдещето чрез изпълнение на алгоритми. Ако ще предвиждаме бъдещето само като обхождаме h възможни стъпки, то това h ще трябва да стане неприемливо голямо.

 

Езикът описан в [2] е много по-експресивен и той дава надежда, че чрез него ще може да се направи програма, която да е AI и която да е достатъчно ефективна, за да може да работи в реално време.

15. Благодарности

Искам да благодаря на моя колега Иван Сосков. Той е човекът, с когото преди години обсъждах ефективността на AI. Искам да благодаря и на моите колеги Димитър Димитров и Йоан Карадимов. Идеята за тази статия възникна по време на един разговор с тях. Искам да се извиня на Marcus Hutter и Shane Legg, защото в статията си [1] несправедливо ги обвиних, че са използвали моя статия без да я цитират. По-късно, когато внимателно прочетох статията на Marcus Hutter [4], разбрах че там той е публикувал основните идеи много преди мене.

References

 

[1] Dobrev D. (2013) Comparison between the two definitions of AI. arXiv:1302.0216 [cs.AI]

 

[2] Dobrev D. (2020) Language for Description of Worlds. arXiv:2010.16243 [cs.AI]

 

[3] Hernández-Orallo, J., & Minaya-Collado, N. (1998). A formal definition of intelligence based on an intensional variant of Kolmogorov complexity.

Proc. intl symposium of engineering of intelligent systems (EIS'98), February

1998, La Laguna, Spain (pp. 146–163). : ICSC Press.

 

[4] Hutter, M. (2000). A Theory of Universal Artificial Intelligence based on Algorithmic Complexity. arXiv:cs.AI/0004001 [cs.AI]