春天有什么花开| 组胺过敏是什么意思| 男士私处瘙痒用什么药| 正桃花是什么意思| 口苦口臭挂什么科| 腐竹是什么做的| 4月29号是什么星座| 游泳是什么运动| 二月九号是什么星座| 金银花主治什么| 梦见烧火做饭是什么意思| 越南讲什么语言| 前门大街有什么好玩的| 孕吐反应什么时候开始| aoa是什么意思| 麻鸭是什么鸭| 颜值控是什么意思| 脑白质脱髓鞘是什么意思| 腊肉配什么菜炒好吃| 什么情况下吃救心丸| 醉清风是什么意思| 炼乳可以做什么美食| 低氧血症是什么意思| 毕业穿的衣服叫什么| 8月11号是什么星座| 什么的雾霾| 蓝色与什么色搭配好看| 新车上牌需要什么资料| religion什么意思| 5月16日是什么星座| 为什么会长息肉| 玉米有什么功效| 猫摇尾巴是什么意思| 运钞车押运员是什么人| 鸡蛋不能和什么食物一起吃| 送终是什么意思| 补脑吃什么| 和可以组什么词| 耳朵不舒服是什么原因| 心脑供血不足吃什么药效果最好| 肚子突然疼是什么原因| 15度穿什么衣服| 烂好人什么意思| 吃什么能排毒体内毒素| 七月与安生讲的是什么| 蚊子爱咬什么样的人| 甲亢能吃什么| 就诊卡号是什么| 躯体症状是什么| 苦荞茶喝了有什么好处| 掉头发吃什么维生素| 大张伟的真名叫什么| 双喜临门是什么生肖| 甲亢吃什么盐好| 太岁是什么东西| 上海月薪三万什么水平| 菌痢的症状是什么样| siri是什么意思| 啾是什么意思| 11月份是什么季节| doki是什么意思| 1月12号是什么星座| 多梦吃什么药| 老人生日送什么礼物好| 头发为什么会变黄| 情人眼里出西施是什么意思| 胆囊炎要吃什么药| 卵巢早衰是什么意思| okr是什么| 脾胃虚寒吃什么药好| 老年人心跳过快是什么原因| 耽美剧是什么意思| 鼻涕带血是什么原因| 今天是什么日子老黄历| 空调一级能效什么意思| 高字是什么结构| 粟米是什么米| 用什么香皂洗脸可以祛痘| amy是什么意思| 创客是什么意思| 肚脐眼左边疼是什么原因| 帅t是什么意思| 男人都喜欢什么样的女人| 髂静脉在什么位置| 腺样体肥大挂什么科| gcp是什么| 梦到捡金子首饰是什么意思| 梦见小猪仔什么意思| 声字五行属什么| 鸡子是什么| 寒风吹起细雨迷离是什么歌| 羊水多了对宝宝有什么影响| 什么食物含叶黄素最多| smz是什么药| 肺热咳嗽吃什么药| 小腹左边疼是什么原因| 脚底有痣代表什么意思| 证件照一般是什么底色| apm是什么意思| 眉什么眼什么| 四月是什么月| 美版苹果和国行有什么区别| 梦见发工资了是什么意思| 氯雷他定什么时候吃| 变态反应科是看什么病的| 心脏t波改变是什么意思| 软下疳是什么症状| 手上起水泡是什么原因| 舞蹈考级有什么用| 反流性食管炎吃什么中成药最好| 人活一辈子到底为了什么| 南瓜和什么相克| 犀利什么意思| 衣原体感染有什么症状| 骞是什么意思| 过敏性鼻炎吃什么| 手心热吃什么药| 木耳炒什么好吃| 令堂什么意思| loa是什么意思| 浑身没劲挂什么科| 看什么| 什么动物吃蛇| 势利眼的人有什么特征| 气管憩室是什么意思| 坐车晕车是什么原因| 男人时间短吃什么药好| 蚊子最怕什么| 圆圆的什么| 2月15号是什么星座| 孩子咬指甲什么原因| 食道炎吃什么药好| 你代表什么意思| 为什么会尿酸高| 五月11号是什么星座| 后背疼是什么病| 小螳螂吃什么| 儿童嗓子哑吃什么药| 助力油是什么油| 别出心裁的裁是什么意思| 观音菩萨原名叫什么名| 什么是飘窗| 俯卧撑有什么好处| 阴道放气是什么原因| 秋葵有什么功效| 增强免疫力吃什么药| 天蝎和什么星座最配对| 武汉有什么好玩的| 八面玲珑什么生肖| 省油的灯是什么意思| 身上痒什么原因| 工匠精神是什么| 长期熬夜会得什么病| 1957年属什么| 咽喉异物感吃什么药| 得罪是什么意思| 牙疼吃什么消炎药| 梦到活人死了是什么预兆| 煞星是什么意思| 氯化钠敷脸有什么作用| 吃什么变碱性体质最快| 喝什么能减肥| 什么什么斜斜| 身份证最后一位代表什么| 脚踝肿什么原因| 什么是抗生素| phicomm是什么牌子| 过年送什么礼物好| 牙齿经常出血是什么原因| 优五行属性是什么| 深喉是什么意思| 早上喝牛奶有什么好处| 嘴唇紫红色是什么原因| model是什么牌子| 甲床是什么| 小水滴会变成什么| 什么食物含碘| 女人每天吃什么抗衰老| 女右上眼皮跳是什么预兆| 喉咙发苦是什么原因造成的| 内裤发黄是什么原因| 抖m什么意思| 吃喝拉撒是什么意思| 知青是什么| 谷丙转氨酶偏高吃什么好| 经常手瘾吃什么药| 宝宝为什么打嗝| 梦见跳舞是什么意思| 汐五行属性是什么| mmc什么意思| 白虎什么意思| 属狗适合佩戴什么饰品| 右侧附件区囊性回声是什么意思| 吃什么药头脑立刻清醒| 椰子水是什么味道| 1946属什么生肖| 三伏贴是什么| 胃疼看病挂什么科| 子宫后壁低回声是什么意思| 月经一个月来两次是什么原因| 540是什么意思| 6个月宝宝可以吃什么辅食| 吃完榴莲不能吃什么| 肝功能七项是检查什么| 7.21是什么日子| 主动脉瓣退行性变是什么意思| hbsab是什么意思| nlp是什么| 什么药不能喝酒| 腿没有劲是什么原因| 共襄盛举是什么意思| 艾滋病是一种什么病| 预防更年期提前应该吃点什么药| 大象的鼻子像什么| 1月29日是什么星座| 泡黄芪水喝有什么好处| 梦见长豆角是什么意思| 麝香是什么东西| 大学休学1年有什么影响| 腐败什么意思| 穆斯林为什么不吃猪肉| 吃完虾不能吃什么水果| 尿囊素是什么| 急性会厌炎吃什么药| 香港买什么便宜| 散光轴位是什么意思| 珍惜眼前人是什么意思| 人为什么会变| 烟酰胺是什么东西| 婴儿补铁吃什么铁剂| 胆囊息肉是什么意思| 通奸是什么意思| 扇子骨是什么肉| 盖碗适合泡什么茶| 老是腹泻是什么原因导致的| 11月9号是什么星座| 血脂高吃什么水果| maxco是什么牌子| 纸是什么生肖| 反社会人格有什么表现| 作精是什么意思| hpa是什么病| 长白班是什么意思| 轶字五行属什么| 酉鬼念什么| 肺纤维化是什么症状| 不怀孕需要做什么检查项目| 河童是什么意思| 过生日吃什么菜| 海绵体是什么| 92属什么| 结膜炎滴什么眼药水| 处心积虑什么意思| 干什么呢| 九月份是什么季节| 黄桃什么时候上市| 五行大林木是什么意思| X-Ray什么意思| slogan是什么意思啊| 手表seiko是什么牌子| 肠炎什么症状| 促甲状腺激素偏低是什么意思| 糖吃多了有什么危害| 以什么当什么| 百度Jump to content

