Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиПА / include / algraph.doc
Скачиваний:
16
Добавлен:
07.02.2016
Размер:
582.14 Кб
Скачать

Литература

1. Пинчук В.П.

Проблемно-ориентированное расширение С++ для задач обработки структурной информации.Нові матеріали і технології в металургії та машинобудуванні / Запоріжжя, ЗДТУ, 1998, №2.- с. 104-107.

2. В.П.Пинчук

Конспект лекций по вычислительной математике для специальности 8.090801 "Микроэлектроника и полупроводниковые приборы".- Запорожье: ЗНТУ, 2002 (не опубликовано).

3. В.И.Грядун, В.П.Пинчук, В.П.Шаповалов

Моделирование функции Ланжевена цепной дробью.

Радіоелектроніка, інформатика, управління, 2001, № 1, с.68-71.

4. Дьяконов В.П.

Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник.- М.: Наука, 1987.- 240 с.

5. Пінчук В.П., Засовенко В.Г.

Основи дискретної математики. Теорія та застосування. Конспект лекцій для студентів спеціальностей 7.080403, 7.091501, 7.091503 радіоприладобудівного факультету всіх форм навчання. - Запоріжжя: ЗДТУ, 2001.- 104 с.

6. Jonas Hasselberg, Panos Pardalos, George Vairaktarakis

Test Case Generators and Computational Results for the Maximum Clique Problem.-

Journal of Global Optimization 3: 463-482, 1993.

7. В.П.Пинчук

Глоссарий по теории графов.-

Запорожье, 2002 (не опубликовано).

8. В.П.Пінчук

NB-дерево та алгоритм визначення кiлькостi вершин максимальної клiки у графi.-

Міжнародна конференція "Питання оптимізації обчислень", 6-8 жовтня 1997 р., м. Київ: Праці / Київ; Ін-т кібернетики ім. В.М.Глушкова НАН України, 1997.- с. 258-262.

9. Fisher David C., Ryan Jenifer

Bounds on the number of complete subgraphs.

Discrete Math.- 1992,- 103, № 3.- pp. 313-320. [ РЖМ 9В342 ]

10. В.П.Пінчук

Табличні інваріанти і побудова ефективних обчислень на графах.

Теорія обчислень. Зб. наук. праць. НАН України. Ін-т кібернетики ім. В.М.Глушкова.-

Київ, 1999, с. 289-293.

11. Пинчук В.П.

Табличные инварианты на графах и их применение.

Кибернетика и системный анализ / ИК НАН Украины, 2001, № 4.- с.33-45

12. В.П.Пинчук

Распознавание изоморфности графов: ПНВ-алгоритм.

Складні системи і процеси / ГУ ЗІДМУ, Запоріжжя, 2002, № 1, с.4-11.

Алфавитный указатель функций

В приводимом ниже перечне приняты следующие обозначения:

g-graph-объект (таблица связей графа);

M-matad-объект (матрица смежности графа);

P-pinv-объект (упорядоченный вектор степеней вершин графа).

_STIMER_ разрешает компиляцию функций runstimer и stimer из модуля syst.h

about_algraph() возвращает указатель на строку, которая содержит информацию о библиотеке Algraph

about_syst() возвращает указатель на строку, которая содержит информацию о разработчике модуля syst.h

abs(x) абсолютная величина (модуль) от x

add_edge(g,i,k); добавить в граф g дугу с начальной вершиной i и конечной вершиной k

add_r(g,i,k); создать ребро (пару встречных дуг) с концевыми вершинами {i,k} в графе g

add_v(g); создать дополнительную изолированную вершину в графе g

add_vc(g); создать дополнительную вершину в графе g, связанную ребрами со всеми остальными вершинами

algraph.h h-файл библиотеки Algraph/C++

algraph.lib файл реализации библиотеки Algraph/C++

bic_graph(g,bic) получить бинарный код по заданной таблице связей g

