Noncommutative Groups and efficient Algorithms