结论:

当有break point时,$m_H(N)=O(N^{k-1})$

bounding function:
当break point = k,时成长函数$m_H(N)$的上限
这样可以忽略假设集的不同,只考虑break point=k,
N个点时,最多有几种0,1的组合(任意的k各点不能shatter)

$B(N,k)$ 表示有N各点,任意k各点不能shatter,最大的组合情况
可以想像成(N-1)各点的情况下再加入一个点,对于N-1个点的各种情况,
有些情况(假设有$\alpha$种),对于加入的那点可以有0 x两种情况
有些情况(假设有$\beta$种),对于加入的那点只有一种情况 o或x

则$B(N,k) = 2\alpha+\beta$,
其中$\alpha + \beta \leq~ B(N-1,k)$

对于那些可以加入o和x两种点的情况($\alpha$种),
这N-1个点,任意k-1各点不能shatter,因为如果shatter了,
加上新加入的一个点,就会出现N个点,有k各点shatter的情况
所以$\alpha \leq !~ B(N-1,k-1)$
所以有$B(N,k) \leq~B(N-1,k-1)+B(N-1,k)$
画出表格,可得如下表格:

证明:$B(N,k) \leq~\sum_{i=0}^{k-1}\binom{N}{i} $
提示:$\binom{n+1}{m}=\binom{n}{m}+\binom{n}{m-1}$
$B(N,k) \leq~B(N-1,k-1)+B(N-1,k) \leq~ \sum_{i=0}^{k-2}\binom{N-1}{i}+\sum_{i=0}^{k-1}\binom{N-1}{i}\\=\binom{N-1}{0}+...+\binom{N-1}{k-2}+\binom{N-1}{0}+...+\binom{N-1}{k-2}+\binom{N-1}{k-1}\\=\binom{N-1}{0}+\binom{N-1}{0}+\binom{N-1}{1}+\binom{N-1}{1}+\binom{N-1}{2}+...+\binom{N-1}{k-2}+\binom{N-1}{k-1}\\=\binom{N-1}{0}+\binom{N}{1}+...+\binom{N}{k-1}\le~\binom{N}{0}+\binom{N}{1}+...+\binom{N}{k-1}\\=\sum_{i=0}^{k-1}\binom{N}{i}$

break point的更多相关文章

  1. continue break 区别

    在循环中有两种循环方式 continue , break continue 只是跳出本次循环, 不在继续往下走, 还是开始下一次循环 break  将会跳出整个循环, 此循环将会被终止 count = ...

  2. C# 中Switch case 返回不止用break

    Switch(temp) { case "A": //跳出循环 break; case "B": //返回值 return var; case "C& ...

  3. jquery each函数 break和continue功能

    jquery each函数 break和continue功能幸运的是另一个突破,持续一个jQuery循环方式.你可以打破在函数返回一个jQuery参数虚假循环.一个可以继续执行只是在做不指定返回值或返 ...

  4. [LeetCode] Integer Break 整数拆分

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  5. [LeetCode] Word Break II 拆分词句之二

    Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...

  6. R for循环之break,next

    next跳出本次循环 break跳出本层循环(当有多个for 循环时,即跳出最近的一个for循环)

  7. 关于break语句如何结束多重循环的嵌套

    在Java中的break语句功能大体上同c语言, 用于循环语句中,表示结束当前循环. 但是有时候在循环嵌套语句中,仅仅靠一 个break语句想实现是不够的. 例: 如果想使sum在501时就直接输出, ...

  8. break与continue的区别

    break       在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. continue   的作用是仅仅跳过本次循环,而整个循环体继 ...

  9. 高程(3):操作符、for、for...in循环、break/continue/return语句、函数等

    1.关系操作符 注意点:1)比较操作数是两个字符串,是比较字符串的字符编码值. 如:"a" > "b"  返回 false:"a" & ...

  10. case break结构与return的有关要点

    //确认事件 private void cmd_ok_Click(object sender, EventArgs e) { //客户名称是否为空 if (txt_banhao.Text.TrimEn ...

随机推荐

  1. 解决C/C++程序执行一闪而过的方法(三种办法)

    简述 在VS编写控制台程序的时候,包括使用其他IDE(Visual C++)编写C/C++程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上system(“pause”).g ...

  2. linux之SQL语句简明教程---WHERE

    我们并不一定每一次都要将表格内的资料都完全抓出.在许多时候,我们会需要选择性地抓资料.就我们的例子来说,我们可能只要抓出营业额超过 $1,000 的资料.要做到这一点,我们就需要用到 WHERE 这个 ...

  3. 杭电oj 2719

    Tips:本程序没有什么难度,只要按照逻辑进行替换即可,需要注意的是,由于输入串中含有空格符号,所以不能使用scanf("%s",ch);来读取一串,可以使用gets()函数读取一 ...

  4. 开源 iOS 项目分类索引大全

    GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义 ...

  5. Connect the Cities(prime)

    Connect the Cities Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) ...

  6. skynet-源码分析1:目录下的文件整理

    skynet是c和lua结合的一个开源游戏引擎,是云风所写,对我等屌丝来说,是很好的参考 先整理一下文件结构,然后再慢慢深入 主目录下有10个目录,105个文件, 具体包含的情况,我简单画了个图,明天 ...

  7. Appium Android Bootstrap控制源代码的分析AndroidElement

    通过上一篇文章中<Appium Android Bootstrap源代码分析之简单介绍>我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一 ...

  8. python基础教程_学习笔记14:标准库:一些最爱——re

    标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...

  9. 如何实现在O(n)时间内排序,并且空间复杂度为O(1)

    对于常见的排序算法,很难做到在O(n)时间内排序,并且空间复杂度为O(1),这里提供了一种方法可以达到要求. 可以使用哈希排序的思想,也就是将所有的数哈希到哈希表中,实现排序.具体的算法思想是,求出这 ...

  10. 线上应用故障排查之一:高CPU占用

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank ...