Търсене и решаване на проблеми

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

Търсене на практика: получаване от А до Б

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

Този въпрос принадлежи към класа на проблемите при търсене и планиране. Подобни проблеми трябва да се решават от самоуправляващи се автомобили и (може би по-малко очевидно) AI за игра на игри. В играта на шах например трудността не е толкова в получаването на фигура от А до Б, колкото в опазването на фигурите ви от противника.

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

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

Ще обсъдим два вида проблеми:

  • Търсене и планиране в статична среда само с един "агент".
  • Игри с двама играчи („агенти“), които се състезават помежду си.
  • Тези категории не покриват всички възможни сценарии от реалния свят, но те са достатъчно общи, за да демонстрират основните концепции и техники.

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

    Проблем с играчките: пресичане на пилета

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

    Забележка

    Лесната версия на пъзела на гребната лодка

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

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

    Състояния на пъзела за пресичане на пилета

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

    Някои от тези състояния са забранени от условията на пъзела. Например, в състояние NFFN (което означава, че роботът е в близката страна с храната за пилета, но лисицата и пилето са в далечната страна), лисицата ще яде пилето, което не можем да имаме. По този начин можем да изключим състоянията NFFN, NFFF, FNNF, FNNN, NNFF и FFNN (можете да проверите всеки един, ако се съмнявате в нашите разсъждения). Остават ни следните десет състояния:

    След това ще разберем кои са възможни преходи на състоянието, което означава просто, че докато роботът гребе лодката с някои от предметите като товар, какво е полученото състояние във всеки случай. Най-добре е да нарисувате диаграма на преходите и тъй като при всеки преход първата буква се редува между N и F, удобно е да се нарисуват състоянията, започващи с N (така че роботът е от близката страна) в един ред и състоянията като се започне с F в друг ред:

    Сега нека нарисуваме преходите. Можем да нарисуваме стрелки, които имат посока, така че те да сочат от един възел към друг, но в този пъзел преходите са симетрични: ако роботът може да гребе от състояние NNNN до състояние FNFF, той може също толкова добре да гребе от другата страна от FNFF до NNNN. По този начин е по-просто да нарисувате преходите просто с линии, които нямат посока. Започвайки от NNNN, можем да преминем към FNFN, FNFF, FFNF и FFFN:

    След това попълваме останалото:

    Вече свършихме доста работа по пъзела, без да изглеждаме по-близо до решението и няма малко съмнение, че вече сте могли да разрешите целия пъзел, като използвате своя „естествен интелект“. Но за по-сложни проблеми, при които броят на възможните решения нараства на хиляди и милиони, нашият систематичен или механичен подход ще блести, тъй като трудната част ще бъде подходяща за обикновен компютър. Сега, когато сме формулирали алтернативните състояния и преходите между тях, останалото се превръща в механична задача: намерете път от началното състояние NNNN до крайното състояние FFFF.

    Една такава пътека е оцветена на следващата снимка. Пътят продължава от NNNN до FFFN (роботът отвежда лисицата и пилето на другата страна), оттам към NFNN (роботът отвежда пилето обратно на стартовата страна) и накрая към FFFF (роботът вече може да премести пилето и храна за пилета от другата страна).

    Държавно пространство, преходи и разходи

    За да формализираме проблема с планирането, използваме понятия като пространство на състоянието, преходи и разходи.

    Ключова терминология

    Държавното пространство

    Когато четете новините, може да видите термините „общ“ и „тесен“ AI. И какво означават тези? Тесният AI се отнася до AI, който се справя с една задача. Общият AI или изкуственият общ интелект (AGI) се отнася до машина, която може да се справи с всякакви интелектуални задачи. Всички методи за изкуствен интелект, които използваме днес, попадат под тесния изкуствен интелект, като общият интелект е в сферата на научната фантастика. Всъщност идеалът на AGI е почти изоставен от изследователите на AI поради липса на напредък към него за повече от 50 години въпреки всички усилия. За разлика от това, тесният AI постига напредък в скокове и граници.

    Преходи

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

    Разходи

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