Создать тему  Создать ответ 
«Это не высшая математика»
19-01-2013, 14:06    
Сообщение: #31
Ickander

Moderator
Сообщений: 425
Зарегистрирован: 18.08.12

RE: «Это не высшая математика»
»»»Пусть каждая наука занимается своей областью. А вот когда математики вторгаются в область гуманитарного знания, это подобно слону в магазине фарфора. «««

А это как раз таки наша область знания, к гуманитарным наукам не имеющая никоего касательства. Всё строго с точки зрения теории систем.
Найти все сообщения
Цитировать это сообщение
09-01-2015, 15:19    
Сообщение: #32
_Swetlana

Junior Member
Сообщений: 7
Зарегистрирован: 09.01.15

Smile RE: «Это не высшая математика»
(18-01-2013 18:34)Добрый малый писал(а):  
(18-01-2013 17:03)Ickander писал(а):  и прочих предсказателей будуЮщего).
Акинатор в виду имеете?
Всем доброго времени суток :)
Я не некрофил, как-то нужно первый пост отправить.

Акинатор - очень простая вещь. Создателям свечку не держала, но, по-видимому, это наивный байесовский классификатор. Ими я не занималась, но то же самое можно сделать с помощью экспертной системы (мициноподобной, с нечёткой логикой). База знаний (БЗ) основана на правилах типа "если-то", истинные (с какой-то степенью достоверности) факты система получает из ответов пользователя.

Вот пример ЭС "Угадай животное", только без нечёткой логики, пользователь отвечает "да" или "нет". Нечёткая логика легко прикручивается, чтобы для начала на это не отвлекаться.

Spoiler:


 Система пытается угадать задуманное животное, запрашивая у пользователя необходимую информацию и сохраняя полученные ответы.  Каждое животное описывается рядом признаков, которыми оно обладает или нет. Информацию о наличии или отсутствии признаков система получает от пользователя. Получив у пользователя ответ на вопрос, система сохраняет его в динамической базе данных (ДБД), чтобы затем неоднократно использовать его в своих рассуждениях.
Например, факт, что животное имеет шерсть, будет записан в ДБД следующим образом:
dpositive("имеет", "шерсть").
В своих рассуждениях система будет использовать ответы пользователя в предикатах positive и negative. Например, ответ, что животное имеет шерсть, будет считан в предикат positive(«имеет»,  «шерсть»).
 
Во время сеанса с пользователем система поочерёдно перебирает правила определения животных из своей БЗ (базы знаний).

Приведем в качестве примера правило определения тигра:
animal_is("тигр") :-
         it_is("млекопитающее"),
         it_is("плотоядное"),
         positive("имеет","желтовато-коричневый цвет"),
         positive("имеет","черные полосы").

Предикаты positive и negative — это описание конечных признаков животного, они соответствуют тем вопросам, которые система непосредственно задает пользователю.
Предикаты типа it_is — это выбор подкатегории. Пользователю не задается вопрос типа «Является ли задуманное животное млекопитающем?». Система находит в базе знаний правило описания млекопитающего
          it_is("млекопитающее") :-
             positive("имеет","шерсть"),!.
Затем система задает пользователю вопрос «Имеет ли задуманное животное шерсть?». В конечном итоге всё сведётся к подцелям (запросам) типа positive и negative.

Самое главное, что следует выделить в работе ЭС -  это ее способность задавать вопросы сообразно ситуации и способность работать с неполной и даже недостоверной информацией. Рассмотрим следующую ситуацию.

Для доказательства подцели, что животное является плотоядным, система задает пользователю вопрос «Ест ли задуманное животное мясо?». Предположим, что пользователь задумал тигра, но никогда не видел, чтобы тигр кого-либо ел, и поэтому отвечает «Нет». На этом месте любая программа, которая просто задает вопросы согласно проверочному списку, будет не в состоянии получить правильный результат, что задуманное животное — тигр.

В экспертной системе, основанной на правилах, изначально заложена возможность доказательства цели с помощью разных правил. Получив ответ «Нет»,  система его игнорирует (так как пользователь не обязан обладать полной и достоверной информацией) и находит в базе знаний следующее правило определения плотоядного:
       it_is("плотоядное") :-
          positive("имеет","острые зубы"),
          positive("имеет","когти"),
          positive("имеет","впередсмотрящие глаза").
Затем пользователь получает три новых вопроса: имеет ли животное острые зубы, когти и впередсмотрящие глаза. Если на все три вопроса будет получен ответ «Да», то система приходит к выводу, что задуманное животное — хищник.
Найти все сообщения
Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)