基本互联网(ICN)函数及表示

简介:  对于互联网络的设计,通常是希望其结构不要过分复杂以降低成本,能提供连接的很大灵活性以满足算法以及应用的需要,提高其性能。同时还希望这种互联网络又可以通过使用一系列规整单一的基本构件组合而成, 或者经多次通过, 或者经多级连接来实现复杂的互联,模块性好,以便于用大规模集成电路来实现。   7.2.1 互联函数的表示   为了反映不同互联网络的连接特性,每种互联网络可用一组互联函数来定义。如果
 对于互联网络的设计,通常是希望其结构不要过分复杂以降低成本,能提供连接的很大灵活性以满足算法以及应用的需要,提高其性能。同时还希望这种互联网络又可以通过使用一系列规整单一的基本构件组合而成, 或者经多次通过, 或者经多级连接来实现复杂的互联,模块性好,以便于用大规模集成电路来实现。

  7.2.1 互联函数的表示

  为了反映不同互联网络的连接特性,每种互联网络可用一组互联函数来定义。如果把互联网络的N个入端和N个出端分别用整数0,1,…,N-1来表示, 则互联函数就是表示互联网络的出端号和入端号的一一对应关系。 令互联函数为f,则它的作用是:对于所有的0≤j≤N-1,同时存在入端j连至出端f(j)的对应关系。当互联函数用来实现处理机之间数据变换时,互联函数也反映了网络输入数组与输出数组间对应的排列关系或者为置换关系。互联函数有三种表示法,一种是输入输出对应表示法,一种是循环表示法,另一种是函数表示法。

  1.输入输出对应表示法

  这种表示法把互联函数表示为:
          
  这就是说0变换为f(0), 1变换为f(1),…,N-1变换成f(N-1), f是互联函数。例如,N=8,均匀洗牌函数的这种表示形式为:
          

  2.循环表示法

  把互联函数函数f(x)表示为(X0X1X2…Xj…Xk-1)其中k≤N, 循环表示有下列对应的函数关系f(X0)=X1,f(X1)=X2,……,f(Xj)=Xj+1,……f(Xk-1)=X0
  其中Xi为结点编号,这里k为循环长度。

  3.函数表示法

  这里用x表示输入变量,用f(x)表示互联函数,常常把输入端x和输出端f(x)都用二进制编码表示,从中看出对应的函数关系和规模,写出表达式。
  如x:{bn-1bn-2…bi…b0}互联函数对应地表示为f(bn-1bn-2…bi…b0)。
  例如交换置换写为
      
  它表示实现式二进制地址编号中第0位位值不同的输入端和输出端之间连接。
  直接画出输入结点和输出结点互联拓扑结构图,称为互联结构图法,后面将介绍。

  7.2.2 几种基本的互联函数

  下面介绍常用的基本互联函数、它们的函数表达式以及主要的特征。以下例子中,用N表示节点数目, 当用二进制表示这些节点号码时,将用n位二进制数表示,其中n=LOG2N

  1.恒等置换

  相同编号的输入端与输出端一一对应互联所实现的置换即为恒等置换,其表达式为:
       
  其中等式左边括号内的Xn-1Xn-2…X1X0和等式右边的Xn-1Xn-2…X1X0均为网络输入端和输出端的二进制地址编号。这种置换完成的变换图形如7.2.1所示。图的左部为输入端,右部为输出端。

  2.交换置换

  交换置换是实现二进制地址编号中第0位位值不同的输入端和输出端之间的连接。其表达式为:
      
  它所实现的输入端与输出端的互联图形见图7.2.2。

  3.方体置换

  方体置换是实现二进制地址编号中第k位位值不同的输入端输出端之间的连接。其表达式为:
 
  这是上述交换置换的一般情形。它应有n个方体置换,如以N=8为例,则有
   这里是实现二进制第0位的方体变换
   这里是实现二进制第1位的方体变换
   这里是实现二进制第2位的方体变换
  其变换图形见图7.2.3,其中即C0为交换置换。

  4.均匀洗牌置换

  均匀洗牌置换是将输入端分成数目相等的两半,前一半和后一半按序一个隔一个地从头至尾依次与输出端相连,这好比洗扑克牌时,将整副牌分成相等的两叠来洗,以达到理想的一张隔着一张的均匀情况, 故称为均匀洗牌置换,或简称为洗牌置换, 其函数关系可表示为:
     
  由此表达式可见,洗牌变换是将输入端二进制地址循环左移一位即得到对应的输出端二进制地址。
  逆均匀洗牌是均匀洗牌的逆函数, 它完成的变换图形如图7.2.4所示。两者的输入端和输出端正好互换了位置,其函数表达式为:
     
  这就说明逆洗牌是将输入端二进制地址编号循环右移一位即得到相应的输出端地址。均匀洗牌与逆均匀洗牌是两种十分有用的互联函数,以它们代表的链路与以交换置换代表的开关多级组合起来可构成Omega(Ω)网与逆Omega(Ω-1)网络。σ函数在实现多项式求值、矩阵转置和FFT等并行运算以及并行排序等方面都得到广泛的应用。

  5.蝶式置换

  蝶式置换的名称源于FFT 变换的实现时图形的形状如蝴蝶式样。它被定义为:
      
  这种置换是将输入端二进制地址的最高位和最低位互换位置即可求得相应输出端的地址。同样, 可定义子蝶式(subbutterfly)β(k)置换和超蝶式置换β(k)如下:
 

  β(k)置换将输入端二进制地址第k位和最低位互换位置求得输出端地址。而β(k)是将输入端第n-k-1位和最高位互换位置求得输出端地址,图7.2.5给出N=8的蝶式β(2)、β(2)变换图。

  6.移数置换

  移数置换是将输入端数组循环移动一定的位置向输出端传输。其函数表达式无需用二进制编号来写,可表达如下:
          a(X)=(X+k)mod N,0≤X≤N
  k为常数, 指移动的位置值,也可以将整个输入数组分成若干个子数组,在子数组内进行循环移数置换,这种段内循环移数的表达式可写成为两个式子如下:
       a(X)(r-1):0=((X)(r-1):0+k) mod 2r
       a(X)(n-1):r=(X)(n-1):r
  其中下标(n-1):r和(r-1):0分别指从n-1位到r位和从r-1到0位。
  循环移数的变换图形见图7.2.6, 这种变换在实现并行计算和图像处理中很有用。

  7.加减2i(PM2I)置换

  加减2i置换实际上是一种移数置换包含2N个互联函数,其表达式为:
      
  图7.2.7给出了这一函数的变换图像, 它是构成数据变换网络的基础。