1家媒体中头奖 勒沃平局成杀器-足彩054期媒体 

From Wikipedia, the free encyclopedia
百度 目前,财大狮官网上尚未有任何信息披露字样的栏目显示。

The Schreier–Sims algorithm is an algorithm in computational group theory, named after the mathematicians Otto Schreier and Charles Sims. This algorithm can find the order of a finite permutation group, determine whether a given permutation is a member of the group, and other tasks in polynomial time. It was introduced by Sims in 1970, based on Schreier's subgroup lemma. The running time was subsequently improved by Donald Knuth in 1991. Later, an even faster randomized version of the algorithm was developed.

Background and timing

[edit]

The algorithm is an efficient method of computing a base and strong generating set (BSGS) of a permutation group. In particular, an SGS determines the order of a group and makes it easy to test membership in the group. Since the SGS is critical for many algorithms in computational group theory, computer algebra systems typically rely on the Schreier–Sims algorithm for efficient calculations in groups.

The running time of Schreier–Sims varies on the implementation. Let be given by generators. For the deterministic version of the algorithm, possible running times are:

  • requiring memory
  • requiring memory

The use of Schreier vectors can have a significant influence on the performance of implementations of the Schreier–Sims algorithm.

The Monte Carlo variations of the Schreier–Sims algorithm have the estimated complexity:

requiring memory .

Modern computer algebra systems, such as GAP and Magma, typically use an optimized Monte Carlo algorithm.

Outline of basic algorithm

[edit]

Following is C++-style pseudo-code for the basic idea of the Schreier-Sims algorithm. It is meant to leave out all finer details, such as memory management or any kind of low-level optimization, so as not to obfuscate the most important ideas of the algorithm. Its goal is not to compile.

struct Group
{
  uint stabPoint;  // An index into the base for the point stabilized by this group's subgroup.
  OrbitTree orbitTree; // A tree to keep track of the orbit in our group of the point stabilized by our subgroup.
  TransversalSet transversalSet; // A set of coset representatives of this group's subgroup.
  GeneratorSet generatorSet; // A set of permutations generating this group.
  Group* subGroup; // A pointer to this group's subgroup, or null to mean the trivial group.

