Membership testing problem: Difference between revisions
No edit summary |
|||
| (8 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== | ==Definition== | ||
===Given data=== | ===Given data=== | ||
<math>G</math> is a [[group]] equipped with an [[encoding of a group|encoding]] | <math>G</math> is a [[finite group]] equipped with an [[encoding of a group|encoding]]. <math>H</math> is a subgroup of <math>G</math> and we are given a [[generating set]] <math>B</math> for <math>H</math>. | ||
===Goal=== | ===Goal=== | ||
We need to describe a test for membership in <math>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 of membership testing to the problem | |||
|- | |||
| [[Order-finding problem]] || Suppose <math>G</math> is a finite group described by means of an encoding. Consider a subset <math>B</math> of <matH>G</math>. The goal is to find the order of the subgroup <math>\langle B \rangle</math>. || Compute the orders of the subgroups <math>H = \langle B \rangle</math> and <math>\langle H, g \rangle = \langle B \cup \{ g \} \rangle</math>. If the orders are the same, then <math>g \in H</math>. If the orders are different, then <math>g \notin H</math>. | |||
|} | |||
===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== | |||
=== | ===Black-box group algorithms=== | ||
These work for a group specified by means of an [[encoding of a group|encoding]]. | |||
== | {| class="sortable" border="1" | ||
! Algorithm !! Additional information needed for algorithm, if any !! Time taken, where <math>N</math> is the order of the group and <math>s</math> is the size of the generating set !! Type of algorithm | |||
|- | |||
| [[Black-box group algorithm for finding the subgroup generated by a subset]] || || <math>O(Ns)</math> times the time for the group operations. || deterministic | |||
|- | |||
| [[Nondeterministic black-box group algorithm for membership testing]] || || || nondeterministic | |||
|} | |||
===Permutation group algorithms=== | |||
* [[Permutation group algorithm for membership testing]] | |||
==Linear | ===Linear group algorithms=== | ||
* [[Linear group algorithm for membership testing]] | |||
Latest revision as of 20:14, 25 June 2013
Definition
Given data
is a finite group equipped with an encoding. is a subgroup of and we are given a generating set for .
Goal
We need to describe a test for membership in , i.e., we need to construct an algorithm that can take as input the code-word for any and outputs whether or not .
Relation with other problems
Problems it reduces to
| Problem | Nature of problem | Description of reduction of membership testing to the problem |
|---|---|---|
| Order-finding problem | Suppose is a finite group described by means of an encoding. Consider a subset of . The goal is to find the order of the subgroup . | Compute the orders of the subgroups and . If the orders are the same, then . If the orders are different, then . |
Problems that are solved using it
- Subgroup testing problem: For this problem, we are given sets and inside and we are asked whether the group generated by contains the group generated by . 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 , whether it is a member of .
- Normality testing problem: Given generating sets for and for , the problem asks whether is a normal subgroup of . 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 by an element in must be in .
- Normal closure-finding: This is solved using the normality testing problem
- Subnormality testing problem: This is solved using the normal closure-finding algorithm
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 is the order of the group and is the size of the generating set | Type of algorithm |
|---|---|---|---|
| Black-box group algorithm for finding the subgroup generated by a subset | times the time for the group operations. | deterministic | |
| Nondeterministic black-box group algorithm for membership testing | nondeterministic |