模糊聚类算法分析及程序实现
模糊聚类的分析

聚类分析是近 10 年来发展迅速的一种新的数学方 法 , 采用这种方法可以定量 地确定研 究对象 之间的 亲疏关 系 , 从而达到对其合理分类的目的。由于客观事物之间的界限 往往不一定很清晰 , 把模糊数学引入聚类分析的研究 , 用以 处理具 有 模 糊 性 事 物 的 聚 类 问 题 无 疑 是 十 分 合 适 的。 FCM 在模糊聚类分析领域中 是一种较成 功的算 法[ 1~ 5] , 它 在执行算法中将实际构造出典型样品。
3
3. 1
分类方法分析
基于模糊聚类的客户分类方法
模糊 c 均值 ( F uzzy C M eans, 简称 FCM ) 算法是 一种 基于划分的聚类 算法 , 它是 对于 普 通 c 均 值算 法的 改 进。 普通 c 均值算法对于数据的划分是硬性的 , 而 FCM 则是一 种柔性的模糊划分。在客 户分类中 , 不 能确切 地说一 个客 户一定属于或一定不属于某一类别。当利用模糊聚类引入 了隶属度这一概念时 , 则可很 好地体 现这一 事实。模 糊聚 类结果可以得出某客户 属于不同 类别的 隶属度 , 能够 更有 效地帮助营销人员进行分析。 分类过程中引入权向量 , 它 考虑了指 标权 重对聚 类结 果的影响 , 在应用中更符合实际情况的需要。 下面介绍加权模糊 c 均值聚类算法 : 令 U = { u1 , u2 , , un } 为待分类的 n 个向量 , 每个向 量有 m 个指标。指 标的 权 重由 w = ( w 1 , w 2 , , w m ) T 表示。 FCM 把 n 个向量 u i ( i = 1, 2, , n) 分 为 c 个模糊 组 , 并求得聚类中心矩阵 V = ( v 1 , v 2 , , v c ) , 使得非相似 性指标的价值函数达到最小。 2, 设 ui k = w i , m, t = 1 , 2 , uki , v ti = w i v ti , k = 1, 2 , , c, 建立价值函数 : , n, i = 1 ,
模糊聚类流程

模糊聚类流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classicarticles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!模糊聚类流程1. 数据预处理- 对数据进行归一化或标准化,以消除不同变量之间的量纲差异。
fcm聚类算法python实现

FCM 聚类算法python 实现一、介绍在机器学习和数据挖掘领域,聚类是一种常用的数据分析技术,它将相似的数据点归类到同一个簇中。
FCM (Fuzzy C-Means )聚类算法是一种经典的模糊聚类算法,它基于模糊理论,允许数据点属于多个簇的程度不同。
本文将介绍FCM 聚类算法的原理,并使用Python 实现。
二、FCM 聚类算法原理FCM 聚类算法是一种迭代的聚类算法,它基于模糊理论,通过最小化目标函数来找到最优的聚类结果。
算法的基本思想是:对于每个数据点,计算其属于每个簇的隶属度,然后根据隶属度更新簇的中心,迭代直到收敛。
2.1 目标函数FCM 聚类算法的目标函数是一个关于隶属度和簇中心的函数,可以表示为:J m =∑∑u ijm cj=1n i=1||x i −v j ||2 其中,J m 是目标函数值,n 是数据点的个数,c 是簇的个数,u ij 是第i 个数据点属于第j 个簇的隶属度,m 是模糊参数,x i 是第i 个数据点,v j 是第j 个簇的中心。
2.2 隶属度更新在FCM 聚类算法中,隶属度表示数据点属于每个簇的程度。
隶属度的计算公式如下:u ij =1∑(||x i −v j ||||x i −v k ||)2m−1c k=1 其中,u ij 是第i 个数据点属于第j 个簇的隶属度,x i 是第i 个数据点,v j 是第j 个簇的中心,c 是簇的个数,m 是模糊参数。
2.3 簇中心更新在FCM 聚类算法中,簇中心表示每个簇的中心点。
簇中心的计算公式如下:v j =∑u ij m n i=1x i ∑u ijm n i=1其中,v j是第j个簇的中心,u ij是第i个数据点属于第j个簇的隶属度,x i是第i个数据点,n是数据点的个数,m是模糊参数。
三、Python实现接下来,我们将使用Python实现FCM聚类算法,并使用一个示例数据集进行演示。
3.1 导入库首先,我们需要导入一些常用的Python库,包括numpy和sklearn。
模糊c均值聚类算法及应用

