Кратка история на изкуствения интелект. Изкуствен интелект

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

Изкуствен интелект – определение

Интелигентност– това е умственият компонент на човек, който има следните способности:

  • опортюнистичен;
  • способност за учене чрез натрупване на опит и знания;
  • способност за прилагане на знания и умения за управление на околната среда.

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

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

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

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

Днес развитието на изкуствения интелект протича в две независими посоки:

  • неврокибернетика;
  • логичен подход.

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

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

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

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

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

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

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

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

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

Изследователски направления

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

Днес развитието на технологиите за изкуствен интелект върви в две посоки:

  1. Низходящ (семиотичен).Това включва разработването на нови системи и бази от знания, които симулират умствени процеси на високо ниво като реч, изразяване на емоции и мислене.
  2. Възходящ (биологичен).Този подход включва провеждане на изследвания в областта на невронните мрежи, чрез които се създават модели на интелигентно поведение от гледна точка на биологичните процеси. Въз основа на това направление се създават неврокомпютри.

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

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

Символен подход

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

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

Логичен подход

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

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

Агент-базиран подход

Използва интелигентни агенти. Този подход предполага следното: интелигентността е изчислителната част, чрез която се постигат целите. Машината играе ролята на интелигентен агент. Той разбира околната среда с помощта на специални сензори и взаимодейства с нея чрез механични части.

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

Хибриден подход

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

Според прогнозите на експертите на компанията Gartner, до началото на 2020 г. почти всички пуснати софтуерни продукти ще използват технологии с изкуствен интелект. Експертите също предполагат, че около 30% от инвестициите в дигиталната сфера ще дойдат от AI.

Според анализаторите на Gartner изкуственият интелект отваря нови възможности за сътрудничество между хора и машини. В същото време процесът на замяна на хората с AI не може да бъде спрян и ще се ускори в бъдеще.

В компанията PwCсмятат, че до 2030 г. глобалният брутен вътрешен продукт ще нарасне с около 14% поради бързото навлизане на нови технологии. Освен това приблизително 50% от увеличението ще бъде осигурено от повишена ефективност производствени процеси. Втората половина на индикатора ще бъде допълнителната печалба, получена чрез въвеждането на AI в продуктите.

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

Експерти на компанията Saleforceтвърдят, че AI ще увеличи рентабилността на малкия бизнес с приблизително $1,1 трилиона. И това ще стане до 2021 г. Този показател ще бъде частично постигнат чрез внедряване на решения, предложени от AI в системи, отговорни за комуникацията с клиентите. В същото време ефективността на производствените процеси ще се подобри поради тяхната автоматизация.

Въвеждането на нови технологии ще създаде и допълнителни 800 хиляди работни места. Експертите отбелязват, че този показател компенсира загубата на свободни работни места, възникнали поради автоматизацията на процесите. Въз основа на проучване на компании анализаторите прогнозират, че техните разходи за автоматизация на производствените процеси ще се увеличат до приблизително 46 милиарда долара до началото на 2020 г.

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

Общо около 23 милиарда рубли са инвестирани в Русия за тези цели. Размерът на държавните субсидии е по-нисък от размера на финансирането на ИИ, демонстрирано от други страни. В Съединените щати всяка година се отделят около 200 милиона долара за тези цели.

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

Горното проучване също показа, че сега Русия има голям потенциал за обучение на специалисти, които могат да бъдат включени в разработването на AI технологии. През последните 5 години приблизително 200 хиляди души са завършили обучение в области, свързани с ИИ.

AI технологиите се развиват в следните посоки:

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

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

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

През 2016г "Яндекс"стартира услугата "дзен", който анализира потребителските предпочитания.

Компанията Абисистемата се появи наскоро Compreno. С негова помощ е възможно разбирането на писмен текст на естествен език. Други системи, базирани на технологии за изкуствен интелект, също навлязоха на пазара сравнително наскоро:

  1. Намерете.Системата е способна да разпознава човешка реч и да търси информация в различни документи и файлове, използвайки сложни заявки.
  2. Гамалон.Тази компания въведе система с възможност за самообучение.
  3. Уотсън. IBM компютър, използван в процеса на търсене на информация голям бройалгоритми.
  4. ViaVoice.Система за разпознаване на човешка реч.

Големите търговски компании не се свенят от напредъка в областта на изкуствения интелект. Банките активно въвеждат такива технологии в своята дейност. Използвайки системи, базирани на AI, те извършват операции на фондовите борси, управляват собственост и извършват други операции.

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

През последните няколко години група американски учени работиха по проект НИЙЛ, в който изследователите искат от компютър да разпознае какво е показано на снимка. Експертите предполагат, че по този начин ще могат да създадат система, способна да се самообучава без външна намеса.

Компания VisionLabпредстави собствена платформа ЛУНА, който може да разпознава лица в реално време, като ги избира от огромен клъстер от изображения и видеоклипове. Тази технология се използва днес от големи банки и мрежови търговци на дребно. С LUNA можете да сравнявате предпочитанията на хората и да им предлагате подходящи продукти и услуги.

Работи по подобни технологии Руска компания N-Tech Lab. В същото време нейните специалисти се опитват да създадат система за лицево разпознаване на базата на невронни мрежи. По последни данни руската техника се справя по-добре с поставените задачи от хората.

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

Русия разглежда положително въпроса за въвеждането на AI. Алексей Кудрин веднъж заяви, че използването на такива технологии ще намали разходите за осигуряване на функционирането на държавния апарат с приблизително 0,3% от БВП. Дмитрий Медведев прогнозира изчезването на редица професии поради въвеждането на AI. Служителят обаче подчерта, че използването на такива технологии ще доведе до бързо развитие на други индустрии.

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

Експерти McKinseyКазват, че процесът на автоматизация на производството ще бъде по-активен в Русия, Китай и Индия. В тези страни до 50% от работниците скоро ще загубят работата си поради въвеждането на AI. Тяхното място ще бъде заето от компютъризирани системи и роботи.

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

До средата на този век, според експерти от американската компания, броят на работните места в световен мащаб ще бъде намален с приблизително 50%. Местата на хората ще бъдат заети от машини, способни да извършват подобни операции със същата или по-висока ефективност. В същото време експертите не изключват варианта, при който тази прогноза ще се реализира преди определената дата.

Други анализатори отбелязват вредата, която могат да причинят роботите. Така например експертите на McKinsey посочват, че роботите, за разлика от хората, не плащат данъци. В резултат на това, поради намаляване на бюджетните приходи, държавата няма да може да поддържа инфраструктурата на същото ниво. Затова Бил Гейтс предложи въвеждането на нов данък върху роботизираните технологии.

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

Можем да считаме, че историята на изкуствения интелект започва със създаването на първите компютри през 40-те години. С навлизането на електронните компютри, притежаващи висока (по стандартите на онова време) производителност, започнаха да възникват първите въпроси в областта на изкуствения интелект: възможно ли е да се създаде машина, чиито интелектуални възможности да бъдат идентични с интелектуалните възможности на човек (или дори да надвишават способностите на човек).

Следващият етап в историята на изкуствения интелект е 50-те години, когато изследователите се опитват да изградят интелигентни машини, като имитират мозъка. Тези опити бяха неуспешни поради пълната непригодност както на хардуера, така и на софтуера. През 1956 г. в Станфордския университет (САЩ) се провежда семинар, на който за първи път се предлага терминът изкуствен интелект - изкуствен интелект.

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

Евристичен- правило, което не е теоретично обосновано, но ви позволява да намалите броя на търсенията в пространството за търсене.

Евристичното програмиране е разработването на стратегия за действие, базирана на аналогия или прецеденти. Като цяло 50-60. в историята на изкуствения интелект може да се отбележи като времето на търсене на универсален алгоритъм на мислене.

Значителен пробив в практическите приложения на изкуствения интелект се случва през 70-те години, когато търсенето на универсален алгоритъм на мислене е заменено от идеята за симулиране на специфични знания на експертни специалисти. Първите търговски системи, базирани на знания, или експертни системи, се появяват в Съединените щати. дойде нов подходза решаване на проблеми с изкуствения интелект – представяне на знания. Създадени са “MYCIN” и “DENDRAL” - вече класически експертни системи за медицина и химия. И двете системи в известен смисъл могат да се нарекат диагностични, тъй като в първия случай („MYCIN“) заболяването се определя (поставя се диагноза) въз основа на редица симптоми (признаци на патология на тялото) , във втория химичното съединение се определя въз основа на редица свойства. По принцип този етап от историята на изкуствения интелект може да се нарече раждането на експертните системи.

Следващият важен период в историята на изкуствения интелект са 80-те години. През този период изкуственият интелект преживя прераждане. Големият му потенциал, както в научните изследвания, така и в развитието на производството, беше широко признат. В рамките на нова технологияПоявяват се първите комерсиални софтуерни продукти. По това време започна да се развива областта на машинното обучение. Досега прехвърлянето на знанията на експерт в машинна програма беше досадна и отнемаща време процедура. Създаването на системи, които автоматично подобряват и разширяват своя запас от евристични (неформални, базирани на интуитивни съображения) правила, е най-важният етап през последните години. В началото на десетилетието в различни страни стартираха най-големите операции по обработка на данни в историята, национални и международни. изследователски проекти, насочен към „интелигентни изчислителни системи от пето поколение“.

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

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

