最近看了篇Paper(Hyperspectral Image Classification Through Bilayer
Graph-Based Learning),里面出现了一个超图(Hypergraph)的概念,在这里对它的概念进行说明。

超图(Hypergraph)是什么

简单的来说,对于我们熟悉的图而言,它的一个边(edge)只能和两个顶点连接;而对于超图来讲,人们定义它的边(这里叫超边,hyperedge)可以和任意个数的顶点连接。一个图和超图的示意图如下所示:

而对于超图的一个严格的数学定义,维基百科上是这样写的:

在数学中,超图是图的一般化。对于超图来说,它的一条边可以连接任意数量的顶点。正式的说,超图H可以表示为H=(X,E),X为元素的集合,成为节点或顶点,E是X的一组非空子集,成为超边。(In
mathematics, a hypergraph is a generalization of a graph, where an edge can connect any number of vertices. Formally, a hypergraph H is a pair H = (X,E) where X is a set of elements, called nodes or vertices, and E is a set of non-empty subsets of X called
hyperedges or links.)

k-均匀超图(k-uniform hypergraph)

对于超图而言,还有一个k-均匀超图的概念(k-uniform hypergraph)。它指超图的每个边连接的顶点个数都是相同的,即为个数k。所以2-均匀超图就是我们传统意义上的图,3-均匀超图就是一个三元组的集合,以此类推。

While graph edges are pairs of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often useful to study hypergraphs where all hyperedges have the same cardinality: a k-uniform hypergraph
is a hypergraph such that all its hyperedges have size k. (In other words, it is a collection of sets of size k.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of triples, and so on.

版权声明:本文为博主原创文章,未经博主允许不得转载。

Hypergraph Models超图模型的更多相关文章

  1. Django models文件模型变更注意事项(表结构的修改)

    表结构的修改 1.表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错 比如第一次建模型,漏了一个字段,后来补上了.(经常遇到模型字段修改) 重新ma ...

  2. Django 1.10 中文文档------3.2.1 模型Models

    3.2.1 models模型 通常一个模型映射一张单独的数据表. 基本概念: 每个model都是django.db.models.Model的子类 model的每个属性代表数据表的某一列 Django ...

  3. Knockout 新版应用开发教程之创建view models与监控属性

    最近抽出点时间研究MVVM,包括司徒正美的avalon,google的angular,以及Knockout,博客园Tom的Knockout指南 时隔2年了,ko更新了不少,所以文档也相应的变化了,所以 ...

  4. 第五章:最后一步准备,1.8的Json模型、状态描述机制详解

    <基于1.8 Forge的Minecraft mod制作经验分享> 1.8的所有纹理材质都需要一个Json来对其描述,这一块感觉是各大神的教程里面涉及最少最浅的,我就斗胆在这分享下我研究了 ...

  5. 【ASP.NET Web API教程】2.3.2 创建域模型

    原文:[ASP.NET Web API教程]2.3.2 创建域模型 Part 2: Creating the Domain Models 第2部分:创建域模型 本文引自:http://www.asp. ...

  6. 模型的继承 -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  7. PGM:有向图模型:贝叶斯网络

    http://blog.csdn.net/pipisorry/article/details/52489270 为什么用贝叶斯网络 联合分布的显式表示 Note: n个变量的联合分布,每个x对应两个值 ...

  8. 命令生成所有数据库表模型以及 CRUD

    将下列代码写到文件复制到项目 console\controller 目录下: <?php namespace console\controllers; use Yii; use yii\cons ...

  9. Django学习笔记之数据库-数据库与模型

    MySQL数据库 在网站开发中,数据库是网站的重要组成部分.只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面.数据库有很多,比如有SQL Server.Oracle.Postgr ...

随机推荐

  1. counting the buildings - 第一类斯特灵数

    2017-08-10 21:10:08 writer:pprp //TLE #include <iostream> #include <cstdio> #include < ...

  2. 01_HBase概述

    1. HBase在Hadoop生态圈中的位置 问题:HBase 是什么,用在哪里,解决什么样的问题? 解答: 1)简单来说, HBase 是一种类似于面向列的分布式数据库(集群), 底层利用HDFS ...

  3. java将配置信息写在数据库(利用反射)

    Demo出处: 1. package com.fpx.pcs.prealert.process.xml.service.impl; public class CainiaoPushMessageSer ...

  4. Qt5.3中qml ApplicationWindow设置窗口无边框问题

    这个版本的qt在这里有点bug.. 设置ApplicationWindow的flags属性为Qt.FramelessWindowHint的确可以使程序无边框,但是同时程序在任务栏的图标也没了. 看文档 ...

  5. iOS-不用微信SDK唤起微信支付

    作者:TianBai 原文链接:http://www.jianshu.com/p/8930b4496023 要想知道微信SDK是如何调起微信客户端,那么咱们先看看微信SDK到底做了什么 前期准备 接入 ...

  6. Oracle 反应太后知后觉了.

    很久已经提过一个SR,关于BES一个用户可以用两个密码登陆EBS系统的问题,但是SR解决太慢,而且一致强调你们的版本太低,需要升级到最新的版本,考虑客户化的问题,我们的版本没有升级(R2.1.1),无 ...

  7. Last_SQL_Errno: 1062

    Last_SQL_Errno: 1062: Last_Error: Error 'Duplicate entry '212' for key 'PRIMARY'' on query. Default ...

  8. 多线程-Thread、Runnable 创建线程和调用过程分析

    创建线程的两种方式: 1:创建Thread类的子类 ---基于继承的技术 . 2:以Runnable接口实例为构造参数直接通过new  创建 Thread 实例.---基于组合的技术. public ...

  9. Draggable拖动

    Draggable(拖动)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 EasyUI中Draggable(拖动)组件的使用方法,这个组件不依赖于其他组件. 1.加载方式 / ...

  10. zset类型以及其操作

    sorted set类型 sorted sets类型以及其操作zset是set的一格升级版本,它在set的基础上增加了一格顺序属性,这一属性在添加元素的同时可以指定,每次指定后,zset会自动重新按照 ...