bic_mat(M,bic) получить бинарный код по заданной матрице смежности biclen(n) длина бинарного кода (количество 16-битовых слов) n-вершинного графа

binprint(x); вывод двоичного кода значения x на экран

biread(f,x); чтение x из бинарного файла

biwrite(f,x); запись x в бинарный файл

byte typedef-синоним типа unsigned char

cliq(g,e) найти максимальную клику e в графе g

Cmb(n,r) число сочетаний из n по r.

cmp(a,b) сравнение значений a,b

cmp(nx,ny,x,y) лексикографическое сравнение двух массивов

cmpl(g,i,k) лексикографическое сравнение двух строк таблицы связей графа g

complete(n) получить полный n-вершинный граф

CPU_Frequency глобальная переменная - частота процессора

cub(x) куб от x

del_iv(g); удалить из графа g все изолированные вершины

del_r(g,i,k); удалить из графа g ребро или пару встречных дуг с концевыми вершинами i,k

del_v(g,k); удалить из графа g вершину с номером k

dens(g) плотность графа g (NB-метод)

densi(g) плотность графа g (VP-алгоритм)

dens_lo(g) нижняя оценка плотности графа g

diameter(g) диаметр графа g

dist(g,i,k) расстояние между вершинами i,k в графе g

dlv(g,k) получить граф путем удаления вершины k из графа g

double_o_graph(m) получить граф типа "двойное кольцо" сmсекциями

endline(f,text); вывод в файл f информации об исполняемом файле, а также даты и времени

erfc(x) дополнительный интеграл ошибок.

errhalt(Q,mes); обработка исключения с выводом сообщения на экран

errhalt(Q,mes,f); обработка исключения с выводом сообщения в файл

excenter(g,i) эксцентриситет вершины i в графе g

fact(k) факториал, k  12

factd(k) факториал, k  170

fatring(n,c) получить граф типа fatring с числом вершин nv и параметром c

findcycl(g,j,L,e) найти цикл e длиной L в графе g , который проходит через вершину j

flushkey(); гашение буфера клавиатуры

frac(x) дробную часть x в формате double

frand() случайное число типа double из интервала [0,1] frand(a,b) случайное число из заданного интервала [a,b]

g = k; граф g преобразовать в безреберный граф с k вершинами

g = M; присваивание с преобразованием matad->graph

g << f; ввести graph-объект g из текстового файла (gt-файла)

g >> f; вывести graph-объект g в текстовый файл (gt-файл)

g == k; проверить, является ли граф g безреберным графом с k вершинами

g.cnv() свернуть graph-объект g

g.form() форм-фактор графа

g.nrib() число ребер графа g

g.nv число вершин графа g

g.p[k] степень вершины k графа g

g.r[i][k] элемент таблицы связей графа g

g.size() размер graph-объекта g в байтах

g.read(f) считать граф g из текстового файла f, возвращаемое значение - form-фактор считанного графа

g.read_r(in); считать graph-объект g из r-файла in

g.write(f); вывести graph-объект g в текстовый файл f или на экран

g.write_r(out); записать graph-объект g в r-файл out

g.rgl() упорядочить каждую строку graph-объекта g по возрастанию номеров вершин

g1 = g2; операция присваивания

getkey() получить символ нажатой клавиши

getline(in,s) извлечь очередную строку из потока in и поместить ее в поле s

getskey() получить символ из буфера клавиатуры

getyes() обработка нажатия клавиш <y>, <Y>, <n>, <N>

graph класс, представляющий таблицу связей

graph g; создать graph-объект, соответствующий пустому графу

graph g(k); создать graph-объект, который соответствует безреберному графу с k вершинами

graph g(M); создать graph-объект, который соответствует матрице смежности M

graph g1(g2); создать graph-объект g1, который является копией graph- объекта g2

graph_r класс, представляющий таблицу связей с весами ребер

