Es ist
Demgebenüber ist
Beachtet, dass ℘(A) an sich überhaupt nichts mit A* zu tun hat – diese Aufgabe entsprang der Beobachtung, dass viele Studierende Probleme hatten, die beiden Begriff auseinanderzuhalten.
Hier ist noch ein (nicht allzu effizientes) Programm zur Berechnung von Sternmengen. Von der Kommandozeile aus aufgerufen nimmt es im ersten Argument die Maximallänge der zu erzeugenden Wörter, alle folgenden Argumente definieren die Menge, auf die der Stern angewandt werden soll.
def computeKleeneStar(aSet, maxLen): """returns the star set for the elements of the iterable aSet with all words up to maxLen (exclusively). The elements obviously have to support concatenation. The strategy is a straight implementation of the recursive definition of the Kleene star. """ if maxLen==0: return [""] else: shorterSet = computeKleeneStar(aSet, maxLen-1) return [a+w for a in aSet for w in shorterSet if len(w)==maxLen-1]+shorterSet if __name__=="__main__": import sys starSet = computeKleeneStar(sys.argv[2:], int(sys.argv[1])) starSet.sort(lambda a,b: cmp(len(a), len(b)) or cmp(a, b)) print starSet