Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Отношения и их свойства


Автор: seansy 29.3.2007, 03:19
Бинарное отношение R на конечном множестве A2 задано списком упорядоченных пар вида (a,b), где a,b A. Программа должна определять свойства данного отношения: рефлексивность, симметричность, антисимметричность, транзитивность .
Работа программы должна происходить следующим образом:
1.     На вход подается множество A из n элементов, список упорядоченных пар, задающий отношение R (ввод с клавиатуры). 
2.     Результаты  выводятся на экран (с необходимыми пояснениями) в следующем виде:           
а)     матрица бинарного отношения размера n n;     
б)     список свойств данного отношения.
Дополнительно: после вывода результатов предусмотреть возможность изменения списка пар, определяющих отношение. Например, вывести на экран список пар (с номерами) и по команде пользователя изменить что-либо в этом списке (удалить какую-то пару, добавить новую, изменить имеющуюся), после чего повторить вычисления.

Автор: GIK 29.3.2007, 14:56
Лучше приведи пример задачи писменно, типа есть числа 2, 5, 8, 12 и т.п. а то так сложно разобрать smile Особенно мне, бросившему универ на первом курсе smile

Добавлено через 7 минут
Цитата

Бинарное отношение R на конечном множестве A2 задано списком упорядоченных пар вида (a,b), 

Кто нибуть переведите на русский, а то не знаю над чем думать даже.....

Автор: seansy 30.3.2007, 03:53
Бинарное отношение R - это математическое действие (умножение, вычитание и т.д.) над двумя множеств а и b. Результаты действия  составляют множество A2

Бинарное отношение R на множестве А2 называется рефлексивным, если всякий элемент множества находится в отношении R с самим собой.

Бинарное отношение R на множестве А2 называется симметричным, если для каждой пары элементов множества a,b выполнение отношения aRb влечёт выполнение отношения bRa.
 
Бинарное отношение R на множестве А2 называется антисимметричным,  если для каждой пары элементов множества a,b выполнение отношения aRb. 

Бинарное отношение R на множестве А2 называется транзитивным, если для любых трёх элементов множества a,b,c выполнение отношений aRb и bRc влечёт выполнение отношения aRc.

Если это не понятно, то попробую найти что-нибудь по-проще

Автор: GIK 30.3.2007, 14:03
Цитата

Бинарное отношение R на множестве А2 называется рефлексивным, если всякий элемент множества находится в отношении R с самим собой.

Как это с самим ссобой. Понял только то что отношение двух множеств даст третье множество A2.
Давай хоть пример чтоль  smile 

Автор: GIK 30.3.2007, 16:22
seansy, где ты там, я хочу докончить курс высшей математики smile  smile 

Цитата

Бинарное отношение R на множестве А2 называется транзитивным, если для любых трёх элементов множества a,b,c выполнение отношений aRb и bRc влечёт выполнение отношения aRc.


Что значит влечет выполнение. Как я понимаю, чтобы что-то повлекло за собой что-то, нужно какое-то условие, например == или  еще что-то.
Вот например, если  перемножение эллементов двух множеств дает эллементы которые равны, то выполняется действие перемножение двух множеств.

Код

int a[12];
int b[12];
int c[12];
int a2[12];
int ran;
//Бинарное умножение
for(int i=0; i<12; i++){
  a2[i]=a[i]*b[i];
  ran=b[i]*c[i];
  if(ran==a2[i]){ //Если перемножение двух множеств дает числа равные друг другу, то выполняется изменение эллемента множества a2, перемножением других эллементов множеств a[] и c[]
  a2[i]=a[i]*c[i]; 
 } 
/*Эллементы множества a2[] состоят из отношения множеств a[] и b[], но если последовательное перемножение множеств b[i] и c[i] дает отношение a2[i], то эллемнты a2[] равны отношению a[i] и c[i] */
}





Автор: seansy 2.4.2007, 03:12
 Вот может быть это будет по-проще

