Измерьте важность узла
дополнительные опции использования заданы одним или несколькими Аргументами пары "имя-значение". Например, C = centrality(___,Name,Value)centrality(G,'closeness','Cost',c) задает стоимость пересечения каждого ребра.
Создайте и постройте график, содержащий шесть фиктивных веб-сайтов.
s = [1 1 2 2 3 3 3 4 5];
t = [2 5 3 4 4 5 6 1 1];
names = {'http://www.example.com/alpha', 'http://www.example.com/beta', ...
'http://www.example.com/gamma', 'http://www.example.com/delta', ...
'http://www.example.com/epsilon', 'http://www.example.com/zeta'};
G = digraph(s,t,[],names);
plot(G,'NodeLabel',{'alpha','beta','gamma','delta','epsilon','zeta'})
Вычислите ранг страницы каждого веб-сайта с помощью centrality функция. Добавьте эту информацию к Nodes таблица графика как атрибут вершин графика.
pg_ranks = centrality(G,'pagerank')pg_ranks = 6×1
0.3210
0.1706
0.1066
0.1368
0.2008
0.0643
G.Nodes.PageRank = pg_ranks; G.Nodes
ans=6×2 table
Name PageRank
__________________________________ ________
{'http://www.example.com/alpha' } 0.32098
{'http://www.example.com/beta' } 0.17057
{'http://www.example.com/gamma' } 0.10657
{'http://www.example.com/delta' } 0.13678
{'http://www.example.com/epsilon'} 0.20078
{'http://www.example.com/zeta' } 0.06432
Также определите, какие узлы являются концентраторами и полномочиями с помощью centrality и добавьте баллы к Nodes таблица.
hub_ranks = centrality(G,'hubs'); auth_ranks = centrality(G,'authorities'); G.Nodes.Hubs = hub_ranks; G.Nodes.Authorities = auth_ranks;
G.Nodes
ans=6×4 table
Name PageRank Hubs Authorities
__________________________________ ________ __________ ___________
{'http://www.example.com/alpha' } 0.32098 0.24995 7.3237e-05
{'http://www.example.com/beta' } 0.17057 0.24995 0.099993
{'http://www.example.com/gamma' } 0.10657 0.49991 0.099993
{'http://www.example.com/delta' } 0.13678 9.1536e-05 0.29998
{'http://www.example.com/epsilon'} 0.20078 9.1536e-05 0.29998
{'http://www.example.com/zeta' } 0.06432 0 0.19999
Создайте и постройте взвешенный график с помощью случайной разреженной матрицы смежности. С тех пор существует много ребер, использует очень маленькое значение в EdgeAlpha сделать ребра в основном прозрачными.
A = sprand(1000,1000,0.15); A = A + A'; G = graph(A,'omitselfloops'); p = plot(G,'Layout','force','EdgeAlpha',0.005,'NodeColor','r');

Вычислите центрированность степени каждого узла. Задайте важность каждого ребра с помощью веса ребра.
deg_ranks = centrality(G,'degree','Importance',G.Edges.Weight);
Используйте discretize поместить узлы в 7 равномерно распределенных интервалов на основе их баллов центрированности.
edges = linspace(min(deg_ranks),max(deg_ranks),7); bins = discretize(deg_ranks,edges);
Сделайте размер каждого узла в графике пропорциональным его счету центрированности. Размер маркера каждого узла равен интервалу номер (1-7).
p.MarkerSize = bins;

Загрузите данные в minnesota.mat, который содержит объект диаграмм G представление сети дорог в Миннесоте. Вершинам графика содержали координаты xy в XCoord и YCoord переменные G.Nodes таблица.
load minnesota.mat
xy = [G.Nodes.XCoord G.Nodes.YCoord];Добавьте вес ребра в график, который примерно соответствует длине дорог, вычисленное использование Евклидова расстояния между координатами xy конечных узлов каждого ребра.
[s,t] = findedge(G); G.Edges.Weight = hypot(xy(s,1)-xy(t,1), xy(s,2)-xy(t,2));
Постройте график с помощью координат xy в узлах.
p = plot(G,'XData',xy(:,1),'YData',xy(:,2),'MarkerSize',5); title('Minnesota Road Network')

Вычислите центрированность близости каждого узла. Масштабируйте цвет узла NodeCData быть пропорциональным счету центрированности.
ucc = centrality(G,'closeness'); p.NodeCData = ucc; colormap jet colorbar title('Closeness Centrality Scores - Unweighted')

Также вычислите взвешенный счет центрированности близости, с помощью веса ребра в качестве стоимости пересечения каждого ребра. Используя дорожные длины как вес ребра улучшает качество счета, поскольку расстояния теперь измеряются как сумма длин всех перемещенных ребер, а не количество ребер переместилось.
wcc = centrality(G,'closeness','Cost',G.Edges.Weight); p.NodeCData = wcc; title('Closeness Centrality Scores - Weighted')

Вычислите взвешенную музыку центрированности соотношения "между" к графику, чтобы определить дороги, чаще всего найденные на кратчайшем пути между двумя узлами. Нормируйте баллы центрированности с фактором так, чтобы счет представлял вероятность, что путешественник вдоль кратчайшего пути между двумя случайными узлами переместится через данный узел. График показывает, что существует несколько очень важных введений дорог и из города.
wbc = centrality(G,'betweenness','Cost',G.Edges.Weight); n = numnodes(G); p.NodeCData = 2*wbc./((n-2)*(n-1)); colormap(flip(autumn,1)); title('Betweenness Centrality Scores - Weighted')

