Kreativaufgabe Zeitbeschränkte Prozesse (Kretschmer, Schumann)
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
;Autoren
:[mailto://s3toschu@stud.hszg.de Tom Schumann]<br/>
:[mailto://s3hakret@stud.hszg.de Hannes Kretschmer]
=Aufgabenstellung=
Implementieren Sie die im Beweis definierte Aufzählfunktion für $M \subseteq \text{ A*}$ unter Verwendung der Cantorschen Paarungsfunktion. Wählen Sie im Fallbeispiel $A = \{a,b,c\}, g: \N \mapsto A^*$ und M = $\{w |w \in A^* \text{ und } w \text{ enthält Fibonacci-zahlig viele } b's\}$.
Machen Sie bei der Konstruktion von $\chi^'_M$ nur von der Semi-Entscheidbarkeit der Menge der Fibonacci-Zahlen Gebrauch, obwohl doch deren Entscheidbarkeit durch Beschränkung des Suchraumes gegeben ist.
'''Hinweis:''' Sie benötigen keine ''engines''. Das einfache Timer-System reicht aus.
=Lösung=
==Abbildung der Natürlichen Zahlen==
<popup text="Vollständigen Code"><code>
class Naturals:
def __init__(self):
self.current = 0
def __next__(self):
result = self.current
self.current += 1
return result
def __iter__(self):
return self
</code></popup>
==Generierung von $A^*$==
<popup text="Vollständigen Code"><code>
def generate_a_star(A, count):
A_star = []
for s in A:
A_star.append(s)
for i in range(0, count):
A_star_temp = A_star.copy()
for p in A_star_temp:
for s in A:
if (p + s) not in A_star:
A_star.append(p + s)
A_star.append("")
return A_star
</code></popup>
==Menge der Fibonacci-Wörter==
<popup text="Vollständigen Code"><code>
Ich bin Code
</code></popup>
==Cantorsche Paarungsfunktion==
<popup text="Vollständigen Code"><code>
Ich bin Code
</code></popup>
==$g: \N \mapsto A^*$==
<popup text="Vollständigen Code"><code>
Ich bin Code
</code></popup>
==Aufzählfunktion==
<popup text="Vollständigen Code"><code>
Ich bin Code
</code></popup>