а бинарное отношение - это упорядоченные пары из элементов этого множества

рефлексивность - если для любого элемента из А сухествует пара (а а)

симметричность, если для любой пары (а в) существует пара (в а)

антисимметричность - если не существует ни одной пары (а в) и (в а)

транзитивность - если для любых пар вида (а в) (в с) существует пара (а с)

Автор: GIK 3.4.2007, 14:38
Цитата

а бинарное отношение - это упорядоченные пары из элементов этого множества

Я совсем запутался... Как из этого же множества? Т.е. берем множество и каким-то образом упорядычивеем по парам значения? Я же просил тебя, приведи пример, типа есть множество A {1, 5, 2, 5, 87, -12} и B {12, 45, 3, 78, -12} вичислить на сколько каждый эллемент из множества A больше эллемента из множества В. Ну что-то типа этого. Напиши хоть так,  и задачу решу.

Автор: seansy 7.4.2007, 02:53
Да решения похоже не увижу=), а жаль 

Автор: Demon_Lord 15.4.2007, 16:00
Привет народ.  smile у меня то же задание, так что давайте вместе решать.
Сначала задаём множество, например ( A B C D ).
Далее задаём пары отношений, к примеру (A-A, A-B, B-B, C-C, D-D).
Теперь составляем МАТРИЦУ БИНАРНЫХ ОТНОШЕНИЙ:

   A B C D
A 1 0 0 0
B 1 1 0 0
C 0 0 1 0
D 0 0 0 1

Ну а теперь проверяем свойства - если на главной диагонали все 1, то рефлексивна.
Если она симметрична относительно главной диагонали ( если есть отношение A-B и B-A, C-D и D-C и т.д.) - то симметрична.

А вот как определить свойства антисимметричность, транзитивность - на знаю. Подскажите чтоль на примере!!!

Да, я написал уже програмку, правда в ней ещё толком не определяются свойства. 

Программа - в двух архивах - первая часть сдесь - вторая в след. сообщении

Автор: Demon_Lord 15.4.2007, 16:10
Вторая часть

Автор: seansy 20.4.2007, 12:17
Спасибо! А программа где?=)

Автор: Lamak 20.4.2007, 15:40
Demon_Lord, выложи код, а не экзешник
  
антисимметричность где-то так:
Код

bool antisimm()
{
 for(int i=0;i<N-1;i++)
   for(int j=i+1;j<N;j++)
      if(R[i][j]==R[j][i])
            return false;//невыполняется
 return true;//выполняется
}           



Автор: Lamak 20.4.2007, 16:18
Цитата(GIK @  3.4.2007,  13:38 Найти цитируемый пост)
Цитата

Цитата

а бинарное отношение - это упорядоченные пары из элементов этого множества

Я совсем запутался... Как из этого же множества? Т.е. берем множество и каким-то образом упорядычивеем по парам значения?
 smile улыбнуло smile
 GIK, обьясняю:
 
Цитата

упорядоченные пары 
- имеется ввиду что (а,с) и (с,а) это не одно и то же 
пример:
мн-во А={f,r,t,y};
Бинарное отношение , заданое списком упорядоченных пар: 
R={(f,r)(r,t)(t,t)};
R не рефлексивно  так как R не содержит пар (r,r), (f,f) и (y,y)  


Цитата(GIK @  30.3.2007,  15:22 Найти цитируемый пост)
Цитата

Цитата

Бинарное отношение R на множестве А2 называется транзитивным, если для любых трёх элементов множества a,b,c выполнение отношений aRb и bRc влечёт выполнение отношения aRc.


Что значит влечет выполнение. Как я понимаю, чтобы что-то повлекло за собой что-то, нужно какое-то условие, например == или  еще что-то.

"влечет выполнение" - пара (а,с) принадлежит мн-ву пар R
 
Бинарное отношение R на множестве А называется транзитивным, если следующее выражение является аксиомой:
если (a,b) и (b,c) принадлежат R, то и (a,c) принадлежит R 

  


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)