Membership testing problem: Difference between revisions

From Groupprops
No edit summary
Line 8: Line 8:


We need to describe a test for membership in <math>H</math>, i.e., we need to construct an algorithm that can take as input the code-word for any <math>g \in G</math> and outputs whether or not <math>g \in H</math>.
We need to describe a test for membership in <math>H</math>, i.e., we need to construct an algorithm that can take as input the code-word for any <math>g \in G</math> and outputs whether or not <math>g \in H</math>.
==Relation with other problems==
===Problems it reduces to===
{| class="sortable" border="1="
! Problem !! Nature of problem !! Description of reduction
|-
| [[Order-finding problem]] || Compute the order of the subgroup generated by a subset inside a group specified by means of an encoding. ||
|}
===Problems that are solved using it===
* [[Subgroup testing problem]]: For this problem, we are given sets <math>A</math> and <math>B</math> inside <math>U</math> and we are asked whether the group <math>G</math> generated by <math>A</math> contains the group <math>H</math> generated by <math>B</math>. The subgroup testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea of the reduction is to check, for each element in <math>B</math>, whether it is a member of <math>G</math>.
* [[Normality testing problem]]: Given generating sets <math>A</math> for <math>G</math> and <math>B</math> for <math>H</math>, the problem asks whether <math>H</math> is a [[normal subgroup]] of <math>G</math>. The normality testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea is to first use the [[subgroup testing problem]] and to then check whether every conjugate of an element in <math>B</math> by an element in <math>A</math> must be in <math>B</math>.
* [[Normal closure-finding]]: This is solved using the normality testing problem
* [[Subnormality testing problem]]: This is solved using the normal closure-finding algorithm


==Algorithms==
==Algorithms==

Revision as of 19:26, 25 June 2013

Description

Given data

G is a group equipped with an encoding C. H is a subgroup of G and we are given a generating set B for H.

Goal

We need to describe a test for membership in H, i.e., we need to construct an algorithm that can take as input the code-word for any g∈G and outputs whether or not g∈H.

Relation with other problems

Problems it reduces to

Problem Nature of problem Description of reduction
Order-finding problem Compute the order of the subgroup generated by a subset inside a group specified by means of an encoding.

Problems that are solved using it

  • Subgroup testing problem: For this problem, we are given sets A and B inside U and we are asked whether the group G generated by A contains the group H generated by B. The subgroup testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea of the reduction is to check, for each element in B, whether it is a member of G.
  • Normality testing problem: Given generating sets A for G and B for H, the problem asks whether H is a normal subgroup of G. The normality testing problem reduces to the membership testing problem via a positive truth-table reduction. The idea is to first use the subgroup testing problem and to then check whether every conjugate of an element in B by an element in A must be in B.

Algorithms

Black-box group algorithms

These work for a group specified by means of an encoding.

Algorithm Additional information needed for algorithm, if any Time taken, where N is the order of the group and s is the size of the generating set Type of algorithm
Black-box group algorithm for finding the subgroup generated by a subset O(Ns) times the time for the group operations. deterministic
Nondeterministic black-box group algorithm for membership testing nondeterministic

Permutation group algorithms

Linear group algorithms