Беседа:Експертна система

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето

Team Barium, започвам и тази дискусионна страница към втората наша тема - "Експертна система". Тук трябва да дискутираме нещата по темата, които правим. :) Svarbanov (беседа) 16:22, 25 юли 2013 (UTC)

В изкуствения интелект, експертна система наричаме компютърна система, която наподобява способността за вземане на решения от човек, експерт в дадена област. Експертните системи са предназначени за решаване на сложни проблеми, използвайки изводите от знанията на експерт, а не да се следват процедурите написани от програмист, какъвто е случаят в конвенционалното програмиране. Първите експертни системи са били създадени през 1970 г. и след това се разпространили през 80те. Експертни системи са сред първите наистина успешни форми на софтуер, разработен на базата на изкуствения интелект.
Експертната система притежава уникална структура, различна от традиционното компютърно програмиране. Тя е разделена на две части, една фиксирана, независима от експертна система: интерпретатор (логическо устройство), и една променлива: базата от знания. За да се пусне в експлоатация експертна система, интерпретаторът разчита на началната база от знания, заложени от експерта. През 80-те години се появява трета променлива: диалогов интерфейс за комуникация с потребителите . Тази способност да се води разговор с потребителите е наречен по-късно "диалогичност". Yonchoy (беседа) 07:02, 26 август 2013‎ (UTC)

Софтуерна архитектура

В технологията на експерните системи, базата от познания се описва чрез правила от типа IF… THEN… на формалния език.
Всяко правило от този тип съдържа IF-част (условие, ако), последвана от THEN-част (следствие от условието, тогава). По този начин правилата логически свързват набраната база от познания по проблема със стъпките, който могат да бъдат направени за неговото решаване. Например:
  • „Ако нещо е жив организъм, тогава то е смъртно”
  • „Ако се знае за някой на колко години е, тогава годината му на раждане е равна на годината сега минус възрастта му”.
Подобна формулировка като горната е удобна за използване в ежедневния език, но е неприложима в компютърните науки, затова се използват конкретни конструкции на правилата с определен дизайн, който трябва да съответства на дизайна на самото логическо устройство.

Интерпретатор (Логическо устройство)

Интерпретаторът, или логическото устройство, представлява компютърна програма, която извлича изводи и взема решения на база зададените правила. Тези изводи се основават на логиката, като има различни видове логика – логика на съждението, модална логика, вероятностна логика и др. Логиката на съждението е естествената човешка логика, която се структурира в т.нар. силогизми (умозаключения). Експертните системи, които се основават на логиката на съждението, се наричат нулево-базирани експертни системи. Чрез логика, интерпретаторът използва вече събраната информация, за да генерира изцяло нова, логически обоснована информация.
Интерпретаторът работи по два начина: или на серии, или диалогично (последователно). В първия случай експертната система разполага още от самото начало с цялата необходима база данни. От гледна точка на потребителя, тези експертни системи работят като класически програмен код: потребителят въвежда входните данни и получава резултата на момента. Логическите действия остават скрити от потребителя в самата програма. Диалогичните интерпретатори се използват тогава, когато не е възможно да се зададат предварително всички входни данни, поради сложността на решавания проблем. В тези случай софтуерът трябва сам да „открие” последователността от стъпки за решаване на проблема, като последователно изисква необходимата му входна информация от потребителя и достига до решение по възможно най-оптимален път. По този начин работата на диалогичния интерпретатор наподобява диалог между експертната система и потребителя. В зависимост от конкретната имплементация, диалогичните интерпретатори използват три типа алгоритми за действие – прав извод, обратен извод или смесен извод.
При експертните системи с прав извод, интерпретаторът първо търси правило, чието условие се удовлетворява от наличните данни в контекста, т.е. търси правило, условията на което са съпоставими със съдържанието на контекста. Ако съществува повече от едно такова правило, се използват различни методи за избор на правило, например - първо срещнато или неприлагано до момента, или с най-скоро записани данни и т.н. След като намери подходящо правило, интерпретаторът изпълнява следствието от условието на това правило (дясната част на правилото). С изпълнението на дясната част на правилото най-често се коригира контекста, което отваря възможност за използването на други правила от интерпретатора. След тази стъпка, ако не е достигната съответната цел, отново се преминава към търсене на ново правило според настоящия контекст.
При експертните системи с обратен извод, търсенето се извършва върху следствията (дясната част) от правилата, а за образец за търсене служи зададената крайна цел. След това се анализира условието на намереното правило, а неизвестните все още параметри се задават като нови цели, върху които алгоритъмът на тъсене се повтаря. Процесът продължава, докато целите се удовлетворяват от контекста. При необходимост се извършва връщане назад, за да се изследват неизследваните възможности.
Svarbanov (беседа) 10:27, 28 август 2013 (UTC)

