У меня есть аа базы данных пола:программы Prolog, что я просто не получаю
например:
woman(jhon).
man(Pat)
man(leo), etc.
Мне нужно написать функцию для теннисного матча (микст: так 2 различных пол на каждом боковая сторона). поэтому, если вы попросите, скажите:
matchMixte(equipe(X,emma),equipe(Y,Z)) , X, Y, Z
должен возвращать комбинацию возможных партнеров.
Извините за французский.
- equipe означает team.
- Ьотте означает человеку
- роковая женщина
У меня уже есть много вещей, но я знаю, что я на ложном пути. Если вы не можете мне помочь из-за длины, я пойму
Вот моя работа до сих пор.
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X),homme(Y),
femme(X1),homme(Y1),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X),homme(Y),
femme(Y1),homme(X1),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X1),homme(Y1);
femme(X),homme(Y),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X1),homme(Y1);
femme(Y),homme(X),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
Вам не нужно четыре ' matchMixte (equipe (X, Y), equipe (X1, Y1)) 'предикаты - один даст вам все комбинации. – Enigmativity
так верно, я усложнил жизнь. CS приводит меня в бешенство –