Тази посока се формира на базата на твърдението, че човешкият интелект може да бъде подробно описан и впоследствие успешно имитиран от машина. Гьоте Фауст Идеята, че нечовек може да върши трудна работа вместо човек, възниква още през каменната ера, когато човек опитомява кучето. Най-ценното в това творение беше това, което сега наричаме изкуствен интелект. За него се легализира идеята за засилена борба със злото, което преминава границите на религиозния закон...


Споделете работата си в социалните мрежи

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


ОБЩ ИНСТИТУТ ЗА ЯДРЕНИ ИЗСЛЕДВАНИЯ

УЧЕБНО-ИЗСЛЕДОВАТЕЛСКИ ЦЕНТЪР

РЕЗЮМЕ

по история и философия на науката

по темата за:

ИСТОРИЯ НА РАЗВИТИЕТО НА ИЗКУСТВЕНИЯ ИНТЕЛЕКТ

Завършено:

Пелеванюк И.С.

Дубна

2014

Въведение 3

Преди науката 4

Първите идеи 4

Три закона на роботиката 5

Първи научни стъпки 7

Тест на Тюринг 7

Дармутски семинар 8

1956-1960: време на големи надежди 9

1970: Системи, базирани на знания 10

Борба на шахматната дъска 11

Използване на изкуствен интелект за търговски цели 15

Промяна на парадигмата 16

Извличане на данни 16

Заключение 21

Препратки 22

Въведение

Терминът интелект (лат. intellectus) означава ум, разум, способност за мислене и рационално познание. Обикновено това означава способността за придобиване, запомняне, прилагане и трансформиране на знания за решаване на определени проблеми. Благодарение на тези качества човешкият мозък е способен да решава различни проблеми. Включително тези, за които не са известни досега методи за решение.

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

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

Основните области на развитие на изкуствения интелект включват разсъждение, знание, планиране, учене, езикова комуникация, възприятие и способността да се движат и манипулират обекти. Изкуственият интелект с общо предназначение (или „силен AI“) все още е в плановете за бъдещето. В момента популярните подходи включват статистически методи, изчислителна интелигентност и традиционен символен AI. Съществува голяма сумаинструменти, използващи изкуствен интелект: различни версии на алгоритми за търсене, алгоритми за математическа оптимизация, логика, методи, базирани на вероятности и много други.

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

Преди науката

Първите идеи

„Казват ни „луд“ и „фантастичен“,

Но, излизайки от тъжната зависимост,

С годините мозъкът на мислителя става умел

Мислителят ще бъде създаден изкуствено.”

Гьоте, "Фауст"

Идеята, че нечовек може да върши трудна работа за човек, възниква още през каменната ера, когато човек опитомява кучето. Кучето беше идеално подходящо за ролята на пазач и изпълняваше тази задача много по-добре от човек. Разбира се, този пример не може да се разглежда като демонстрация на използването на изкуствен интелект, тъй като едно куче е Живо същество: тя вече е надарена със способността да разпознава изображения, да се ориентира в пространството и също е предразположена към някои основна тренировкас цел разпознаване „приятел/враг”. Все пак показва посоката на мисълта на човека.

Друг пример е митът за Талос. Според легендата Талос бил огромен бронзов рицар, когото Зевс дал на Европа, за да защити остров Крит. Неговата задача беше да попречи на непознати да влязат на острова. Ако се приближеха, Талос щеше да хвърля камъни по тях; ако успееха да кацнат, Талос щеше да се нагрее в огъня и да изгори враговете си в ръцете си.

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

Друг интересен пример може да се вземе от еврейските легенди - това са легендите за големите. Големско глинено създание с човешка форма. Според легендата те биха могли да бъдат създадени от равините за защита еврейски народ. В Прага възниква еврейска народна легенда за голем, който е създаден от главния равин на Прага, за да изпълнява различни „черни“ задачи или просто трудни задачи. Известни са и други големи, създадени според народната традиция от различни авторитетни равини – новатори на религиозната мисъл.

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

И накрая, романът „Франкенщайн или съвременният Прометей“, написан от Мери Шели. Той може да се нарече основоположник на научната фантастика. Той описва живота и работата на д-р Виктор Франкенщайн, който съживи същество, създадено от части от тялото на мъртви хора. Въпреки това, виждайки, че се оказа грозно и чудовищно, докторът се отказва от творението си и напуска града, в който е живял. Безименното същество, което хората мразят външен вид, скоро започва да преследва своя създател.

И тук отново възниква въпросът за отговорността, която човек носи за своите създания. IN началото на XIXвек, романът повдигна няколко въпроса относно двойката създател и творение. Колко етично е правилно да се създаде такова творение? Кой носи отговорност за действията му? Въпроси, тясно свързани с идеите за изкуствения интелект.

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

Три закона на роботиката

След Франкенщайн изкуственият интелект постоянно се появява в литературата. Идеята за това се е превърнала в плодородна почва за размисъл сред писатели и философи. Един от тях, Айзък Азимов, ще бъде запомнен завинаги. През 1942 г. в романа си Round Dance той описва три закона, които роботите трябва да следват:

  1. Един робот не може да причини вреда на човек или чрез бездействие да позволи човек да бъде наранен.
  2. Роботът трябва да се подчинява на всички заповеди, дадени от човек, освен ако тези заповеди не противоречат на Първия закон.
  3. Роботът трябва да се грижи за своята безопасност, доколкото това не противоречи на Първия и Втория закон.

Преди Айзък историите за изкуствения интелект и роботите запазват духа на романа за Франкенщайн на Мери Шели. Както каза самият Айзък, този проблем става един от най-популярните в света на научната фантастика през 20-те и 30-те години на миналия век, когато са написани много истории, чиято тема е роботите, които се бунтуват и унищожават хората.

Но не всички писатели на научна фантастика, разбира се, следват този модел. През 1938 г. например Лестър дел Рей написва историята „Хелън О'Лой“ - история за жена робот, която се влюбва в своя създател и впоследствие става негова идеална съпруга. Което, между другото, много напомня на историята за Пигмалион. Пигмалион извая статуя от слонова кост на толкова красиво момиче, че самият той се влюби в нея. Докосната от такава любов, Афродита съживи статуята, която стана съпруга на Пигмалион.

Всъщност възникването на Трите закона става постепенно. Двете най-ранни истории за роботи, "Роби" (1940) и "Логика" (1941), не описват изрично законите. Но те вече намекнаха, че роботите трябва да имат някои вътрешни ограничения. В следния разказ: „Лъжец“ (1941) за първи път се чува Първият закон. И трите закона се появяват изцяло само в „Кръгов танц“ (1942).

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

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

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

Първи научни стъпки

Историята на развитието на изкуствения интелект като наука може да започне да се проследява от ранни философски произведения, като: „Разговор за метода“ (Рене Декарт, 1637), „Човешката природа“ (Томас Хобс, 1640). Ако погледнем развитието от техническа гледна точка, можем да споменем първия механичен цифров компютър, който се появява още по-рано: през 1623 г., благодарение на усилията на Вилхелм Шикард. Все пак бих искал да обърна внимание на 1950 г., когато Алън Тюринг в статията си „Компютърни машини и ум“ се зае да определи дали една машина може да мисли.

Тест на Тюринг

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

Всъщност има няколко варианта за формулировка. В един от тях например компютър трябваше да убеди комисия от няколко души, че комуникират с друг човек. И в един от първите варианти Тюринг кани участник в експеримента да играе шах с човек и с компютър и след това да определи кой от тях кой е. Всъщност, към момента на писане, Алън Тюринг вече е работил върху изкуствения интелект от около 10 години.

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

З: Кой е любимият ви композитор?

Елиза: Интересуваш ли се от тази тема? (Отговаря на въпрос с въпрос)

З: Имам главоболие.

Елиза: Защо казваш, че те боли глава? (условие на несигурност)

Х: Баща ми ме мрази

Елиза: Кой друг в семейството те мрази? (реагира на ключовата дума „баща“)

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

Дармутски семинар

Благодарение на експлозията в скоростта на компютрите, изследователите започнаха да вярват, че използването на компютър за създаване на изкуствен интелект не би било трудно. Факт е, че по това време имаше две области на изследване: неврокибернетиката и малко по-късно кибернетиката на „черната кутия“.

Неврокибернетиката се основава на принципа, че единственият обект, способен да мисли, е човек, което означава, че мислещото устройство трябва да моделира неговата структура. Учените са се опитали да създадат елементи, които да работят като неврони в мозъка. Благодарение на това в края на 50-те години се появяват първите невронни мрежи. Те са създадени от двама американски учени:Rosen-Blatt и P. McCulloch. Те се опитаха да създадат система, която може да симулира работата на човешкото око. Те нарекоха устройството си перцептрон. Може да разпознава ръкописни букви. В наши дни основната област на приложение на невронните мрежи е разпознаването на образи.

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

