Суть задачи, на кафедре 22 преподавателя, 12 преподавателей преподают английский язык, 11 немецкий, 9 французский, также 4 преподавателя преподают английский и французский, 3 немецкий и французский, 5 английский и немецкий, вопросы к задаче: Сколько преподают все три языка и сколько преподают только два языка?
Нарисуйте 3 круга. Они пересекаются и разделяются на 7 областей. Обозначте их 7 переменными. АНФ - область всех 3 кругов, АФ - внутри кругов А и Ф, но не Н. Н - кусок круга для немецкого, но не в одном другом круге. И т.д.
Составьте уравнения. 4 куска в каддом круге суммируются к количеству преподавателей этого языка. 2 куска в каждой дольке из 2 кругов в сумме дают заданное число. Скмма всех 7 кусков - сколько всего преподов. 7 уравнений, 7 неизвестных. Решайте. Можно уравнения складывать и вычитать.
Wataru, может быть. Может быть. Я так рассуждал. У нас есть 22 предиката. Каждый утверждает что данный преподаватель обладает или не обладает тремя свойствами. И есть ограничения. Рулы. По количеству на кафедре.
mayton2019, Жесть. Интересно, как долго оно решать будет. Там же 2^66 вариантов! Конечно, отсечения какие-то у него будут, но я боюсь это нереально долго будет. А какая-нибудь система символьной алгебры, или тупо метод гауса, дай бог 7^3 шагов сделает.
Wataru, я думаю поэтому он и не популярен. Я читал статьи что даже для экспертных систем он не всегда удобен. Т.к. прямое использование предикатов может вызвать повторные вопросы в диалоговом режиме. Тоесть вы консультируетесь с системой по поводу того что у вас не заводится машина. А система вас дважды спрашивает про заряд аккумулятора. .. Ну вобщем не совсем коробочное решение получается. Так всякие самообучающиеся интеллекты типа ЖПТ-чат задавят пролог если уже не задавили.