type — Тип центрированности узла'degree' | 'outdegree' | 'indegree' | 'closeness' | 'incloseness' | 'outcloseness' | 'betweenness' | 'pagerank' | 'eigenvector' | 'hubs' | 'authorities'Тип центрированности узла, заданной как одна из опций в таблице. Таблица также приводит совместимые Пары "имя-значение", которые работают с каждым типом. Каждое разнообразие центрированности узла предлагает различную меру важности узла в графике.
|
Опция |
Тип графика |
Описание |
Пары "имя-значение" |
|---|---|---|---|
|
|
Неориентированный |
Если вы задаете | |
|
|
Направленный | ||
|
|
Неориентированный |
A i - количество достижимых узлов от узла
| |
|
|
Направленный | ||
|
|
Неориентированный или направленный |
количество кратчайших путей от
| |
|
|
Неориентированный или направленный |
| |
|
|
Неориентированный |
| |
|
|
Направленный |
|
centrality функция принимает, что весь вес ребра равен 1. Чтобы изменить это, задайте вес ребра для использования с 'Cost' или 'Importance' пары "имя-значение".
Пример: centrality(G,'degree')
Пример: centrality(G,'hubs','Tolerance',tol)
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
C = centrality(G,'closeness','Cost',edgeCosts) вычисляет центрированность близости с помощью edgeCosts как стоимость (вес) пересечения каждого ребра в графике.'Cost' — Стоимость обхода ребраСтоимость обхода ребра, заданного как разделенная запятой пара, состоящая из 'Cost' и вектор положительного веса ребра. ith вес ребра задает стоимость, сопоставленную с пересечением ребра findedge(G,i). Весь вес ребра должен быть больше нуля.
'Cost' вес ребра меньше, когда связь является короче, или быстрее или более дешевой. Некоторые примеры 'Cost' вес ребра:
Длина пути
Время прохождения
Стоимость билета
'Cost' только применяется к 'closeness', 'outcloseness', 'incloseness', и 'betweenness' типы центрированности.
Пример: centrality(G,'closeness','Cost',c)
'FollowProbability' — Вероятность выбора узла преемника (значение по умолчанию) | скаляр между 0 и 1Вероятность выбора узла преемника, заданного как разделенная запятой пара, состоящая из 'FollowProbability' и скаляр между 0 и 1. Следовать вероятность является вероятностью, что следующий узел, выбранный в обходе алгоритмом PageRank, выбран среди преемников текущего узла, и не наугад от всех узлов. Для веб-сайтов эта вероятность соответствует щелчку по ссылке на текущей веб-странице вместо того, чтобы переместиться к другой случайной веб-странице.
'FollowProbability' только применяется к 'pagerank' тип центрированности.
Пример: centrality(G,'pagerank','FollowProbability',0.5)
'Importance' — Важность ребраВажность ребра, заданная как разделенная запятой пара, состоящая из 'Importance' и вектор неотрицательного веса ребра. ith вес ребра задает важность ребра findedge(G,i). Вес ребра нуля эквивалентен удалению того ребра из графика.
Для мультиграфов с несколькими ребрами между двумя узлами, centrality добавляют несколько ребер вместе и обрабатывают их как одно ребро с объединенным весом.
'Importance' вес ребра больше, когда связь более сильна. Некоторые примеры 'Importance' вес ребра:
Количество путешественников в день
Количество нажимает на ссылку
Количество бумаг опубликовано вместе
'Importance' только применяется к 'degree'outdegreeindegree, 'pagerank', 'eigenvector', 'hubs', и 'authorities' типы центрированности.
Пример: centrality(G,'degree','Importance',x)
'MaxIterations' — Максимальное количество итераций (значение по умолчанию) | скалярМаксимальное количество итераций, заданных как разделенная запятой пара, состоящая из 'MaxIterations' и скаляр. centrality запускам алгоритма до допуска соответствуют, или максимальное количество итераций достигнуто, какой бы ни на первом месте.
'MaxIterations' только применяется к 'pagerank', 'eigenvector', 'hubs', и 'authorities' типы центрированности.
Пример: centrality(G,'pagerank','MaxIterations',250)
'Tolerance' — Остановка критерия итеративных решателей1e-4 (значение по умолчанию) | скалярОстановка критерия итеративных решателей, заданных как разделенная запятой пара, состоящая из 'Tolerance' и скаляр. centrality запускам алгоритма до допуска соответствуют, или максимальное количество итераций достигнуто, какой бы ни на первом месте.
'Tolerance' только применяется к 'pagerank', 'eigenvector', 'hubs', и 'authorities' типы центрированности.
Пример: centrality(G,'pagerank','Tolerance',1e-5)
C — Баллы центрированности узлаБаллы центрированности узла, возвращенные как вектор-столбец. C(i) счет центрированности узла i. Интерпретация счета центрированности узла зависит от типа выбранного расчета центрированности. Чем более центральный узел, тем больше его счет центрированности.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.