Развитието на кибернетиката на "черната кутия" започва през 1956 г., когато се провежда Дармутският семинар, един от основните организатори на който е Джон Маккарти. По това време стана ясно, че липсват както теоретични знания, така и техническа база за прилагане на принципите на неврокибернетиката. Но изследователите в областта на компютърните науки вярваха, че чрез съвместни усилия може да се разработи нов подход за създаване на изкуствен интелект. С усилията на едни от най-изтъкнатите учени в областта на компютърните науки беше организиран семинар, наречен: Darmouth Summer Artificial Intelligence Research Project. На него присъстваха 10 души, много от които в бъдеще получиха наградата Тюринг - най-много почетна наградапо компютърни науки. Следното е встъпителното изявление:

Ние предлагаме 2-месечно изследване на изкуствения интелект с участието на 10 души през лятото на 1956 г. в Dartmouth College, Хановер, Ню Хемпшир.

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

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

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

1956-1960: време на големи надежди

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

През 1913 г. Уайтхед и Бертран Ръсел публикуват своите Принципи на математиката. Тяхната цел беше да покажат това използване минимален наборС помощта на логически средства, като аксиоми и правила за извод, всички математически истини могат да бъдат реконструирани. Тази работа се смята за една от най-влиятелните книги, писани някога след „Органон“ на Аристотел.

Logic Theorist успя да пресъздаде по-голямата част от самия Principia Mathematica. Освен това на места е дори по-елегантно, отколкото са направили авторите.

Теоретикът на логиката представи няколко идеи, които се превърнаха в централно място в изследванията на изкуствения интелект:

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

2. Евристика. Авторите на програмата разбраха, че дървото ще расте експоненциално и ще трябва да го подрежат по някакъв начин, „на око“. Правилата, по които се отървават от ненужните разклонения, те нарекоха „евристики“, използвайки термина, въведен от György Pólya в книгата му „Как да решим проблем“. Евристиката се превърна във важен компонент на изследванията на изкуствения интелект. Той остава важен метод за решаване на сложни комбинаторни проблеми, така наречените „комбинаторни експлозии“ (пример: проблем с пътуващия търговец, изброяване на шахматни ходове).

3. Обработка на структурата “Списък”. За да се приложи програмата на компютър, е създаден езикът за програмиране IPL (Information Processing Language), който използва същата форма на списъци, която Джон Маккарти по-късно използва за създаването на езика Lisp (за който получава наградата на Тюринг), който все още е използвани от изследователите на изкуствения интелект.

1970: Системи, базирани на знания

Системите, базирани на знания, са компютърни програми, които използват бази от знания за решаване на сложни проблеми. Самите системи са разделени на няколко класа. Това, което ги обединява е, че всички те се опитват да представят знанието чрез средства като онтологии и правила, а не просто програмен код. Те винаги се състоят от поне една подсистема, а по-често от две едновременно: база от знания и машина за изводи. Базата от знания съдържа факти за света. Машината за извод съдържа логически правила, които обикновено се представят като правила АКО-ТОГАВА. Системите, базирани на знания, са създадени за първи път от изследователи на изкуствения интелект.

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

Проучване в Станфорд установи, че Mycin осигурява приемлив курс на лечение в 69% от случаите, което е по-добро от това на експертите, които са оценени по същите критерии. Това изследване често се цитира, за да демонстрира несъгласието между медицинските експерти и системата, когато няма стандарт за „правилно“ лечение.

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

Основното постижение на програмата беше, че светът видя силата на системите, базирани на знанието, и силата на изкуствения интелект като цяло. По-късно, през 80-те години, започнаха да се появяват други програми, използващи същия подход. За да се опрости тяхното създаване, беше създадена обвивката E-Mycin, която направи възможно създаването на нови експертни системи с по-малко усилия. Непредвидена трудност, пред която са изправени разработчиците, е извличането на знания от опита на експертите по очевидни причини.

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

Борба на шахматната дъска

Отделно можем да разгледаме историята на конфронтацията между човека и изкуствения интелект на шахматната дъска. Тази история започва много отдавна: когато през 1769 г. във Виена Волфганг фон Кемпеленг създава шахматна машина. Голяма беше дървена кутия, на чийто покрив имаше шахматна дъска, а зад която стоеше восъчен турчин в подходящо облекло (заради това колата понякога се нарича накратко „турчина“). Преди началото на представлението вратите на ложата бяха отворени и публиката можеше да види много детайли от даден механизъм. След това вратите се затваряха и колата се запалваше със специален ключ, като часовник. След това се качиха желаещите и направиха ходове.

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

С появата на компютрите възможността за създаване на изкуствен шахматист стана осезаема. Алън Тюринг разработи първата програма, способна да играе шах, но поради технически ограничения отне около половин час, за да се направи един ход. Има дори запис на играта на програмата с Алик Глени, колегата на Тюринг, която програмата загуби.

Идеята за създаване на такива компютърно базирани програми предизвика вълнение в научния свят. Бяха зададени много въпроси. Отличен пример е статията: „Цифровите компютри, приложени към игрите“. Повдига 6 въпроса:

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

2. Възможно ли е да се създаде машина, способна да решава шахматни задачи? Например, говорете как да матирате в три хода.

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

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

Този въпрос повдига още два, които най-вероятно вече са на върха на езика на читателя:

5. Възможно ли е да се създаде машина, която е в състояние да отговори на зададения въпрос по такъв начин, че да е невъзможно да се разграничи нейният отговор от човешки отговор.

6. Възможно ли е да създадете машина, която да се чувства като вас или мен?

Статията се фокусира върху въпрос номер 3. Отговорът на въпроси 1 и 2 е строго положителен. Отговорът на въпрос 3 включва използването на повече сложни алгоритми. По въпроси 4 и 5 авторът казва, че не вижда убедителни аргументи, опровергаващи подобна възможност. И на въпрос 6: „Никога дори няма да разбера дали се чувстваш по същия начин като мен.“

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

Способността да се играе шах отдавна е класифицирана като стандартна тестова задача, демонстрираща способността на изкуствения интелект да се справи със задача не от гледна точка на „грубата сила“, която в този контекст се разбира като използване на тотално търсене на възможни ходове, но с помощта на..."нещо такива“, както веднъж каза един от пионерите в областта на разработването на шахматни програми Михаил Ботвиник. По едно време той успя да „пробие“ официалното финансиране за работа по проекта „изкуствен майстор по шах“ софтуерен комплекс PIONEER, който беше създаден под негово ръководство във Всесъюзния изследователски институт за електроенергия. За възможностите за прилагане на основните принципи на "PIONEER" за решаване на проблемите на оптимизацията на управлението в национална икономикаБотвиник многократно докладва на Президиума на Академията на науките на СССР.

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

Проектът PIONEER остана незавършен. Ботвиник работи върху него от 1958 до 1995 г. и през това време успя да изгради алгоритмичен модел на шахматна игра, базиран на търсенето на „дърво на опциите“ и последователното постигане на „неточни цели“, които бяха победата на материал.

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

Възникна въпросът дали програмата може да победи човек. През 1968 г. шахматистът Дейвид Леви залага £1250, че никоя машина не може да го победи през следващите 10 години. През 1977 г. той играе с Каиса и печели, след което турнирът не е продължен. През 1978 г. печели партия срещу Chess4.7 - най-добрата шахматна програмапо това време, след което той призна, че не остава много време до момента, в който програмите ще могат да победят титулуваните шахматисти.

Особено внимание трябва да се обърне на игрите между хора и компютри. Първата беше споменатата по-рано игра на Alik Gleny и програмата Turing. Следващата стъпка е създаването на програмата в Лос Аламос през 1952 г. Тя игра на дъска 6x6 (без офицери). Тестът се проведе на два етапа. Първият етап е игра със силен шахматист, в резултат на която след 10 часа игра лицето печели. Вторият етап беше игра срещу момиче, което малко преди теста беше научено да играе шах. Резултатът беше победата на програмата на 23-ия ход, което беше безспорно постижение по това време.

Едва през 1989 г. Deep Thought успя да победи международен гросмайстор: Бент Ларсен. През същата година се проведе мач от същата програма с Гари Каспаров, който беше лесно спечелен от Каспаров. След този мач той каза:

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

През 1996 г. компютърът Deep Blue губи турнира от Каспаров, но за първи път в историята печели игра срещу световния шампион. И едва през 1997 г. за първи път в историята компютър печели турнир срещу световен шампион с резултат 3,5:2,5.

След мачовете на Каспаров много лидери на ФИДЕ многократно изразяваха мисли за провеждане на смесени мачове (човек срещу. компютърна програма) е неподходящо по много причини. Подкрепяйки тази позиция, Гари Каспаров обясни: „Да, компютърът не знае какво е печалба или загуба. Как е това за мен?.. Как ще се чувствам в играта след безсънна нощ, след сериозни грешки в играта? Всичко е емоции. Те поставят огромна тежест върху човешкия играч и най-неприятното е, че разбирате: опонентът ви не е подложен на умора или други емоции».

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

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

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