graph_v класс, представляющий таблицу связей с весами вершин

graph_vr класс, представляющий таблицы связей с весами вершин и ребер

graph_bic(n,bic) получить graph-объект (таблицу связей) по заданным бинарному коду bic и числу вершин n

gt_r(in,out) gt-файл с указателем in конвертируется в r-файл с указателем out

hamdist(a,b) расстояние Хэмминга для бинарных кодов значений a,b

hamilt_c(g,e) найти гамильтонов цикл e в графе g

hamilt_n(g) количество гамильтоновых циклов в графе g

hamming(n,d) получить граф Хэмминга H(n,d) с числом вершин n и параметром d

hcube(m) получить граф типа гиперкуб с размерностью m

hread(f,nv,nr,Ng,KS) чтение заголовка r-файла

hwrite(f,nv,nr,Ng,KS) запись заголовка r-файла

imgraph класс, представляющий таблицу связей с координатами вершин

isblock(g) установить, является ли граф g блоком

iscomplete(g) установить, является ли граф g полным графом

isconn(g) установить, является ли граф g связным

isdual(g) установить, является ли граф g двудольным

isempty(g) установить, является ли граф g пустым

iseuler(g) установить, является ли граф g ейлеровым

ishamilt(g) установить, является ли граф g гамильтоновым

isisos(g1,g2,p) установить, является ли подстановка p, отображающая множество вершин графа g1 на множество вершин графа g2, изоморфной

iso(g1,g2) установить, являются ли графы g1,g2 изоморфными

isos(g1,g2,p) получить изоморфную подстановку p графа g1 на граф g2

isregular(g) установить, является ли граф g регулярным

isucycl(g) установить, является ли граф g ациклическим

isulamequ(g1,g2) установить, являются ли графы g1 и g2 ulam-эквивалентными

isnonbridge(g) установить, является ли граф g графом без мостов

johnson(n,w,d) получить граф Джонсона с числом вершин n и с параметрами w,d

join(g1,g2) получить граф, который является слабым соединением графов g1,g2

joinc(g1,g2) получить граф, который является сильным соединением графов g1,g2

k_line(n,k) получить граф типа k-line с n вершинами

k_ring(n,k) получить граф типа k-ring с n вершинами

keller(n) получить граф Келлера с n вершинами

lanj(x) значение функции ланжевена

lg(x) логарифм десятичный (то же, что и log10(x))

ln(x) натуральный логарифм (то же, что и log(x))

line(n) получить граф типа "линейная цепочка" с n вершинами

M = g; присваивание с преобразованием вида graph->matad

M = k; преобразоать матрицу смежности M к виду, соответствующему безреберному графу с k вершинами

M.form(); форм-фактор графа с матрицей смежности M

M.nrib(); число ребер графа с матрицей смежности M

M.nv число вершин графа с матрицей смежности M

M.s[i][k] элемент матрицы смежности

M.size() размер матрицы смежности (matad-объекта) M в байтах

M1 = M2; операция присваивания

Max(a,b) возвращает большее из значений аргументов a,b

mat_bic(n,bic) получить matad-объект (матрицу смежности) по заданным бинарному коду bic и числу вершин n

matad класс, представляющий матрицу смежности

matad M; создать матрицу смежности (matad-объект), соответствующую пустому графу

matad M1(M2); создать матрицу смежности (matad-объект) M1, которая является копией матрицы смежности M2

matad M(g); создать матрицу смежности (matad-объект) M, которая соответствует таблице связей g

matad M(k); создать матрицу смежности (matad-объект) M, которая соответствует безреберному графу с k вершинами

Min(a,b) возвращает vtymitt из значений аргументов a,b

modmul(g1,g2) модульное произведение графов

numbit(x) число единиц в бинарном коде значения x.

numstr(ifstream& fin) число строк текста в потоке fin

naut(g) порядок группы автоморфизмов графа g