模糊c均值聚类算法及应用随着数字化时代的到来,数据量的增加让人们变得更加注重数据分析与聚类。
相比较传统的聚类算法,模糊c 均值聚类算法在实际应用中的效果更加出色。
本文将对模糊c均值算法进行详细介绍,并且剖析其在实际应用中的优势。
一、什么是模糊c均值聚类算法模糊c均值聚类算法是一种基于物理学中的隶属度理论,来对不同种类数据进行分类的一种算法。
其基本原理是通过计算不同数据在所属类别中的隶属程度,并根据不同的权重来计算数据的均值和方差,从而实现对数据进行分类的目的。
在传统的c均值聚类算法中,所有的数据点都必须完全属于某一个类别中,而在模糊c均值聚类算法中,一个数据点可以属于多个不同的类别,且归属于每个类别的隶属度都是按照百分比计算的。
换句话说,每个数据点都有可能属于多个不同的类别,且在不同类别中的权重不同。
二、模糊c均值聚类算法的优势模糊c均值聚类算法在大量实验中都取得了理想的效果。
其优势主要有以下几个方面:1.能够适应不同数据的分布情况在聚类分析中,很多数据不是严格遵循正态分布等统计规律的,这就使得传统的c均值聚类算法很难准确分类。
然而,采用模糊c均值算法处理这些数据时,可以很好地适应多样性的数据分布。
2. 更准确地表达数据之间的联系在实际应用中,很多数据点不仅需要分类,还要进行关联性分析。
在传统的c均值聚类算法中,只能体现点与点之间的距离远近,很难准确刻画数据之间的关联关系。
而在模糊c均值聚类算法中,可以很好地给每个点进行加权处理,使得每个点被分类后能更加准确地表达和传达其所代表的信息。
3. 更加灵活的聚类动态传统的c均值聚类所表现出来的聚类动态,很难被实时地调整。
而模糊c均值聚类算法中,每个数据点都有一定的隶属度,可以更加灵活地调整聚类动态。
使用模糊c 均值求解,总是能得到的比传统c均值聚类更加的平滑,不容易受到某些噪音的干扰,更能够优化每个点的分类。
三、模糊c均值聚类算法的应用1. 人脸识别在人脸识别领域,模糊c均值算法可以有效地应用于人脸的分类和特征提取。
模糊聚类分析

模糊聚类分析引言模糊聚类分析是一种基于模糊理论的聚类方法,它可以处理数据中的不确定性和模糊性,并将数据点划分到不同的类别中。
相比于传统的硬聚类方法,模糊聚类能够更好地适应现实生活中复杂的数据分布和不完全的信息。
模糊聚类算法模糊聚类算法主要基于模糊C均值(FCM)算法和模糊子空间聚类(FSC)算法。
下面将分别介绍这两种算法的基本原理。
模糊C均值算法(FCM)模糊C均值算法是一种经典的模糊聚类算法,它通过最小化目标函数来找到数据集的最佳划分。
目标函数基于数据点到聚类中心的距离和每个数据点在每个聚类中心上的隶属度。
通过迭代优化隶属度矩阵和聚类中心,FCM算法可以得到最优的聚类结果。
模糊子空间聚类算法(FSC)模糊子空间聚类算法是一种基于模糊理论和子空间聚类的算法。
它考虑了数据在不同子空间中的不完全信息和模糊性,并利用这些信息进行聚类。
FSC算法首先将数据进行主成分分析,得到数据在每个子空间中的投影,然后通过优化模糊聚类目标函数来获得最佳的聚类结果。
模糊聚类的应用领域模糊聚类分析在许多领域都得到了广泛的应用。
下面以几个典型的应用领域为例进行介绍。
图像分割图像分割是计算机视觉领域中一个重要的问题,它的目标是将一个图像划分为不同的区域或物体。
传统的图像分割方法往往需要事先确定分割的类别和特征,而模糊聚类可以自动学习图像的特征并进行分割。
模糊聚类算法在图像分割中已经取得了一定的成果,并被广泛应用于医学图像分割、遥感图像分割等领域。
文本聚类文本聚类是将文本数据根据其语义和主题进行分类的任务。
模糊聚类可以考虑到文本中的模糊性和不确定性,能够更好地处理大规模文本数据并得到较为准确的聚类结果。
模糊聚类在文本挖掘、信息检索等领域有着广泛的应用。
生物信息学生物信息学是研究生物学的大规模数据集和生物信息的学科。
模糊聚类能够发现生物数据中的潜在结构和模式,从而帮助研究人员理解生物学中的复杂关系。
模糊聚类在基因表达数据分析、蛋白质序列分类等生物信息学研究中有重要的应用。
模糊 c 均值聚类算法