Използване на изкуствен интелект за търговски цели

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

Една от първите компании, които успяха да адаптират технологиите за изкуствен интелект, беше DEC (Digital Equipment Corp). Тя успя да внедри експертната система XSEL, която помогна за конфигурирането на конфигурациите на оборудването и избора на алтернативи за клиентите. В резултат на това тричасовата задача беше намалена до 15 минути, а броят на грешките беше намален от 30% на 1%. Според представители на компанията системата XSEL е позволила да се спечелят 70 милиона долара.

American Express използва експертна система, за да реши дали да отпусне заем на клиент или не. Вероятността тази система да предлага заеми е с една трета по-голяма, отколкото експертите. Казват, че е печелила 27 милиона долара годишно.

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

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

Интересен пример е компанията DuPont, която успя да похарчи 10 000 долара и един месец, за да създаде малка система за поддръжка. Тя можеше да работи на персонален компютър и й позволи да получи допълнителна печалба от $100 000.

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

Промяна на парадигмата

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

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

Това е огромна промяна във визията за мястото на изкуствения интелект в човешкия живот. Първоначално на машините беше дадено мястото на слабохарактерен слуга: добитъкът на новия век. Но след като видяха неговите перспективи и възможности, хората започнаха да повдигат въпроса дали изкуственият интелект може да управлява живота на хората по-добре от самите хора. Неуморим, справедлив, безкористен, неподвластен на завист и желания, може би той би могъл да уреди живота на хората по различен начин. Идеята всъщност не е нова, тя се появява в романа на Кърт Вонегът от 1952 г. „Механичното пиано“ или „Утопия 14“. Но тогава беше фантастично. Сега това се превърна във възможна перспектива.

Извличане на данни

Историята на тази тенденция към извличане на данни започва през 1989 г., след семинара на Григорий Пятецки-Шапиро. Той се чудеше дали е възможно да се извлекат полезни знания от дълга поредица от привидно незабележими данни. Например, това може да е архив от заявки към база данни. Ако, като я разгледаме, можем да идентифицираме някои модели, това ще ускори работата на базата данни. Пример: всяка сутрин от 7:50 до 8:10 се инициира ресурсоемка заявка за създаване на отчет за предходния ден, в който случай до този момент той вече може да бъде генериран между други заявки, така че базата данни ще бъде повече равномерно зареден със заявки. Но представете си, че тази заявка се инициира от служител едва след като той въведе нова информация. В този случай правилото трябва да се промени: веднага щом конкретен служител въведе информация, можете да започнете да изготвяте отчета във фонов режим. Този пример е изключително прост, но показва както предимствата на извличането на данни, така и трудностите, свързани с него.

Терминът извличане на данни няма официален превод на руски език. Може да се преведе като „копаене на данни“, при което „копаене“ е подобно на това, което се извършва в мини: с много суровини можете да намерите ценен обект. Всъщност подобен термин е съществувал още през 60-те години: Data Fishing или Data Dredging. Използва се сред статистиците, което означава признатата лоша практика на търсене на модели в отсъствието на априорни хипотези. Всъщност терминът можеше да бъде по-правилно наречен Database mining, но това име се оказа търговска марка. Самият Григорий Пятецки-Шапиро предложи термина „Откриване на знания в бази данни“, но името „извличане на данни“ остана в бизнес средата и пресата.

Идеята, че използвайки определена база данни с някои факти, може да се предскаже съществуването на нови факти, се появи много отдавна и непрекъснато се развиваше в съответствие с нивото на технологиите: 1700 г. - теорема на Байс, 1800 г. - регресионен анализ, 1930-те - клъстерен анализ, 1940-те - невронни мрежи, 1950-те - генетични алгоритми, 1960-те - дървета на решенията. Терминът Data mining ги обединява не от принципа на това как работят, а от това каква е тяхната цел: като се има предвид определен набор от известни данни, те могат да предвидят какви данни трябва да бъдат получени след това.

Целта на извличането на данни е да се намерят „скрити знания“. Нека да разгледаме по-отблизо какво означава „скрито знание“. Първо, това трябва да са нови знания. Например през почивните дни количеството на стоките, продавани в супермаркета, се увеличава. Второ, знанието не трябва да бъде тривиално, не трябва да се свежда до намиране на математическото очакване и дисперсията. Трето, това знание трябва да е полезно. Четвърто, знания, които лесно могат да бъдат интерпретирани.

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

Въпреки всички ограничения, инструментите, които улесняват извличането на данни, се подобряват от година на година. И всяка година от 2007 г. Rexer Analytics публикува резултатите от проучване сред експерти относно съществуващите инструменти. Проучването от 2007 г. се състоеше от 27 въпроса и включваше 314 участници от 35 страни. През 2013 г. проучването вече включва 68 въпроса, а в него са участвали 1259 специалисти от 75 страни.

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

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

Задачата за намиране на препоръки също се свежда до задачата за обучение на машината, точно както при извличането на данни. Смята се, че историята на развитието на препоръчителните системи започва с въвеждането на системата Tapestry от Дейвид Голдбърг в изследователския център на Xerox Palo Alto през 1992 г. Целта на системата беше да филтрира корпоративната поща. Това стана един вид прародител на системата за препоръки.

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

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

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

В тази област обаче използването на лична информация предизвиква все по-малко спорове. Например през 2013 г. на конференцията YAC (Yandex Another Conference) беше обявено създаването на системата Atom. Целта му е да предостави на собствениците на сайтове информацията, от която може да се нуждаят, за да създадат препоръки. Първоначално тази информация трябва да се събира от услугите на Yandex. Тоест в този случай се извършва имплицитно събиране на данни. Пример: човек отива в услуга за търсене, за да открие най-интересните места в Париж. След известно време човек посещава уебсайта на туристическа агенция. Без да използва Atom, агенцията би трябвало просто да покаже на лицето най-популярните обиколки. Atom може да посъветва сайта първо да покаже на потребителя обиколка до Париж и да даде персонална отстъпка за тази конкретна обиколка, за да я разграничи от другите. По този начин поверителната информация не излиза извън обхвата на услугата Atom, сайтът знае какво да посъветва клиента, а клиентът е щастлив, че бързо е намерил това, което търси.

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

Заключение

Всичко има начало, както каза Санчо Панса, и това начало трябва да се опише

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

ry държаха света, но трябваше да го поставят на костенурка. Трябва да

забележете, че изобретението не се състои в създаване от празнота, а от

хаос: първо трябва да се погрижите за материала...

Мери Шели, Франкенщайн

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

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

Развитието на компютрите играе важна роля в развитието на технологиите за изкуствен интелект. Едва ли е възможно да си представим сериозна програма за извличане на данни, която ще се нуждае от 100 килобайта RAM. Компютрите позволиха на технологията да се развие широко, докато теоретичните изследвания послужиха като предпоставка за интензивно развитие. Можем да кажем, че развитието на науката за изкуствения интелект е следствие от развитието на компютрите.

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

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

Библиография

Митове на народите по света. М., 1991-92. В 2 тома Т.2. стр. 491,

Идел, Моше (1990). Голем: Еврейски магически и мистични традиции за изкуствения антропоид. Олбани, Ню Йорк: Държавен университет на Ню Йорк Прес. ISBN 0-7914-0160-X. страница 296

Азимов, Айзък. Есе № 6. Закони на роботиката // Сънищата на робота V . М.: Ексмо, 2004. С. 781784. ISBN 5-699-00842-х

Вижте Nonn. Деяния на Дионис XXXII 212. Климент. Протрептик 57, 3 (препратка към Филостефан).

Робърт Дж. Сойер. За трите закона на роботиката на Азимов (1991).

Тюринг, Алън (октомври 1950 г.), „Компютърни машини и интелект“, Ум LIX (236): 433460

Маккарти, Джон; Мински, Марвин; Рочестър, Нейтън; Шанън, Клод (1955)Предложение за летния проект за изследване на изкуствения интелект в Дартмут

Crevier 1993, стр. 4648.

Smith, Reid (8 май 1985 г.). „Концепции, техники, примери за системи, базирани на знания“

Алън Тюринг, „Цифрови компютри, приложени към игри“. n.d. Приносът на AMT към „По-бързо от мисълта“, изд. B.V. Bowden, Лондон 1953 г. Публикувано от Pitman Publishing. TS с MS корекции. Р.С. 1953b

Каиса - Световен шампион. сп. "Наука и живот", януари 1975 г., стр. 118-124

Гик, Е. Грандмайстор „Дълбока мисъл” // Наука и живот. М., 1990. Т. 5. С. 129130.

Ф. Хейс-Рот, Н. Якобщайн. Състоянието на системите, базирани на знанието. Съобщения на ACM, март, 1994 г., v.37, n.3, стр. 27-39.