neib(g,k) получить подграф ближайших соседей вершины k в графе g

nisos(g1,g2) количество изоморфных подстановок графа g1 на граф g2

nrib(g) число ребер графа g

ntriangls(g) число треугольников (циклов длиной 3) в графе g

o_graph(n) получить граф типа О-граф (типа "кольцо") с n вершинами

P = g; присваивание с преобразованием вида graph->pinv

P = k; преобразование pinv-объекта P к виду, соответствующему безреберному графу с k вершинами

P.nv число вершин графа, соответствующее инварианту P

P.v[k] элемент вектора степеней вершин

P1 = P2; операция присваивания

pause; пауза до нажатия любой клавиши

petersentype(n) получить граф типа графа Петерсена с n вершинами

pi константа π

pinv класс, представляющий упорядоченный вектор степеней вершин графа

pinv P; создать упорядоченный вектор степеней вершин (pinv- объект), соответствующий пустому графу

pinv P1(P2); создать pinv-объект P1, который является копией pinv- объекта P2

polin(n,a,x) значение полинома порядка n, размер массива коэффициентов a равен n+1

print(M); вывод на экран матрицы смежности

print(P); вывод на экран значения -инварианта P

printr(S); вывод на экран строки с коррекцией символов кириллицы

printr(S,f); вывод в файл f строки с коррекцией символов кириллицы

r_inters(g1,g2) получить граф, который является реберным пересечением графов g1 и g2

r_gt(in,out) конвертирование файлов: последовательность бинарных кодов из r-файла in переносится в gt-файл out

r_union(g1,g2) получить граф, который является реберным объединением графов g1 и g2

radius(g) радиус графа g

RAND_MAXL максимальное значение аргумента для функции random(M)

randgraph(n,r) получить случайный граф с n вершинами и r ребрами

randgraph(n,rx) получить случайный граф с n вершинами и с реберным заполнением rx

rdate() текущая дата в сокращенном формате

read_bic(in,Nw,bic) бинарный код графа длиной Nw считывается из r-файла in и размещается в строке bic

renum(g) получить граф путем случайной перенумерации вершин в графе g

rewind(f); установить указатель потока f в начало

rfopen(fn) открыть текстовый файл для чтения с контролем

round(x) приведение к целому путем округления

rtime() текущее время в сокращенном формате

runtimer(); инициализация таймера (функция timer())

runstimer(); инициализация микросекундного таймера (функция stimer())

rver(in,nv,nr,Ng) проверить правильность r-файла

sanchis(n,rs,ds) получить граф Санчиса с числом вершин n и параметрами r,d

set_cpu_fr(); процедура определения тактовой частоты процессора и установки значения системной переменной CPU_Frequency

sigma(g) значение s-инварианта для графа g (целочисленная свертка табличного инварианта первого порядка)

simps(fun,a,b,N) определенный интеграл (метод Симпсона)

Spline класс для интерполяции сплайнами

sqr(x) квадрат от x

star(n) получить граф типа звезда с n вершинами

START_TIME глобальная переменная, используются функциями таймера runtimer и timer

stimer() значение микросекундного таймера

streg(g,m0,m1) установить, является ли граф g сильнорегулярным, m0,m1 - параметры сильнорегулярного графа

swp(a,b); парный обмен значениями

syst.h h-файл, компонент библиотеки Algraph/C++

tg(x) тангенс от x (то же, что и tan(x))

temprint(A); вывод на экран элементов структуры STL по итератору

timer() значение таймера

th(x) тангенс гиперболический от x

ver(g) проверить правильность таблицы связей графа

uint typedef-синоним типа unsigned int

ulong typedef-синоним типа unsigned long

wheel(n) получить граф типа колесо с n секциями

word typedef-синоним типа unsigned short

write_bic(out,Nw,bic) записать бинарный код графа bic длиной Nw в r-файл out

Соседние файлы в папке include