模糊 c 均值聚类算法概述模糊 c 均值聚类算法是一种基于模糊逻辑的聚类算法,其通过将每个数据点分配到不同的聚类中心来实现数据的分组。
与传统的 k-means 算法相比,模糊 c 均值聚类算法在处理数据集特征模糊和噪声干扰方面表现更好。
本文将详细介绍模糊 c 均值聚类算法的原理、优点和缺点,以及其在实际应用中的一些场景和方法。
原理模糊 c 均值聚类算法基于模糊集合理论,将每个数据点分配到不同的聚类中心,而不是像 k-means 算法一样将数据点硬性地分配到最近的聚类中心。
算法的核心是定义每个数据点属于每个聚类中心的权重,即模糊度。
具体而言,模糊 c 均值聚类算法的步骤如下:1.初始化聚类中心。
从输入数据中随机选择一些数据作为初始聚类中心。
2.计算每个数据点到每个聚类中心的距离。
可以使用欧氏距离或其他距离度量方法。
3.根据距离计算每个数据点属于每个聚类的模糊度。
模糊度是一个介于 0 和1 之间的值,表示某个数据点属于某个聚类的程度。
4.更新聚类中心。
根据数据点的模糊度重新计算每个聚类的中心位置。
5.重复步骤 2、3 和 4,直到聚类中心的位置不再发生明显变化或达到预定的迭代次数。
优点模糊 c 均值聚类算法相比传统的 k-means 算法具有以下优点:1.模糊度。
模糊 c 均值聚类算法可以为每个数据点分配一个模糊度值,这样可以更好地应对数据集中的噪声和模糊性。
而 k-means 算法仅将数据点硬性分配到最近的聚类中心。
2.灵活性。
模糊 c 均值聚类算法中的模糊度可以解释某个数据点同时属于多个聚类的情况,这在一些实际应用中可能是具有意义的。
3.鲁棒性。
模糊 c 均值聚类算法对初始聚类中心的选择相对不敏感,因此在大多数情况下能够获得较好的聚类结果。
缺点虽然模糊 c 均值聚类算法具有许多优点,但也存在一些缺点:1.计算复杂度。
模糊 c 均值聚类算法需要在每个迭代步骤中计算每个数据点与每个聚类中心的距离,这导致算法的计算复杂度较高。
模糊聚类分析 ppt课件