Карл Рексер, Пол Гиран и Хедър Алън (2007); Резюме на проучването на Data Miner за 2007 г., представено на конференцията SPSS Directions, окт. 2007 г. и Oracle BIWA Summit, окт. 2007 г.

Карл Рексер, Хедър Алън и Пол Гиран (2013); Резюме на проучването на Data Miner за 2013 г., представено на Predictive Analytics World, окт. 2013.

Шям Варан Нат (2006). „Откриване на модели на престъпления с помощта на извличане на данни“, WI-IATW "06 Сборник от 2006 г. IEEE/WIC/ACM международна конференция за уеб разузнаване и технология за интелигентни агенти, страници 41-44

Дейвид Голдбърг, Дейвид Никълс, Браян М. Оки и Дъглас Тери (2006). „Използване на съвместно филтриране за изтъкаване на информационен гоблен,“ Съобщения на ACM, декември 1992 г., том 35, n12, стр.61-71

Други подобни произведения, които може да ви заинтересуват.vshm>

14280. Представа за системите с изкуствен интелект и механизмите на тяхното функциониране 157,75 KB
Разглеждането на структурата и механизмите на функциониране на интелигентните системи, от една страна, изисква подробно представяне, като се отчита влиянието на специфичните характеристики на приложенията, а от друга страна, изисква обобщение и класификация на въведените концепции, структури и механизми. .
609. 12,42 KB
В осветителните инсталации, предназначени за осветяване на предприятия, газоразрядните лампи и лампите с нажежаема жичка се използват широко като източници на светлина. Основните характеристики на светлинните източници включват: номинално напрежение V; електрическа мощност W; светлинен поток yam: светлинна ефективност lm W този параметър е основна характеристикаефективност на източника на светлина; експлоатационен живот ч. Видът на източника на светлина в предприятията се избира, като се вземат предвид техническите и икономическите показатели и спецификата на производството...
6244. История на развитието на ОНД 154,8 KB
Трябва да се отбележи, че система от всеки тип включва системи от по-ранни типове. Това означава, че днес всички видове системи съществуват мирно. Общ модел на архитектура на CIS система Доскоро технологията за създаване на информационни системи беше доминирана от традиционния подход, когато цялата архитектура на информационната система беше изградена отгоре надолу от функционалността на приложението до системно-техническите решения и първия компонент на информационната система е изцяло извлечен от втория. Първоначално системите от това ниво са базирани...
17626. История на развитието на плуването 85,93 KB
Огромното значение на водата в живота на първобитния човек, необходимостта от промишлено развитие на тази необичайна среда изисква от него да може да плува, за да не умре в суровата борба за съществуване. С появата на политическата система умението да плува става особено необходимо в труда и във военните дела.
9769. История на развитието на народопсихологията 19,47 KB
История на развитието на народопсихологията Заключение. Така Хипократ в работата си „За въздуха, водите и местностите“ пише, че всички различия между народите, включително в психологията, се определят от местоположението на страната, климата и други природни фактори. Следващият етап на задълбочен интерес към етническата психология започва в средата на 18 век. Монтескьо може би най-пълно изрази общия методологически подход на този период към същността на етническите различия в духа на психологията.
9175. История на развитието на естествените науки 21,45 KB
Сред естественонаучните революции могат да се разграничат следните видове: глобални, обхващащи цялата естествена наука и предизвикващи появата не само на фундаментално нови идеи за света, нова визия за света, но и нова логическа структура на науката, нов начин или стил на мислене; местни в отделни фундаментални науки и др. Формирането на нова...
9206. История на развитието на мехатрониката 7,71 KB
IN последното десетилетиемного голямо внимание се обръща на създаването на мехатронни модули за съвременни автомобили от ново поколение технологично оборудване металорежещи машини с паралелна кинематика роботи с интелигентно управление на микромашини най-новият компютър и офис техника. Първите сериозни резултати в създаването и практическо приложениероботите в СССР датират от 60-те години на миналия век. Първият модерен промишлен дизайн индустриални роботис позиционно управление са създадени през 1971 г. в Ленинградския политехнически институт...
11578. История на развитието на информационните технологии 41,42 KB
Резултатите от научните и приложни изследвания в областта на компютърните науки и комуникациите създадоха силна основа за появата на нов клон на знанието и производството на информационната индустрия. съставлява инфраструктурата и информационното пространство за осъществяване на информатизацията на обществото. Етапи на възникване и развитие информационни технологииВ самото начало на ситуацията човек се нуждаеше от кодирани комуникационни сигнали, за да синхронизира въздействията, които се извършват. Представянето на информация мисли за самоконтрол на два обекта: източника на информация и...
3654. История на развитието на неорганичната химия 29,13 KB
Химията като наука възниква в Древен Египет и се използва главно като приложна наука: за получаване на всякакви вещества и продукти с нови свойства, все още неизвестни на широк кръг от хора. Свещеници Древен Египетизползва познанията по химия за производство на изкуствени бижута, балсамиране на хора
14758. История на развитието на генетиката като фундаментална наука 942,85 KB
История на развитието на генетиката като фундаментална наука. Методи за изследване на човешката генетика. История на развитието на генетиката като фундаментална наука.2 Основните етапи от развитието на генетиката: класическият период.

Лекция 1

Въведение.Концепцията за информационна система и технология, интелигентна информационна система (IIS). Исторически аспекти на развитието на методите за представяне и обработка на сигнали, методите за изграждане на системи за обработка на сигнали и тяхната интелектуализация. Разлика между IIS и традиционните информационни системи. Видове и характеристики на интелигентните системи. Понятие и видове интелигентно управление. Подходи за изграждане на интелигентни информационни системи. Основни класове на IIS. Отличителни черти на всеки клас.

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

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

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

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

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

Автоматични информационни системиизвършва всички операции по обработка на информация без човешко участие.

Автоматизирани информационни системивключват участието както на хора, така и на технически средства в процеса на обработка на информацията, и главната роляприсвоен на компютъра. В съвременната интерпретация терминът „информационна система“ задължително включва понятието автоматизирана система. Необходимо е да се прави разлика между понятията информационна система и информационна технология.

Информационни технологии– техники, методи и методи за използване на компютърни технологии при изпълнение на функциите за събиране, съхранение, обработка и използване на данни (съгласно GOST 34.003-90).

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

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

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

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

Признаците за систематичност се описват от три принципа:

    Външна цялост - изолация или относителна изолация на системата в околния свят;

    Вътрешна цялост – свойствата на една система зависят от свойствата на нейните елементи и връзките между тях. Нарушаването на тези взаимоотношения може да доведе до невъзможност на системата да изпълнява своите функции;

    Йерархия - в една система могат да се разграничат различни подсистеми; от друга страна, самата система може да бъде и подсистема на друга по-голяма система или подсистема.

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

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

    структурата на информационната система и нейното функционално предназначение трябва да съответстват на поставените цели;

    IS използва мрежи за предаване на данни;

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

    IP трябва да се контролира от хора, да се разбира и използва в съответствие с основните принципи, внедрени под формата на корпоративен стандарт или друг IP стандарт. Потребителският интерфейс на IS трябва да бъде лесен за разбиране на интуитивно ниво.

Основните задачи на разработчиците на информационни системи и ИС:

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

    Съхраняване на данни от различни структури. Няма разработена ИС, която да работи с един хомогенен файл с данни. Освен това, разумно изискване за една информационна система е тя да може да се развива. Може да се появят нови функции, които изискват допълнителни данни с нова структура. В този случай цялата натрупана преди това информация трябва да остане запазена. Теоретично този проблем може да бъде решен чрез използване на няколко файла с външна памет, всеки от които съхранява данни с фиксирана структура. В зависимост от начина, по който се използва системата за управление на файлове, тази структура може да бъде структура на файлов запис или да се поддържа от отделна библиотечна функция, написана специално за системата. Известни са примери за реално функциониращи информационни системи, в които съхранението на данни е планирано да се базира на файлове. В резултат на развитието на повечето от тези системи в тях беше идентифициран отделен компонент, който е вид система за управление на база данни (СУБД);

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

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

    Изграждане на процедури и технически средства за тяхното прилагане, с помощта на които можете да автоматизирате процеса на извличане на информация от документи, които не са предназначени за компютри, но са насочени към възприемането им от хората;

    Създаване на системи за извличане на информация, способни да приемат заявки към информационни хранилища, формулирани на естествен език, както и специални езици за заявки за системи от този тип;

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

Конкретните задачи, които трябва да решава информационната система, зависят от областта на приложение, за която е предназначена системата. Областите на приложение на информационните приложения са разнообразни: банкиране, индустриален мениджмънт, медицина, транспорт, образование и др. Нека въведем понятието „предметна област“ - фрагмент, изолиран от околния свят, се нарича област на експертиза или предметна област. Има и много задачи и проблеми, които трябва да бъдат решени с помощта на субекти и връзки от тази предметна област, така че се използва по-широко понятие – проблемната среда е предметната област + проблемите, които се решават.

