GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (2)След. > >>   Поиск:  
 Автор Тема: Логический вывод
Krieger
Сообщений: 6
Логический вывод
Добавлено: 11 ноя 09 17:46
Здравствуйте.

Подскажите конкретные алгоритмы (открытые исходники реализации - вообще замечательно) логического вывода.

Задача:
Есть база фактов вида

Джонатан есть ласточка
ласточка есть птица
птица имеет часть - крылья
крылья имеют часть - перья

"есть", "имеет часть" - это транзитивные отношения.
Нужно строить ответы на запросы вида
объект1:отношение:объект2
Любые элементы запроса могут быть установлены в "?" (неопределённость, требующая конкретизации).

Кроме прямых совпадений, нужно показывать подходящие результаты логического вывода.
Например:
Джонатан:имеет часть:?
Нужно вывести:
Джонатан имеет часть крылья
Джонатан имеет часть перья

Я стал программировать реализацию, но уж черезчур замудрёный код получается.
Помогите не изобретать велосипед заново!
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Логический вывод
Добавлено: 11 ноя 09 17:50
Вы с Прологом знакомы?
[Ответ][Цитата]
Krieger
Сообщений: 6
На: Логический вывод
Добавлено: 11 ноя 09 18:23
Цитата:
Автор: Corwin

Вы с Прологом знакомы?

Да, немного.
Но я хотел бы ознакомиться с алгоритмами вывода. Вообще-то, эта задача - лабораторная работа из университета по предмету "ИИ", и, думается, смехотворно простую программу на прологе не приймут Надо вникнуть на низком уровне.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Логический вывод
Добавлено: 11 ноя 09 18:54
Если это обычная лабораторная работа по предмету "ИИ", то решения задачи на Прологе должно вполне хватить. Вы уверены что Вам нужно писать собственную программу для повторения части функционала Пролога?
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Логический вывод
Добавлено: 11 ноя 09 19:17
Наверно теперь отношения такие что преподаватель это заказчик, а ученик поставщик. То есть нужно запутать клиента наворотами чтобы сохранить коммерческую тайну, чтобы все работало, но преподаватель не догадался как именно
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Логический вывод
Добавлено: 11 ноя 09 20:22
Любил я в универе так преподов подкалывать. Или исходник проги ужму выкинув все незначащие пробелы, и представлю распечатку "квадрат Малевича", или особо запомнилось занятия, на котором мы условные переходы проходили. Я его из принципа реализовал без условных переходов - одной монолитной нитью.))) можно скомпилить прогу в бинарник, затем дезассемблеировать и представить текст на асм-е
[Ответ][Цитата]
Capt.Drew
Сообщений: 4179
На: Логический вывод
Добавлено: 11 ноя 09 22:28
Это чувство.. и прошло красной нитью через всю твою оставшуюся жизнь..
И румыны легко заместили харьковчан в Зап.Европе
[Ответ][Цитата]
Oldfella Walk
Сообщений: 316
На: Логический вывод
Добавлено: 12 ноя 09 18:46
А шо ж они там делали, в Западной Европе - харьковчане?
[Ответ][Цитата]
Capt.Drew
Сообщений: 4179
На: Логический вывод
Добавлено: 12 ноя 09 20:50
Работать за еду - хотели.. Экчуалли это пред-намёк Шуклину
[Ответ][Цитата]
Oldfella Walk
Сообщений: 316
На: Логический вывод
Добавлено: 13 ноя 09 1:28
А наф за неё работать?
Такую малость натырить быстрее и проще, чем заработать...
Они там в запэуропе все лохи, их не разводить и не кидать - себя не уважать...

Вок фо фан - нот фо фуд.
Наука - это чистое удовольствие, забава праздного ума...
Как в Древней Греции...

[Ответ][Цитата]
daner
Сообщений: 4593
На: Логический вывод
Добавлено: 13 ноя 09 3:58
Цитата:
Автор: Krieger
Да, немного.
Но я хотел бы ознакомиться с алгоритмами вывода. Вообще-то, эта задача - лабораторная работа из университета по предмету "ИИ", и, думается, смехотворно простую программу на прологе не приймут Надо вникнуть на низком уровне.

хотите без пролога... сделайте просто "обратный вывод" (постройте дерево состоящее из правил и рекурсивно его просчитайте с конца, все это очень не сложно) или напишите резолюцию (это даже лучше с точки зрения логики и демонстрации техники лог вывода, но если база знаний большая, то вывода не дождетесь).
[Ответ][Цитата]
Krieger
Сообщений: 6
На: Логический вывод
Добавлено: 14 ноя 09 18:52
Можно чуть подробней?

"Написать резолюцию" - значит попытаться "доказать от противного", или я не так понял?
[Ответ][Цитата]
daner
Сообщений: 4593
На: Логический вывод
Добавлено: 15 ноя 09 14:59
Цитата:
Автор: Krieger

Можно чуть подробней?

"Написать резолюцию" - значит попытаться "доказать от противного", или я не так понял?

Правильно поняли. Это если надо определенный вывод подтвердить, если же надо вообще выводы получить, то лучше "прямой вывод"... но в конце концов прийдете к прологу.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Логический вывод
Добавлено: 15 ноя 09 15:30
[Ответ][Цитата]
Krieger
Сообщений: 6
На: Логический вывод
Добавлено: 15 ноя 09 22:41
Цитата:
Автор: NO.

про логику
http://www.klikovo.ru/db/book/msg/2821

Вот из-за такого вида изложения в статьях, дела новичков плохи.
[Ответ][Цитата]
 Стр.1 (2): [1]  2След. > >>