  Group(uint stabPoint)
  {
    this->stabPoint = stabPoint;
    subGroup = nullptr;
  }
};

// The given set of generators need not be a strong generating set.  It just needs to generate the group at the root of the chain.
Group* MakeStabChain(const GeneratorSet& generatorSet, uint* base)
{
  Group* group = new Group(0);
  for (generator in generatorSet)
    group->Extend(generator, base);
  return group;
}

// Extend the stabilizer chain rooted at this group with the given generator.
void Group::Extend(const Permutation& generator, uint* base)
{
  // This is the major optimization of Schreier-Sims.  Weed out redundant Schreier generators.
  if (IsMember(generator))
    return;

  // Our group just got bigger, but the stabilizer chain rooted at our subgroup is still the same.
  generatorSet.Add(generator);

  // Explore all new orbits we can reach with the addition of the new generator.
  // Note that if the tree was empty to begin with, the identity must be returned
  // in the set to satisfy a condition of Schreier's lemma.
  newTerritorySet = orbitTree.Grow(generator, base);

  // By the orbit-stabilizer theorem, the permutations in the returned set are
  // coset representatives of the cosets of our subgroup.
  for (permutation in newTerritorySet)
    transversalSet.Add(permutation);

  // We now apply Schreier's lemma to find new generators for our subgroup.
  // Some iterations of this loop are redundant, but we ignore that for simplicity.
  for (cosetRepresentative in transversalSet)
  {
    for (generator in generatorSet)
    {
      schreierGenerator = CalcSchreierGenerator(cosetRepresentative, generator);
      if (schreierGenerator.IsIdentity())
        continue;
      
      if (!subGroup)
        subGroup = new Group(stabPoint + 1);

      subGroup->Extend(schreierGenerator, base);
    }
  }
}

Notable details left out here include the growing of the orbit tree and the calculation of each new Schreier generator. In place of the orbit tree, a Schreier vector can be used, but the idea is essentially the same. The tree is rooted at the identity element, which fixes the point stabilized by the subgroup. Each node of the tree can represent a permutation that, when combined with all permutations in the path from the root to it, takes that point to some new point not visited by any other node of the tree. By the orbit-stabilizer theorem, these form a transversal of the subgroup of our group that stabilizes the point whose entire orbit is maintained by the tree. Calculating a Schreier generator is a simple application of the Schreier's subgroup lemma.

Another detail left out is the membership test. This test is based upon the sifting process. A permutation is sifted down the chain at each step by finding the containing coset, then using that coset's representative to find a permutation in the subgroup, and the process is repeated in the subgroup with that found permutation. If the end of the chain is reached (i.e., we reach the trivial subgroup), then the sifted permutation was a member of the group at the top of the chain.

References

[edit]
  • Knuth, Donald E. "Efficient representation of perm groups". Combinatorica 11 (1991), no. 1, 33–43.
  • Seress, A., Permutation Group Algorithms, Cambridge U Press, 2002.
  • Sims, Charles C. "Computational methods in the study of permutation groups", in Computational Problems in Abstract Algebra, pp. 169–183, Pergamon, Oxford, 1970.
1126是什么星座 脑白质病变是什么病 hpv59阳性是什么意思 射手女喜欢什么样的男生 男性检查挂什么科
吃什么补筋和韧带最快 舌尖痛什么原因 阑尾炎挂号挂什么科 经常呕吐是什么原因 锁阳有什么功效
榴莲不可以和什么一起吃 哈气是什么意思 电解质饮料有什么作用 容五行属什么 2018 年是什么年
降噪是什么意思 为什么喝中药越来越胖 头里面有肿瘤有什么症状 金钱能买来什么但买不来什么 扁桃体溃疡吃什么药
梦见很多牛是什么兆头hcv9jop3ns4r.cn 代茶饮是什么意思ff14chat.com 铅中毒有什么症状hcv9jop4ns0r.cn 县局长是什么级别hcv8jop6ns7r.cn 7月份适合种什么菜hcv8jop7ns6r.cn
头左边痛是什么原因hcv7jop7ns0r.cn 切除子宫对身体有什么伤害aiwuzhiyu.com ur是什么牌子aiwuzhiyu.com 为什么锻炼后体重反而增加了hcv8jop0ns1r.cn 奥美拉唑主要治什么hcv8jop8ns6r.cn
侧睡流口水是什么原因hlguo.com 延迟是什么意思hcv8jop8ns1r.cn 经血是什么血hcv8jop9ns6r.cn 鼻基底填充用什么材料比较好hcv8jop9ns2r.cn 没有高中毕业证有什么影响hcv9jop4ns5r.cn
扁桃体结石是什么原因引起的hcv8jop6ns5r.cn 多动症是什么原因造成的bjhyzcsm.com 十二生肖它第一是什么生肖hcv9jop4ns4r.cn 香港的别称是什么hcv9jop4ns8r.cn 阴道炎什么症状hcv8jop7ns0r.cn
百度