Ще разгледаме по-отблизо два вида информационни системи. Това са експертни и интелигентни системи.

Експертни системи(Експертна система) – информационно консултиране и/или системи за вземане на решения, базирани на структурирани, често слабо формализирани процедури, използващи опит, интуиция, т.е. интелектуални характеристики, подпомагащи или моделиращи работата на експертите; системите се използват както при дългосрочно, така и при краткосрочно оперативно прогнозиране и управление.

Интелигентни системиили системи, базирани на знания (Knowleadge Based System) - системи за подпомагане на задачи за вземане на решения в сложни системи, където е необходимо да се използват знания в доста широк диапазон, особено в лошо формализирани и слабо структурирани системи, размити системи и с неясни решения- критерии за изготвяне; Тези системи са най-ефективни и се използват за намаляване на проблемите на дългосрочното стратегическо управление до проблеми от тактически и краткосрочен характер, за повишаване на контролируемостта, особено в условията на многокритериални условия. За разлика от експертните системи, системите, базирани на знания, често трябва да избягват експертни и евристични процедури и да прибягват до когнитивни процедури, за да минимизират риска. Тук влиянието на професионализма на персонала е по-значимо, тъй като при разработването на такива системи е необходимо сътрудничество и взаимно разбиране не само на разработчиците, но и на потребителите и мениджърите, а самият процес на разработка, като правило, се случва итеративно, итеративни подобрения, постепенна трансформация (преход) на процедурни знания (как да се направи) в непроцедурни, декларативни (какво да се направи).

Нека сега разгледаме въпроса за интелигентността на информационните системи.

Срок интелигентност(интелигентност) идва от латинското intellectus, което означава „ум, разум, ум; мисловните способности на човек“. Съотв изкуствен интелект (изкуствен интелект) - AI обикновено се тълкува като свойството на автоматичните системи да поемат определени функции на човешкия интелект, например да избират и вземат оптимални решения въз основа на предварително натрупан опит и рационален анализ на външни влияния. Може да се каже, че интелигентността е способността на мозъка да решава (интелектуални) проблеми чрез придобиване, памет и целенасочена трансформация знания в процеса на учене от опита и адаптиране към различни обстоятелства. Самият термин „изкуствен интелект“ е предложен през 1956 г. на семинар в Dartsmouth College (САЩ). Думата интелигентност всъщност означава „способността да се разсъждава интелигентно“, а не изобщо „интелигентност“, за която има термин интелект.

През 1950 г. британският математик Алън Тюринг публикува работата си „Изчислителната машина и интелигентността“ в списание Mind, в която описва тест за тестване на интелигентността на програма. Той предложи изследователят и програмата да бъдат поставени в различни стаи и докато изследователят не определи кой стои зад стената - човек или програма, да счита поведението на програмата за разумно. Това беше една от първите дефиниции на интелекта, т.е. А. Тюринг предложи поведението на програма, която да моделира интелигентно човешко поведение, да се нарича интелигентно. Оттогава се появиха много определения за интелигентни системи (InS) и изкуствен интелект (AI). Нека представим някои от тези определения. 1. AIсе определя като област на компютърните науки, занимаваща се с изучаването и автоматизирането на интелигентното поведение. 2. друго определение: „ AI- това е една от областите на компютърните науки, чиято цел е да разработи хардуерни и софтуерни инструменти, които позволяват на потребител, който не е програмист, да поставя и решава свои собствени, традиционно считани за интелектуални проблеми, комуникирайки с компютър в ограничено подмножество от естествен език." 3. IS е адаптивна система, което позволява да се изградят програми за целесъобразни дейности за решаване на възложените им задачи въз основа на конкретната ситуация, която се развива в момента в тяхната среда. При което адаптивна системасе дефинира като система, която остава работеща в случай на непредвидени промени в свойствата на контролирания обект, контролните цели или околната среда чрез промяна на работния алгоритъм, програма за поведение или търсене на оптимални, в някои случаи просто ефективни решения и състояния. Традиционно, въз основа на метода на адаптация, се разграничават самонастройващи се, самообучаващи се и самоорганизиращи се системи.

Така че, използвайки интелигентни системи, човек решава интелектуални проблеми. За да се определи разликата между проста задача и интелектуална задача, е необходимо да се въведе понятието алгоритъм. Под алгоритъм разбират точните инструкции за извършване на система от операции в определен ред за решаване на всеки проблем от даден клас (набор) от проблеми. Терминът „алгоритъм“ идва от името на узбекския математик Ал-Хорезми, който предложи най-простите аритметични алгоритми през 9 век. В математиката и кибернетиката клас задачи от определен тип се считат за решени, когато се създаде алгоритъм за решаването им. Намирането на алгоритми е естествена цел за хората при решаване на различни класове проблеми. Намирането на алгоритъм за проблеми от даден тип включва фини и сложни разсъждения, които изискват голяма изобретателност и високо умение. Общоприето е, че този вид дейност изисква участието на човешкия интелект. Задачите, свързани с намирането на алгоритъм за решаване на клас задачи от определен тип, ще наричаме интелектуални. Тези. Интелектуалните задачи са сложни, слабо формализирани задачи, които изискват изграждането на оригинален алгоритъм за решение в зависимост от конкретна ситуация, която може да се характеризира с несигурност и динамичност на първоначалните данни и знания.

Различни изследователи определят изкуствения интелект като наука по различен начин в зависимост от възгледите си за него и работят за създаването на системи, които:

    мислете като хората;

    мисли рационално;

    действайте като хора;

    действайте рационално.

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

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

История на развитието на изкуствения интелект

Идеята за създаване на изкуствено подобие на човек за решаване на сложни проблеми и симулиране на човешкия ум се носи във въздуха от древни времена. Така в Древен Египет е създадена „оживяла“ механична статуя на бог Амон. В Омировата Илиада бог Хефест изковава хуманоидни създания.

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

Точен набор от закони, управляващи рационалната част на мисленето, е формулиран от Аристотел (384-322 г. пр. н. е.). За основоположник на изкуствения интелект обаче се смята средновековният испански философ, математик и поет Реймънд Лул, който още през 13 век се опитва да създаде механична машина за решаване на различни проблеми въз основа на разработената от него универсална класификация на понятията. През 18 век Лайбниц и Декарт независимо продължават тази идея, предлагайки универсални езици за класификацията на всички науки. Трудовете на тези учени могат да се считат за първите теоретични разработки в областта на изкуствения интелект. Теория на игрите и теория на решенията, данни за структурата на мозъка, когнитивна психология - всичко това се превърна строителен материалза изкуствения интелект. Но окончателното раждане на изкуствения интелект като научно направление се случва едва след създаването на компютрите през 40-те години на 20 век и публикуването на фундаментални трудове на Норберт Винер по нова наука– кибернетика.

Образуване на изкуствениинтелигентносткак се е случила науката 1956 гД. Маккарти, М. Мински, К. Шанън и Н. Рочестър организираха двумесечен семинар в Дартмут за американски изследователи, работещи върху теорията на автоматите, невронните мрежи и интелекта. Въпреки че изследванията в тази област вече се провеждат активно, именно на този семинар се появява терминът и отделна наука - изкуствен интелект.

Един от основателите на теорията за изкуствения интелект е известният английски учен Алън Тюринг, който през 1950 г. публикува статията „Изчислителни машини и ум“ (преведена на руски под заглавието „Може ли машина да мисли?“). Именно в него е описан вече класическият „тест на Тюринг“, който позволява да се оцени „интелигентността“ на компютъра чрез способността му да води смислен диалог с човек.

Първите десетилетия от развитието на изкуствения интелект (1952-1969) бяха пълни с успех и ентусиазъм. А. Нюел, Дж. Шоу и Г. Саймън създадоха програма за игра на шах въз основа на метод, предложен през 1950 г. от К. Шанън, формализиран от А. Тюринг и симулиран от него ръчно. В работата участва група холандски психолози, ръководени от А. де Гроот, които изучават стиловете на игра на изключителни шахматисти. През 1956 г. този екип създава езика за програмиране IPL1, практически първият символен език за обработка на списъци, и написва първата програма Logic-Theorist, предназначена да доказва автоматично теореми в пропозиционалното смятане. Тази програма може да се счита за едно от първите постижения в областта на изкуствения интелект.

През 1960 г. същата група написва програмата GPS (General Problem Solver) – универсален инструмент за решаване на проблеми. Тя можеше да решава редица пъзели, да изчислява неопределени интеграли и да решава някои други задачи. Резултатите привличат вниманието на компютърните учени и се появяват програми за автоматично доказване на теореми от планиметрията и решаване на алгебрични задачи.

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

През 1958 г. Д. Маккарти дефинира нов език от високо ниво, Lisp, който става доминиращ език за изкуствен интелект.

Първите невронни мрежи се появяват в края на 50-те години. През 1957 г. Ф. Розенблат прави опит да създаде система, която симулира човешкото око и взаимодействието му с мозъка - перцептрон.