История

Експертните системи са въведени от изследователи, работили по Станфордския Евристичен Проект, като сред тях са Брус Бюкенън (създател на системите Dendral и Mycin), Едуард Шортлиф, Рендъл Дейвис и др. Експертните системи са сред първите успешни форми на софтуер от класа на изкуствения интелект.
Експертните системи са били разработвани активно и във Франция, където изследователите са били фокусирани върху машини, използващи логика и логически аргументи. Френският език за програмиране Пролог, разработен през 1972 г., бележи съществен напредък след експертните системи Dendral и Mycin – бил е разработен като ядро, на което да може да бъдат стартирани различни експертни системи. Пролог има вграден интерпретатор с прав извод с правила и следствия, бил е разработен като средство за серийно създаване на експертни системи и е бил първият декларативен език за програмиране, а в последствие става най-продаваната система за изкуствен интелект в света.
През 80-те години експертните системи се разпространяват масово, тъй като била осъзната възможността им да бъдат използвани като инструменти за решаване на реални, практически проблеми. Университетите започват да предлагат обучения по експертни системи, а над две трети от компаниите от Fortune 1000 започват да прилагат технологията в ежедневните бизнес процеси.

Приложно поле

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

Svarbanov (беседа) 22:58, 31 август 2013 (UTC)

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


Пример за приложение като експертна система в сферата на финансите е експертната система за ипотеките. Отделите за заеми са за интересовани от експертните системи за заеми, поради растящата цена на труда, което прави управлението и приемането на относително малки заеми, по-малко печелившо. Те също виждат възможност за стандартизация, ефективно управление на ипотечните заеми от приложени експертни системи, оценявайки това, че за приемането на ипотеките има строги и бързи правила, които не винаги се прилагат при друг вид заеми. Друго общо приложение във сферата на финансите за експертните системи е в търгуването на акции на различни пазари. Тези пазари се влият от многоброини променливи и човешки емоции, което ги прави близки до невъзможни за предсказване, следователно експертните системи базирани на правила, подобни на правилото на палеца (https://en.wikipedia.org/wiki/Rule_of_thumb) от експерти и тестови данни са използвани. Експертните системи от този вид могат да варират от тези предлагащи предвиждания на дребно за определена сфера, подобно на Wishabi (http://www.wishabi.com/), до тези използвани за да подпомогнат паричните решения на финансовите институции и дори правителства.


През 70те и 80те приложение на експертните системи, който днес бихме наричали изкуствен интелект, било намерено в компютърните игри. Например, компютърни бейзбол симулации като Earl Weaver Baseball и Tony La Russa Baseball, всяка от които имала симулации с много детайли за игрови стратегии за тези два мениджъра. Когато човек играел срещу компютъра, компютърът правил запитване до експертните системи на Earl Weaver или Tony La Russa за това каква стратегия да приложи. Понякога тези решения били произволни , което било част от естествената експертна система (като кога да хвърли изненадваща топка или кога да изиграе бегач, който се опитва да открадне база) решения, базирани на вероятностите подадени от Weaver или La Russa. Днес бихме казали- "Това е изкуственият интелект на играта предоставен на мястото на противниковия мениджър".

Друго приложение на експертните системи е автоматизирането генериране на компютърни програми. Спонсорирано от фонда на американските въздушни сили, експертно базирана система (hprcARCHITECT), която генерира компютърни програми за системи базирани на различни процесорни технологии(FPGA/GPU/Multicore) без нуждата от обучен персонал беше официлано представена на пазара. Yonchoy Има също големи по обем съвременни изследвания и разработки директно използващи експертни системи, за моделирането на човешкото поведение и помагащи решенията системи. Това е особено важно в сферите на междукултурните връзки и подобряването на управлението на операциите в малкия бизнес.

В здравето и медицината, простите(не сложни) експертни системи съществуват както в големи, така и в малки институции (болници и личните лекари). Например в общомедицинското бюро, по време на посещение от пациент,личния лекар може да предпише лекарство на пациента, изпозвайки интегрираната система за наблюдение над пациентите(like Zedmed Clinical). системата ще провери екарството предписано на пациенти и всякакъв друг вид данни за пациента и ще ги използва като вход, входа преминава през системата от знания на системата и ще произведе резултат. Ако предписаното лекарство има някакви странично ефекти за пациента, то ще бъде отбелязано и лекарят ще бъде алармиран за това. Системата може също да предостави списък с всички алтернативни лекартва достъпни за пациента, помагайки на лекаря да вземе решение на евентуален план на лечение, ако е възможен. Yonchoy