|
|
Логический вывод
Добавлено: 11 ноя 09 17:46
|
Здравствуйте.
Подскажите конкретные алгоритмы (открытые исходники реализации - вообще замечательно) логического вывода.
Задача: Есть база фактов вида
Джонатан есть ласточка ласточка есть птица птица имеет часть - крылья крылья имеют часть - перья
"есть", "имеет часть" - это транзитивные отношения. Нужно строить ответы на запросы вида объект1:отношение:объект2 Любые элементы запроса могут быть установлены в "?" (неопределённость, требующая конкретизации).
Кроме прямых совпадений, нужно показывать подходящие результаты логического вывода. Например: Джонатан:имеет часть:? Нужно вывести: Джонатан имеет часть крылья Джонатан имеет часть перья
Я стал программировать реализацию, но уж черезчур замудрёный код получается. Помогите не изобретать велосипед заново!
|
|
|
| |
|
На: Логический вывод
Добавлено: 11 ноя 09 18:23
|
Автор: Corwin
Вы с Прологом знакомы? |
|
Да, немного. Но я хотел бы ознакомиться с алгоритмами вывода. Вообще-то, эта задача - лабораторная работа из университета по предмету "ИИ", и, думается, смехотворно простую программу на прологе не приймут Надо вникнуть на низком уровне.
|
|
|
|
На: Логический вывод
Добавлено: 11 ноя 09 18:54
|
Если это обычная лабораторная работа по предмету "ИИ", то решения задачи на Прологе должно вполне хватить. Вы уверены что Вам нужно писать собственную программу для повторения части функционала Пролога?
|
|
|
NO. Сообщений: 10700 |
|
|
На: Логический вывод
Добавлено: 11 ноя 09 19:17
|
Наверно теперь отношения такие что преподаватель это заказчик, а ученик поставщик. То есть нужно запутать клиента наворотами чтобы сохранить коммерческую тайну, чтобы все работало, но преподаватель не догадался как именно
|
|
|
|
На: Логический вывод
Добавлено: 11 ноя 09 20:22
|
Любил я в универе так преподов подкалывать. Или исходник проги ужму выкинув все незначащие пробелы, и представлю распечатку "квадрат Малевича", или особо запомнилось занятия, на котором мы условные переходы проходили. Я его из принципа реализовал без условных переходов - одной монолитной нитью.))) можно скомпилить прогу в бинарник, затем дезассемблеировать и представить текст на асм-е
|
|
|
|
На: Логический вывод
Добавлено: 11 ноя 09 22:28
|
Это чувство.. и прошло красной нитью через всю твою оставшуюся жизнь.. И румыны легко заместили харьковчан в Зап.Европе
|
|
|
|
На: Логический вывод
Добавлено: 12 ноя 09 18:46
|
А шо ж они там делали, в Западной Европе - харьковчане?
|
|
|
|
На: Логический вывод
Добавлено: 12 ноя 09 20:50
|
Работать за еду - хотели.. Экчуалли это пред-намёк Шуклину
|
|
|
|
На: Логический вывод
Добавлено: 13 ноя 09 1:28
|
А наф за неё работать? Такую малость натырить быстрее и проще, чем заработать... Они там в запэуропе все лохи, их не разводить и не кидать - себя не уважать... Вок фо фан - нот фо фуд. Наука - это чистое удовольствие, забава праздного ума... Как в Древней Греции...
|
|
|
|
На: Логический вывод
Добавлено: 13 ноя 09 3:58
|
Автор: Krieger Да, немного. Но я хотел бы ознакомиться с алгоритмами вывода. Вообще-то, эта задача - лабораторная работа из университета по предмету "ИИ", и, думается, смехотворно простую программу на прологе не приймут Надо вникнуть на низком уровне. |
|
хотите без пролога... сделайте просто "обратный вывод" (постройте дерево состоящее из правил и рекурсивно его просчитайте с конца, все это очень не сложно) или напишите резолюцию (это даже лучше с точки зрения логики и демонстрации техники лог вывода, но если база знаний большая, то вывода не дождетесь).
|
|
|
|
На: Логический вывод
Добавлено: 14 ноя 09 18:52
|
Можно чуть подробней?
"Написать резолюцию" - значит попытаться "доказать от противного", или я не так понял?
|
|
|
|
На: Логический вывод
Добавлено: 15 ноя 09 14:59
|
Автор: Krieger
Можно чуть подробней?
"Написать резолюцию" - значит попытаться "доказать от противного", или я не так понял? |
|
Правильно поняли. Это если надо определенный вывод подтвердить, если же надо вообще выводы получить, то лучше "прямой вывод"... но в конце концов прийдете к прологу.
|
|
|
NO. Сообщений: 10700 |
|
| |
|
На: Логический вывод
Добавлено: 15 ноя 09 22:41
|
Вот из-за такого вида изложения в статьях, дела новичков плохи.
|
|
|
|