Първата международна конференция за изкуствен интелект (IJCAI) се проведе през 1969 г. във Вашингтон.

През 1963 г. Д. Робинсън прилага метод за автоматично доказване на теореми, наречен „принцип на разделителна способност“, и въз основа на този метод през 1973 г. е създаден езикът за логическо програмиране Prolog .

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

Първата експертна система е създадена от Е. Файгенбаум през 1965г. Но търговската печалба все още беше далече. Само през 1986 г. първата търговска система R1 на DEC постигна спестявания от приблизително 40 милиона долара за една година. До 1988 г. DEC разполага с 40 експертни системи. Du Pont използва 100 системи и спестява приблизително 10 милиона на година.

През 1981 г. Япония, като част от 10-годишен план за разработване на интелигентни компютри, базирани на Prolog, започва разработването на 5-то поколение компютър, базиран на знания. 1986 беше годината на подновен интерес към невронните мрежи.

През 1991 г. Япония спира финансирането на проекта за компютър от 5-то поколение и започва проект за създаване на компютър от 6-то поколение - неврокомпютър.

През 1997 г. компютърът Deep Blue победи световния шампион Г. Каспаров в партия шах, доказвайки възможността изкуственият интелект да се изравни или да надмине хората в редица интелектуални задачи (макар и при ограничени условия).

Академиците А. И. Берг и Г. С. Поспелов изиграха огромна роля в борбата за признаване на изкуствения интелект в СССР.

През 1954-1964г. Създават се отделни програми и се провеждат изследвания в търсене на решения на логически задачи. Създава се програмата ALPEV LOMI, която автоматично доказва теореми. Базира се на оригиналното обратно извеждане на Маслов, подобно на метода на разделителна способност на Робинсън. Сред най-значимите резултати, получени от местни учени през 60-те години, трябва да се отбележи алгоритъмът „Cora“ на М. М. Бонгард, който моделира дейността на човешкия мозък при разпознаване на образи. Изключителни учени М. Л. Цетлин, В. Н. Пушкин, М. А. Гаврилов, чиито ученици бяха пионерите на тази наука в Русия, направиха голям принос за развитието на руската школа за изкуствен интелект.

През 1964 г. е предложен метод за автоматично търсене на доказателства на теореми в изчислението на предикатите, наречен „обратен метод на Маслов“.

През 1965-1980г се роди ново направление - ситуационен мениджмънт (в западната терминология съответства на представяне на знания). Основател на това научно училище е професор Д. А. Поспелов.

В Московския държавен университет през 1968 г. В. Ф. Турчин създава символния език за обработка на данни REFAL.

1 Литературен преглед.


  1. Кратка история на развитието на изкуствения интелект.

Изкуственият интелект (AI) е област на изследване в пресечната точка на науките, където специалисти, работещи в тази област, се опитват да разберат какво поведение се счита за интелигентно (анализ) и да създадат работещи модели на това поведение (синтез). Практическата цел е да се създадат методи и технологии, необходими за програмиране на „интелигентност” и нейното прехвърляне към компютри (VM), а чрез тях към всички видове системи и средства.

През 50-те години на миналия век изследователите на изкуствения интелект се опитват да създадат интелигентни машини, като имитират мозъка. Тези опити бяха неуспешни поради пълната непригодност както на хардуера, така и на софтуера.

През 60-те години се правят опити да се намерят общи методи за решаване на широк клас проблеми чрез моделиране на сложния мисловен процес. Разработването на универсални програми се оказа твърде трудно и безплодно. Колкото по-широк е класът проблеми, които една програма може да реши, толкова по-бедни са нейните възможности за решаване на конкретен проблем.

В началото на 70-те години на миналия век специалистите по изкуствен интелект насочват вниманието си към разработването на методи и техники за програмиране, подходящи за решаване на по-специализирани проблеми: методи за представяне (начини за формулиране на проблем за решаване с помощта на компютърна технология (CT)) и методи за търсене (начини за контролиране на напредъка на решение, така че да не изисква твърде много памет и време).

И едва в края на 70-те години е приет по принцип нова концепция, което се крие във факта, че за да се създаде интелигентна програма, тя трябва да бъде оборудвана с много висококачествени специализирани знания за дадена предметна област. Развитието на това направление доведе до създаването на експертни системи (ЕС).

През 80-те AI преживява прераждане. Големият му потенциал както в научните изследвания, така и в развитието на производството беше широко признат. Първите комерсиални софтуерни продукти се появиха като част от новата технология. По това време започна да се развива областта на машинното обучение. Досега прехвърлянето на знанията на експерт в машинна програма беше досадна и отнемаща време процедура. Създаването на системи, които автоматично подобряват и разширяват своя запас от евристични (неформални, базирани на интуитивни съображения) правила, е най-важният етап през последните години. В началото на десетилетието в различни страни стартираха най-големите национални и международни изследователски проекти в историята на обработката на данни, насочени към „интелигентни виртуални машини от пето поколение“.

Изследванията на ИИ често се класифицират въз основа на техния обхват, а не въз основа на различни теории и школи на мисълта. Всяка от тези области е разработила свои собствени методи за програмиране и формализъм в течение на десетилетия; Всеки от тях има свои собствени традиции, които могат да се различават значително от традициите на съседната област на обучение. В момента AI се прилага в следните области:


  1. обработка на естествен език;

  2. експертни системи (ЕС);

  3. символни и алгебрични изчисления;

  4. доказателства и логическо програмиране;

  5. програмиране на игри;

  6. обработка на сигнали и разпознаване на образи;

  7. и т.н.

1.2 Езици за програмиране на AI.

1.2.1 Класификация на езиците и стиловете на програмиране.
Всички езици за програмиране могат да бъдат разделени на процедурни и декларативни езици. По-голямата част от използваните в момента езици за програмиране (C, Pascal, BASIC и т.н.) са процедурни езици. Най-значимите класове декларативни езици са функционални (Lisp, Logo, APL и др.) И логически (Prolog, Planner, Coniver и др.) Езици (фиг. 1).

На практика езиците за програмиране не са чисто процедурни, функционални или логически, а съдържат характеристики на различни видове езици. Често е възможно да се напише функционална програма или част от функционална програма на процедурен език и обратно. Може би би било по-точно да говорим за стил или метод на програмиране вместо тип език. Естествено се поддържат различни езици различни стиловев различна степен.

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

ПРОГРАМНИ ЕЗИЦИ

ПРОЦЕДУРНИ ЕЗИЦИ ДЕКЛАРАТИВНИ ЕЗИЦИ

Паскал, C, Fortran, ...

ЛОГИЧЕСКИ ЕЗИЦИ ФУНКЦИОНАЛНИ ЕЗИЦИ

Пролог, Мандала... Лисп, Лого, ARL, ...

Фиг. 1 Класификация на езиците за програмиране
Логическото програмиране е подход към компютърните науки, който използва предикатна логика от първи ред под формата на фрази на Horn като език от високо ниво. Предикатната логика от първи ред е универсален абстрактен език, предназначен да представя знания и да решава проблеми. Може да се разглежда като обща теорияотношения. Логическото програмиране се основава на подмножество от предикатна логика от първи ред, но е също толкова широко по обхват. Логическото програмиране позволява на програмиста да опише ситуация с помощта на предикатни логически формули и след това да използва автоматично решаване на проблеми (т.е. някаква процедура), за да направи заключения от тези формули. Когато се използва език за логическо програмиране, фокусът е върху описването на структурата на проблема с приложението, а не върху инструктирането на компютъра какво трябва да прави. Други концепции за компютърни науки от области като теория на релационни бази данни, софтуерно инженерство и представяне на знания също могат да бъдат описани (и следователно приложени) с помощта на логически програми.

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

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

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


  1. Сравнителни характеристики на езиците с ИИ.

На първия етап от развитието на ИИ (в края на 50-те - началото на 60-те години) не е имало езици или системи, специално фокусирани върху области на знанието. Универсалните езици за програмиране, които се появиха по това време, изглеждаха подходящ инструмент за създаване на всякакви (включително интелигентни) системи, тъй като в тези езици е възможно да се разграничат декларативните и процедурните компоненти. Изглежда, че всякакви модели и системи за представяне на знания могат да бъдат интерпретирани на тази основа. Но сложността и трудоемкостта на такива интерпретации се оказаха толкова големи, че приложните системи за внедряване бяха недостъпни. Проучванията показват, че производителността на програмиста остава постоянна, независимо от нивото на инструменталния език, на който работи, а съотношението между дължината на оригиналната и получената програма е приблизително 1:10. По този начин използването на адекватен инструментален език увеличава производителността на системния разработчик с порядък, и това е с едноетапен превод. Езиците, предназначени за програмиране на интелигентни системи, съдържат йерархични (многостепенни) транслатори и увеличават производителността на труда 100 пъти. Всичко това потвърждава важността на използването на адекватни инструменти.


  1. Езици за обработка на символна информация.

