Алгоритм определения матрицы транзитивного замыкания бинарного отношения.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var h:integer;
begin
h:=strtoint(Edit1.Text);
h:=h+1;
StringGrid1.Colcount:=h;
StringGrid1.Rowcount:=h;
StringGrid2.Colcount:=h;
StringGrid2.Rowcount:=h;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a:array[1..100,1..100] of integer ;
b:array[1..100,1..100] of integer ;
c:array[1..100,1..100] of integer ;
h,i,j,k,z:integer;
begin
z:=0;
h:=strtoint(Edit1.text);
For i:=1 to h do begin
For j:=1 to h do begin
a[i,j]:= strtoint(StringGrid1.Cells[i,j]);
end;
end;
For i:=1 to h do begin
For j:=1 to h do begin
c[i,j]:=a[i,j];
b[i,j]:=a[i,j];
end;
end;
while z=0 do begin
For i:=1 to h do begin
For j:=1 to h do begin
For k:=1 to h do begin
If (a[i,k]*b[k,j])=1 then begin b[i,j]:=1; break; end;
end;
If c[i,j]>=b[i,j] then z:=1 else z:=0;
end;
end;
For i:=1 to h do begin
For j:=1 to h do begin
If (c[i,j]=0) and (b[i,j]=1) then c[i,j]:=b[i,j];
end;
end;
end;
For i:=1 to h do begin
For j:=1 to h do begin
StringGrid2.Cells[i,j]:=inttostr(c[i,j]);
end;
end;
end;
end.
Yandex.RTB R-A-252273-3
- Множества. Элементы множеств. Интуитивный принцип объемности. Способы задания множества. Мощность множества.
- Подмножества и их свойства.
- Операции над множествами: объединение, пересечение, разность, дополнение. Диаграммы Эйлера-Венна.
- Свойства операций над множествами (с доказательством).
- Прямое произведение множеств. Бинарные отношения. Способы задания бинарных отношений.
- Операции над бинарными отношениями: композиция отношений, степень отношения, обратное отношение, дополнение отношения, объединение, пересечение, разность отношений.
- Свойства бинарных отношений: рефлексивность, антирефлексивность, симметричность, антисимметричность, транзитивность, связность.
- Замыкания отношений. Транзитивное замыкание, рефлексивное транзитивное замыкание. Теоремы о транзитивном и рефлексивном транзитивном замыкании.
- Операции над бинарными отношениями, заданными в матричной форме.
- Алгоритм определения матрицы транзитивного замыкания бинарного отношения.
- Отношение эквивалентности. Классы эквивалентности и их свойства. Разбиения множеств. Связь эквивалентности с разбиением (теоремы с доказательством).
- Отношение порядка. Строгий и нестрогий порядок. Частичный и полный порядок. Упорядоченные множества.
- Соответствия. Образ и прообраз. Свойства соответствий: всюду определенные, инъективные, сюръективные, функциональные, взаимнооднозначные соответствия.
- Функции и отображения. Виды отображений. Обратные соответствия и функции. Способы задания функций.
- Алгебраические операции. Примеры операций. Арность операции. Способы задания.
- Свойства бинарных алгебраических операций: коммутативность, ассоциативность, дистрибутивность, поглощение, идемпотентность. Нейтральный и симметричный элементы.
- Комбинаторные правила суммы и произведения. Выборки (упорядоченные, неупорядоченные, с повторениями и без).
- Операции над графами.
- Способы представления графов и орграфов на эвм: матрица смежности, матрица инцидентности, список смежности, массив ребер (дуг).
- Маршруты в графах. Виды маршрутов: замкнутые и незамкнутые. Цепь. Простая цепь. Цикл. Простой цикл. Длина маршрута. Расстояние между вершинами. Диаметр графа.
- Орграфы и бинарные отношения. Отношение достижимости вершин орграфа. Матрица достижимости. Связь между отношениями достижимости и смежности.
- Определение матрицы достижимости орграфа как матрицы рефлексивного и транзитивного замыкания отношения смежности.
- Алгоритм выделения компонент связности (сильной связности)
- Нагруженные орграфы Длина пути в нагруженном орграфе. Минимальные пути в нагруженных орграфах.
- Нагруженные орграфы. Алгоритм Форда-Беллмана выделения минимального пути в нагруженном орграфе.