相关文章
|
8月前
|
人工智能 安全 机器人
只需3步:OpenClaw(Clawdbot)部署教程——阿里云轻量应用服务器傻瓜式教程
阿里云轻量服务器一键部署OpenClaw(原Clawdbot)/Moltbot教程:仅需3步——选Moltbot镜像、开通百炼API-Key、放行18789端口并配置,2核2G低配年付38元,支持钉钉/飞书/QQ等多平台接入,打造个人AI员工。
791 9
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
5884 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
8月前
|
存储 人工智能 安全
2026年OpenClaw(Clawdbot)一键部署阿里云官方步骤流程(超详细)
2026年,AI自动化工具迎来全民普及,OpenClaw凭借“自然语言指令+任务自动化”的核心优势,成为个人与轻量团队搭建专属AI助手的首选。其前身为Clawdbot、Moltbot,历经版本迭代后,统一命名为OpenClaw,功能更完善、适配性更强。阿里云为其量身打造了专属一键部署方案,通过预置镜像、简化流程设计,彻底打破技术门槛,无需用户掌握编程技能、无需手动配置复杂环境,零基础新手仅需跟随步骤操作,15分钟内即可完成部署,快速拥有7×24小时在线的专属AI助手。
1223 0
|
10月前
|
Java 大数据 Maven
Excel工具-HUTOOL-输出Excel
Hutool封装Excel写出功能,提供ExcelWriter和BigExcelWriter,支持写入List、Map、Bean等数据类型,可自定义样式、标题别名、多Sheet导出,并解决大数据量内存溢出问题,操作简便且高效。
|
存储 文件存储 Windows
小白尖叫!DeepSeek安装竟偷占C盘?这样做路径配置 直接根治存储焦虑
惊! 完蛋了! DeepSeek占满了我的C盘~~~~ DeepSeek让我C盘爆炸~~~再见了,DeepSeek
小白尖叫!DeepSeek安装竟偷占C盘?这样做路径配置 直接根治存储焦虑
基于springboot的毕业旅游一站式定制系统
本系统基于Spring Boot、Vue等技术,构建毕业旅游一站式定制平台,整合旅游资源,利用大数据与人工智能实现个性化行程规划,满足毕业生多样化需求,提升旅游体验与行业效率。
|
Shell 数据安全/隐私保护
Mac上HomeBrew安装及换源教程
【8月更文挑战第30天】这是在 Mac 上安装及更换 Homebrew 源的教程。首先通过终端执行命令 `/bin/bash -c "\$\(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh\)` 安装 Homebrew,并使用 `brew --version` 检查是否安装成功。接着可更换软件源以提高下载速度,例如设置中科大为源,并更新相关设置。这将有助于提升 Homebrew 的使用体验。
3805 10
|
测试技术 项目管理 UED
产品经理-面试问题(初级)
本文整理了AxureMost的初级产品经理面试问题,涵盖工作流程、B端/C端/G端产品区别、需求评估与优先级划分、产品经理所需能力、职业规划等方面。详细解析了如何从需求分析到产品上线的全流程管理,强调逻辑、沟通、文档、学习及项目管理等核心能力,并探讨了成功产品的标准和用户需求转化方法。适合准备产品经理面试的读者参考。
671 7
|
应用服务中间件 开发工具 nginx
安装 Nginx 修改默认端口
用远程工具连接我们上次购买的机器,这里我要介绍一个知识点,博主使用的工具是 MobaXterm,这个工具有一个多操作的功能,在下图的位置可以开启多操作,然后连接你的服务器机子即可:
771 0
|
Linux TensorFlow 算法框架/工具
linux下anaconda换源
linux下anaconda换源
2564 1

热门文章

最新文章