Езикът Lisp е разработен в Станфорд под ръководството на J. McCarthy в началото на 60-те години. Според първоначалните планове, той трябваше да включва, заедно с всички възможности на Fortran, инструменти за работа с матрици, указатели и структури от указатели и т.н. Но нямаше достатъчно средства за такъв проект. Окончателно оформените принципи, лежащи в основата на езика Lisp: използване на единно представяне на списък за програми и данни; използване на изрази за дефиниране на функции; синтаксис на скоби на езика.

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

След създаването на мощни Lisp системи McLisp Interlisp в началото на 70-те години, опитите за създаване на AI езици, различни от Lisp, но на същата основа, се провалиха. По-нататъшното развитие на езика върви, от една страна, по пътя на неговата стандартизация (Standard-Lisp, Franz-Lisp, Common Lisp), а от друга, към създаването на концептуално нови езици за представяне и манипулиране на знания в средата на Lisp. Понастоящем Lisp се прилага на всички класове компютри, от персонални компютри до високопроизводителни изчислителни системи.

Lisp не е единственият език, използван за AI задачи. Още в средата на 60-те години се разработват езици, които предлагат различни концептуални рамки. Най-важните от тях в областта на обработката на символна информация са SNOBOL и Refal.


СНОБОЛ.

Това е език за обработка на низове, в който концепцията за търсене на шаблони се появи за първи път и беше приложена в доста пълна степен. Езикът SNOBOL беше една от първите практически реализации на развита производствена система. Най-известната и интересна версия на този език е Snoball-4.Тук техниката за определяне на проби и работа с тях значително изпревари нуждите на практиката. По същество той остава „патентован“ език за програмиране, въпреки че концепциите на SNOBOL със сигурност са повлияли на Lisp и други езици за програмиране на AI.


Рефал.

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

Езикът Refal се основава на концепцията за рекурсивна функция, дефинирана върху набор от произволни символни изрази. Основната структура на данните на този език са списъци, но не единично свързани, както в Lisp, а двупосочни. Обработката на символи е по-близо до производствената парадигма. В същото време активно се използва концепцията за търсене на шаблони, характерна за SNOBOL.

Програма, написана на Refal, дефинира определен набор от функции, всяка от които има един аргумент. Извикването на функция е оградено във функционални скоби.

В много случаи става необходимо да се извикват програми, написани на други езици, от програми, написани на Refal. Това е просто, тъй като от гледна точка на Refal, първичните функции (Функции, които не са описани в Refal, но които въпреки това могат да бъдат извикани от програми, написани на този език.) са просто някои функции, външни за тази програма, следователно, когато извикване на функция, може дори да не знаете, че това е основна функция.

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

Често е удобно да се раздели Refal програма на части, които могат да бъдат обработени от Refal компилатора независимо една от друга. Най-малката част от програма Refal, която може да бъде обработена от компилатора независимо от останалите, се нарича модул. Резултатът от компилирането на изходния модул в Refal е обектен модул, който, преди да изпълни програмата Refal, трябва да се комбинира с други модули, получени чрез компилация от Refal или други езици; това сливане се извършва с помощта на редактора на връзки и зареждащи устройства. Подробностите зависят от операционната система, която използвате.

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


Пролог.

В началото на 70-те години се появява нов език, който се конкурира с Lisp при внедряването на системи, ориентирани към знанието - Prolog. Този език не предоставя нови свръхмощни инструменти за програмиране в сравнение с Lisp, но поддържа различен модел за организиране на изчисления. Неговата привлекателност от практическа гледна точка е, че точно както Lisp скри структурата на паметта на компютъра от програмиста, Prolog му позволи да не се интересува от потока на управление в програмата.

Пролог е европейски език, разработен в университета в Марсилия през 1971 г. Но започва да набира популярност едва в началото на 80-те години. Това се дължи на две обстоятелства: първо, логическата основа на този език беше оправдана и, второ, в японския проект за изчислителни системи от пето поколение той беше избран като основа за един от централните компоненти - машината за изводи.

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

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

Prolog се използва успешно в области като: релационни бази данни (езикът е особено полезен при създаване на потребителски интерфейси на релационни бази данни); автоматично решаване на проблеми; разбиране на естествен език; внедряване на езици за програмиране; представяне на знания; експертни системи и други AI задачи.

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

Пролог програмата се състои от две части: база данни (набор от аксиоми) и последователност от целеви изявления, които колективно описват отрицанието на теоремата, която се доказва. Основен фундаментална разликаИнтерпретацията на програма Пролог от процедурата за доказване на теорема в предикатното смятане от първи ред е, че аксиомите в базата данни са подредени и редът, в който се появяват, е много важен, тъй като самият алгоритъм, реализиран от програмата Пролог, се основава на това. Друго значително ограничение на Prolog е, че формули от ограничен клас се използват като логически аксиоми - така наречените клаузи на Хорн. Но при решаването на много практически задачи това е достатъчно за адекватно представяне на знанията. Във фразите на Хорн едно заключение е последвано от нула или повече условия.

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

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

Декларативният смисъл на програмата определя дали тази целвярно (постижимо) и ако е така, при какви стойности на променливите се постига. Подчертава статичното съществуване на взаимоотношенията. Редът на подцелите в дадено правило не засяга декларативното значение на това правило. Декларативният модел е по-близо до семантиката на предикатната логика, което прави Prolog ефективен език за представяне на знания. Въпреки това, декларативният модел не може да представи адекватно онези фрази, в които редът на подцелите е важен. За да се обясни значението на фрази от този вид, е необходимо да се използва процедурен модел.

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

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

Ефективността на Prolog е силно повлияна от ограничените ресурси във времето и пространството. Това се дължи на неспособността на традиционната архитектура на компютрите да реализира Prolog метода за изпълнение на програми, който включва постигане на цели от определен списък. Дали това ще създаде трудности при практическите приложения зависи от проблема. Времевият фактор е практически без значение, ако програмата на Prolog, изпълнявана няколко пъти на ден, отнема една секунда, а съответната програма на друг език отнема 0,1 секунди. Но разликата в ефективността става значителна, когато двете програми изискват съответно 50 и 5 минути.

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

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

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


  1. Програмни езици за интелигентни решаващи програми.

Група от езици, които могат да бъдат наречени езици на интелигентни решаващи програми, са фокусирани главно върху такова подполе на ИИ като решаване на проблеми, което се характеризира, от една страна, с доста прости и добре формализирани модели на проблеми и от друга, чрез сложни методи за намиране на техните решения. Следователно фокусът на тези езици беше върху въвеждането на мощни контролни структури, а не върху начини за представяне на знания. Това са езици като Planer, Coniver, KyuA-4, KyuLisp.


Плановик.

Този език даде началото на мощно езиково творчество в областта на ИИ. Езикът е разработен в Масачузетския технологичен институт през 1967-1971 г. Първоначално това беше добавка към Lisp; в тази форма езикът беше внедрен на MacLisp под името Micro Planer. Впоследствие Planner беше значително разширен и превърнат в независим език. В СССР е реализиран под имената Плейнер-БЕСМ и Плейнер-Елбрус. Този език въведе много нови идеи в езиците за програмиране: автоматично търсене с обратно проследяване, търсене на данни по шаблон, извикване на процедури по шаблон, дедуктивен метод и др.

Като своя подгрупа, Planer съдържа почти целия Lisp (с някои модификации) и до голяма степен запазва специфичните си характеристики. Структурата на данните (изрази, атоми и списъци), синтаксисът на програмите и правилата за тяхното изчисляване в Planner са подобни на тези на Lisp. За обработка на данни в Planner се използват главно същите инструменти като в Lisp: рекурсивни и блокови функции. Почти всички вградени функции на Lisp, включително функцията EVAL, са включени в Planner. Новите функции се дефинират по същия начин. Както в Lisp, атомите могат да имат списъци със свойства, свързани с тях.

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

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

Примерите описват правилата за анализиране и декомпозиране на данни и следователно тяхното използване улеснява писането на програми и съкращава техните текстове.

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

Разглежданото подмножество на Planner може да се използва независимо от другите му части: това е мощен език за програмиране, удобен за внедряване на различни системи за символна обработка. Останалите части на Planner го ориентират към областта на AI, предоставяйки инструменти за описване на проблеми (начални ситуации, допустими операции, цели), чиито решения трябва да се търсят от системата AI, внедрена в Planer, и инструменти, които опрости прилагането на процедурите за намиране на решения на тези проблеми.

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

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


Конивър.

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

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

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

Като се има предвид сложността на прилагането на контролни дисциплини, авторите на езика бяха принудени да включат редица фиксирани контролни механизми, аналози на разклонителни процедури и теореми на езика Planner. Но за разлика от Planer, където разликата между избора на алтернатива във форк и нейния анализ и, ако е необходимо, развитието на повреда може да бъде произволно голяма, в езика Coniver тази разлика е сведена до минимум. По този начин Koniver се отървава от негативните последици от глобалната възвръщаемост поради повреда, когато е необходимо да се отмени предишната работа на почти цялата програма.