rij
xi • x j xi x j
1
xi
m
xi2k
2
,i
1,2,
,n
k1
• (3) 相关系数法
rij
m
xik xi
k1
m
(xik xi)2
k1
xjk xj
m
(xjk xj )2
k1
x i
1 m
m
x ik
k 1
x j
1 m
m
x jk
k 1
• (4) 贴近度法
• 当对象xi的特性指标向量xi=(xi1, xi2, , xim)为模 糊向量, 即xik[0, 1] (i=1,2, ,n ; k=1,2, ,m) 时, xi与xj的相似程度rij可看作模糊子集xi与xj的 贴近度。在应用中, 常见的确定方法有:最大最
X的一个分类的系列。这样, 在实际应用问题中 可以选择“某个水平”上的分类结果, 这就是模 糊聚类分析的理论基础。
• 实际问题中建立的模糊关系常常不是等价关系 而是相似关系, 这就需要将模糊相似关系改造为 模糊等价关系, 传递闭包正是这样一种工具。
• 定义 设RF(XX). 若R1F(XX)是传递的且满足: 1) RR1, 2) 若S是X上的模糊传递关系且RS, 必有R1S. 则称R1为R的传递闭包, 记为t(R). 模糊关系R的传递闭包是包含R的最小传递关系。
• 如上所述, 模糊相似矩阵R的传递闭包t(R)就是 一个模糊等价矩阵。以t(R)为基础而进行分类 的聚类方法称为模糊传递闭包法。
• 具体步骤如下: (1) 利用平方自合成方法求出模 糊相似矩阵R的传递闭包t(R); (2) 适当选取置信
水平值[0, 1], 求出t(R)的截矩阵t(R), 它是X
模糊聚类案例分析(DOC)

模糊数学方法及其应用论文题目:模糊聚类方法案例分析小组成员:王季光宋申辉兰洁陈倩芸肖仑杨洋吴云峰2013年10 月27 日模糊聚类分析方法1.1距离和相似系数为了将样品(或指标)进行分类,就需要研究样品之间关系。
目前用得最多的方法有两个:一种方法是用相似系数,性质越接近的样品,它们的相似系数的绝对值越接近1,而彼此无关的样品,它们的相似系数的绝对值越接近于零。
比较相似的样品归为一类,不怎么相似的样品归为不同的类。
另一种方法是将一个样品看作P 维空间的一个点,并在空间定义距离,距离越近的点归为一类,距离较远的点归为不同的类。
但相似系数和距离有各种各样的定义,而这些定义与变量的类型关系极大,因此先介绍变量的类型。
由于实际问题中,遇到的指标有的是定量的(如长度、重量等),有的是定性的(如性别、职业等),因此将变量(指标)的类型按以下三种尺度划分: 间隔尺度:变量是用连续的量来表示的,如长度、重量、压力、速度等等。
在间隔尺度中,如果存在绝对零点,又称比例尺度,本书并不严格区分比例尺度和间隔尺度。
有序尺度:变量度量时没有明确的数量表示,而是划分一些等级,等级之间有次序关系,如某产品分上、中、下三等,此三等有次序关系,但没有数量表示。
名义尺度:变量度量时、既没有数量表示,也没有次序关系,如某物体有红、黄、白三种颜色,又如医学化验中的阴性与阳性,市场供求中的“产”和“销”等。
不同类型的变量,在定义距离和相似系数时,其方法有很大差异,使用时必须注意。
研究比较多的是间隔尺度,因此本章主要给出间隔尺度的距离和相似系数的定义。
设有n 个样品,每个样品测得p 项指标(变量),原始资料阵为px x x np n n p p nx x x x x x x x x X X X X 2122221112112121 ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=其中(1,,;1,,)ij x i n j p ==为第i 个样品的第j 个指标的观测数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用最大最小法求 R
⎡ 1 ⎢ ⎢ 0 . 805 ⎢ ⎢ ⎢ 0 . 946 ⎢ ⎢ 0 . 784 ⎢ ⎢ ⎢ 0 . 925 ⎢ ⎢ 0 . 926 ⎢ ⎢ 0 . 843 ⎢ ⎢ ⎣ 0 . 843
0 . 805 1. 0 . 793 0 . 932 0 . 819 0 . 745 0 . 934 0 . 954
[1]
∑
i =1
c
ij
=1,即每一列中分别属于各类的隶属度之和为 1,对一个样本而言,它对各
类的隶属度之和为 1;
(3)
∑r
j =1
n
ij
> 0,即每一行的元素之和大于 0,这保证了每一类都必须有样本,即总有
一些样本不同程度的隶属于各类。 3、数据规格化 聚类分析输入的是一组未分类记录,并且这些记录应分成几类事先也不知道,通过分 析数据库中的记录数据,根据一定的分类规则,合理地划分记录集合,确定每个记录所在类 别。它所采用的分类规则是由聚类分析工具决定的。采用不同的聚类方法,对于相同的记录 集合可能有不同的划分结果。由于在一般情况下,所分不同类事物之间的界限不是分明的, 用传统的分类方法具有一定的局限性, 而用模糊聚类方法确定分类样品的亲疏关系, 从而得 到更为合理的分类。 由于特性指标的量纲和数量级都不相同, 致使对各特性指标的分类缺乏 一个统一尺度,为消除影响,需要对个各指标值实行数据规格化,从而使每一指标值统一于 某种共同的数值特性范围。
End Function Function min(a,b) dim t if(a>=b) then t=b else t=a min=t End Function Function max(a,b) dim t if(a>=b) then t=a else t=b max=t End Function Sub DisplayMatrix(multiplyMatrix,title) response.write "Matrix("&title&"):<BR>" for i=0 to UBOUND(multiplyMatrix) for j=0 to UBOUND(multiplyMatrix,2) response.write multiplyMatrix(i,j) & " " next response.write " <BR>" next End Sub dim a() redim a(10,10) …… dim c c=mMatrix(a) call DisplayMatrix(c,"C") %> 4、求相似关系矩阵 R 的传递闭包 R* 一般采用平方自成法。取 R 的乘幂:R2,R4,R8, …,若在某一步有 Rk=R2k=R*,…, 则 R*便是一个模糊等价关系,已具有传递性。这里 R2=R*R,(其它乘幂类似)遵守模糊矩 阵复合运算中的先取小后取大规则。 模糊方阵幂的定义:若 R 为 n 阶方阵,定义 R2 = R°R,R3 = R2°R,…,Rk = Rk-1 ° R。 B = (bkj)s×n, 定义模糊矩阵 A 与 其定义的根据是模糊矩阵的合成运算: 设 A = (aik)m×s, B 的合成为:A°B = (cij)m×n,其中 cij = ∨{(aik∧bkj) | 1≤k≤s}。 对于模糊方阵来说是同一个矩阵,即 A 和 B 是同一个矩阵,那么式 cij = ∨{(aik∧bkj) | 1≤k≤s}可以写为: rij = ∨{(aik∧akj) | 1≤k≤s} 其中 i 和 j 的变化为从 0~n-1,k 的变化从 1~n-1。 ’从数据库中读取数据到数组 call DisplayMatrix(a,"A")
[1]
⎧1 x i ∈ j ⎩0 x i ∉ j
矩阵 R 具有如下性质: (1)R={0,1},即 R 是一个布尔矩阵; (2)
∑r
i =1
n
c
ij
=1,即每一列有且仅有一个元素为 1,这一性质保证了每一个样本只能划归
到其中的一类中去; (3)
∑r
j =1
ij
> 0,即每一行的元素之和大于 0,这保证了每一类不空,且一类中可以有
document.write(' }
');
document.write('<BR>'); } document.write(aEg.length); document.write('<BR>'); for (i=0; i < c.length; i++) { for (j=0; j < c[i].length; j++) { document.write(c[i][j]); document.write(','); } document.write('<BR>'); } </script> 5、适当选取 λ 截割传递闭包,对被分类对象进行动态聚类。λ 是 R 中的隶属度,选择 不同的隶属度使样本分为不同的 C 类。 聚类就在已建立的模糊等价关系矩阵上,给定不同的λ水平进行截取,从而得到不同 的分类。λ越小,分的类就越少、越粗;λ越大,分的类就越多、越细。当取最优的λ值 时,得到最合理的分类体系。 6、下面以 10 名教师某学期各种评价指标的得分组建数字模型 教师编号 T1 T2 T3 T4 T5 T6 T7 T8 学生评价 90 70 85 65 80 96 80 75 督导组 80 65 90 70 90 90 70 70 系部评价 80 68 78 66 80 90 65 68 同行评价 88 69 90 70 82 89 70 72 减分 90 80 95 80 87 90 85 81 加分 91 85 90 82 88 88 90 82 总分 519 437 528 433 507 543 460 448
0 . 946 0 . 793 1 0 . 773 0 . 957 0 . 934 0 . 831 0 . 831
0 . 784 0 . 932 0 . 773 1 0 . 798 0 . 726 0 . 93 0 . 93
0 . 925 0 . 819 0 . 957 0 . 798 1 0 . 91 0 . 858 0 . 858
模糊聚类算法分析及程序实现
山东工业职业学院 彭丽英 董佳佳 摘要:本文详细介绍了模糊聚类算法的产生过程以及应用模糊聚类算法进行模糊分析的 ASP 代码,最后
通过一个具体的实例,对模糊聚类算法进行了验证。
关键词:普通聚类
模糊聚类
最大最小法
代码
由于客观事物之间的界限往往是不清晰的, 用模糊数学的聚类分析处理具有模糊性事物 的聚类问题是十分合适的。所以,近几年,模糊聚类分析在模式识别、数据挖掘、计算机视 觉以及模糊控制等领域的应用越来越广泛, 所以它成为研究的热点。 但在一般的资料中对聚 类算法的介绍都比较粗略,更缺少代码,本文除了对算法进行了详细介绍外,还提供了相关 代码。 在模糊聚类分析中,首先要计算模糊相似矩阵,即建立样本间的模糊关系,而模糊聚类 是在普通聚类的基础上产生的。 1、普通聚类 设被分类对象的集合为 X={x1,x2,⋯,xn},其中每一个元素 xi,i =1,2,...n,都有 m 个特性 指标,即 x={xi1,xi2,⋯,xim} 如果要把 X 分成 C 类,则它的每一个分类结果都对应一个 c×n 阶 0-1 矩阵 R={rij},其 中 rij = ⎨
多个样本。 2、模糊聚类 在普通聚类的基础上,人们提出了模糊聚类(软聚类)的概念,认为被分类对象集合 X 中的样本 xi ,i=1,2,…,n 以一定的隶属度隶属于某一类,也就是说,所有的样本都分别以不 同的隶属度隶属于某一类。因此,每一类就认为是样本集合 X 上的一个模糊子集,于是每 一种这样的分类结果所对应的分类矩阵,就是一个模糊矩阵 R。 该分类矩阵满足下列三个条件: (1) xij ∈ [0,1] ,即分类矩阵元素在 0 和 1 之间取值; (2)
redim multiplyMatrix(UBOUND(a),UBOUND(a,2)) for i = 0 to UBOUND(a) for j = 0 to UBOUND(a,2) s=0 s1=0 if(i=j) then multiplyMatrix(i,j)=1 for k = 1 to UBOUND(a,2) s1=s1+min(a(i,k),a(j,k)) s=s+max(a(i,k),a(j,k)) next multiplyMatrix(i,j)=s1/s next next mMatrix = multiplyMatrix
其主要 JavaScript 代码: <script language="JavaScript"> var aEg = new Array( [1,0.97,0.97,0.98,0.97,0.98,0.97,0.97,0.97,0.98], [0.97,1,0.97,0.96,0.97,0.96,0.97,0.97,0.96,0.96], [0.97,0.97,1,0.96,0.97,0.96,0.97,0.97,0.96,0.96], [0.98,0.96,0.96,1,0.96,0.99,0.96,0.96,0.97,0.99], [0.97,0.97,0.97,0.96,1,0.96,0.98,0.97,0.96,0.96], [0.98,0.96,0.96,0.99,0.96,1,0.96,0.96,0.97,0.99], [0.97,0.97,0.97,0.96,0.98,0.96,1,0.97,0.96,0.96], [0.97,0.97,0.97,0.96,0.97,0.96,0.97,1,0.96,0.96], [0.97,0.96,0.96,0.97,0.96,0.97,0.96,0.96,1,0.97], [0.98,0.96,0.96,0.99,0.96,0.99,0.96,0.96,0.97,1]); var i, j, k, m, b; var c=new Array( [0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]); for (i=0; i < aEg.length; i++) { for (j=0; j < aEg[i].length; j++) { if(i==j) {c[i][j]=1;} else { m=0.0; for (k=1; k < aEg.length; k++) {b=Math.min(aEg[i][k],aEg[k][j]); m=Math.max(m,b); } c[i][j]=m; } }} for (i=0; i < aEg.length; i++) { for (j=0; j < aEg[i].length; j++) { document.write(aEg[i][j]);