www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Logik" - Halteproblem/vereinfacht/0 Ein
Halteproblem/vereinfacht/0 Ein < Logik < Logik+Mengenlehre < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Logik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Halteproblem/vereinfacht/0 Ein: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 05:40 Mi 22.05.2013
Autor: Lu-

Aufgabe
Sei H' := [mm] \{ n : U(n,0) haelt \}, [/mm] d.h. die Menge derjenigen source codes n die auf Input 0 halten. Zeige H' ist nicht rekursiv.

Hinweis: Ansonsten können wir H:= [mm] \{ n : U(n,n) haelt \} [/mm] (habe ich schon gezeigt, dass die Menge nicht rekursiv ist) entscheiden: Gegeben n. Um zu sehen ob n in H transformiere den source code n zu einem neuenen source-code g(n): Dieses neue Programm g(n) überschreibt die input-variable mit n und danach wird einfach das alte Programm n ausgeführt. Argumentiere mit Curch-Turing-These(nicht formal) dass g total und rekursiv ist


Defnition: Menge  H' nicht rekursiv <=> charakteristische Funktion  [mm] \chi_{H'} [/mm] nicht rekursiv
[mm] \chi_{H'} [/mm] : n -> [mm] \begin{cases} 1, & \mbox{für } n\in H' \mbox{ d.h.} U(n,0) \mbox{ haelt} \mbox{bzw. gleichbedeutend} U(n,0) \mbox{ ist definiert} \\ 0, & \mbox{sonst } \end{cases} [/mm]
Ang [mm] \chi_{H'} [/mm] rekursiv also mittels Goto-Programm M' berechenbar (Vo: Funktion rekursiv <=> Goto-Programm für die Funktion existiert)

Versuch ist nun:
Eingabe für [mm] \chi_{H} [/mm] -> Funktion g anwenden -> Eingabe für [mm] \chi_{H'}-> [/mm] Programm M
gesucht g: [mm] \chi_H [/mm] (i)= [mm] \chi_{H'} [/mm] (g(i)) und g total & Rekursiv
D.h.: n [mm] \in [/mm] H <=> g (n) [mm] \in [/mm] H'

Ich versuchte sowas wie g: n -> U(n,0) aber das ging  schief.
U(n,0)... simuliere [mm] U_n [/mm] mit Eingabe 0
Auch  eine Idee war die Identität- Aber wieso sollte wenn [mm] U_n [/mm] auf Eingabe n auch [mm] U_n [/mm] auf Eingabe 0 halten??


EDIT:
Jedem Goto-Programm E wird ein  sourcecode [mm] P_E \in \IN [/mm] zugeordnet. Ein Programm U dass auf [mm] Input(P_E [/mm] , n) den output liefert, den dass Programm E auf input n liefern würde ist ein universelles Progamm)

        
Bezug
Halteproblem/vereinfacht/0 Ein: Antwort
Status: (Antwort) fertig Status 
Datum: 06:08 Mi 22.05.2013
Autor: tobit09

Hallo Lu-,


zwar fühle ich mich nicht kompetent genug, die Aufgabe zu lösen. Aber zur Frage nach einem geeigneten g: Befolge den Hinweis!

     [mm] $g(n):=P_{E(n)}$ [/mm]

mit

     $E(n):=$ ein goto-Programm, das zunächst die Eingabe mit $n$ überschreibt und dann [mm] $U_n$ [/mm] ausführt.

(Ich hoffe, ich habe eure Notationen richtig interpretiert und verwendet.)


Viele Grüße
Tobias

Bezug
                
Bezug
Halteproblem/vereinfacht/0 Ein: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 06:14 Mi 22.05.2013
Autor: Lu-

Hallo,
da taucht bei mir gleich die Frage auf (die ich mir auch gestellt habe, als ich den Hinweis gelesen habe)

> $ E(n):= $ ein goto-Programm, das zunächst die Eingabe mit $ n $ überschreibt und dann $ [mm] U_n [/mm] $ ausführt.

Welche Eingabe/Was ist die Eingabe? Ich dachte vorher n also das argument von g ist die Eingabe. Aber n mit n überschreiben gibt doch keinen Sinn?

LG

Bezug
                        
Bezug
Halteproblem/vereinfacht/0 Ein: Antwort
Status: (Antwort) fertig Status 
Datum: 07:19 Mi 22.05.2013
Autor: tobit09


>  da taucht bei mir gleich die Frage auf (die ich mir auch
> gestellt habe, als ich den Hinweis gelesen habe)
>  > [mm]E(n):=[/mm] ein goto-Programm, das zunächst die Eingabe mit

> [mm]n[/mm] überschreibt und dann [mm]U_n[/mm] ausführt.
> Welche Eingabe/Was ist die Eingabe? Ich dachte vorher n
> also das argument von g ist die Eingabe. Aber n mit n
> überschreiben gibt doch keinen Sinn?

Vergiss für einen Moment die Abbildung $g$. Wir sind jetzt nur bei der Definition von $E(n)$.

Jedes goto-Programm verarbeitet ja eine Eingabe (input-variable). Prinzipiell kann jedes goto-Programm mit jeder Eingabe gestartet werden.

$E(n)$ ist nun ein goto-Programm, dass die Eingabe förmlich ignoriert: Egal, mit welcher Eingabe man es startet: Es überschreibt sie sofort mit $n$.

Dann führt $E(n)$ das Programm [mm] $U_n$ [/mm] aus.

Also egal, mit welcher Eingabe man $E(n)$ startet: $E(n)$ verhält sich bezüglich Halteverhaltens (und im Falle des Haltens auch bezüglich der Ausgabe) genauso, wie sich [mm] $U_n$ [/mm] bei Eingabe $n$ verhalten würde.

Insbesondere hält $E(n)$ bei Eingabe $0$ genau dann, wenn [mm] $U_n$ [/mm] bei Eingabe $n$ hält.

Also:

     [mm] $n\in [/mm] H$
[mm] $\iff [/mm] U(n,n)$ hält
[mm] $\iff U_n$ [/mm] hält bei Eingabe $n$
[mm] $\iff [/mm] E(n)$ hält bei Eingabe $0$
[mm] $\iff U_{P_{E(n)}}$ [/mm] hält bei Eingabe $0$
[mm] $\iff U(\underbrace{P_{E(n)}}_{=g(n)},0)$ [/mm] hält
[mm] $\iff g(n)\in [/mm] H'$.

Bezug
                                
Bezug
Halteproblem/vereinfacht/0 Ein: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 08:05 Mi 22.05.2013
Autor: Lu-

Aufgabe
Def.: Wir sagen A ist may-one-reducible zu B, in Zeiichen : A [mm] \le_{m} [/mm] B wenn es eine totale rekursive Funktion g gibt sodaß A= [mm] g^{-1} [/mm] (B)
Setzte A=_{m} B wenn A [mm] \le_{m} [/mm] B und B [mm] \le_{m} [/mm] A
Wir haben zuvor gezeigt, dass H [mm] \le_{m} [/mm] H' . Setzte [mm] H^{\*} [/mm] := [mm] \{(n,m) : U(n,m) haelt\}. [/mm] Zeihe H=_{m} H' =_{m} H*
Hinweis: Es ist einfach zu sehen, dass H* "stärker" als H' ist, umzusehen dass H* [mm] \le_{m} [/mm] H verwende im wesentlichen dasselbe Argument wie für H [mm] \le_{m} [/mm] H'


Vielen dank!!


Warum sollte aber nun g total sein? Also überall definiert sein? Die Church-Thuring-These sagt mir ja nur, dass ich für E einen maschinellen algorithmus habe und deshalb  implementieren kann in irgendeiner Computer-Sprache und somit ist es goto-Berechenbar, woraus rekursiv folgt.


Zu nächsten Aufgabe:
Ich glaub im Hinweis ist ein Druckfehler, und man solle zeigen: H* [mm] \le_{m} [/mm] H' und nicht H* [mm] \le_{m} [/mm] H)

H [mm] \le_{m} H^{\*} [/mm]
Funktion f total & rekursiv mit
n [mm] \in [/mm] H <=> f(n) [mm] \in H^{\*} [/mm]
f(n):= (n,n)
n [mm] \in [/mm] H
[mm] <=>U_n [/mm] hält bei Eingabe n
<=> (n,n) =f(n) [mm] \in H^{\*} [/mm]

[mm] H^{\*} \ge [/mm] H'
Funktion s total & rekursiv mit
n [mm] \in [/mm] H' <=> s(n) [mm] \in H^{\*} [/mm]
s(n):=(n,0)
n [mm] \in [/mm] H '
<=> [mm] U_n [/mm] hält bei Eingabe 0
<=> s(n)=(n,0) [mm] \in H^{\*} [/mm]

[mm] H^{\*} \le [/mm] H'
Funktion [mm] \phi [/mm] total & rekursiv mit
(n,m) [mm] \in H^{\*} [/mm] <=> [mm] \phi(n,m) \in [/mm] H'
E: goto programm, dass Eingabe immer mit m überschreibt und [mm] U_n [/mm] angesetzt auf m ausführt
[mm] \phi [/mm] (n,m)= [mm] P_E [/mm]
(n,m ) [mm] \in H^{\*} [/mm]
<=>U(n,m) hält
[mm] <=>U_n [/mm] angesetzt auf m hält
[mm] \overbrace{<=>}^{?} [/mm]  E hält bei Eingabe 0
<=> [mm] U_{P_E} [/mm] hält bei EIngabe 0
<=> [mm] \phi(n,m) \in [/mm] H'

bleibt zuzeigen:
H [mm] \ge_{m} [/mm] H'
Stecke ich ..;( Oder soll ich was anderes zeigen( wie [mm] H^{\*} \ge_{m} [/mm] H )? Und mit der transitivität arbeiten? Ist das einfacher?

Bezug
                                        
Bezug
Halteproblem/vereinfacht/0 Ein: Antwort
Status: (Antwort) fertig Status 
Datum: 01:22 Do 23.05.2013
Autor: tobit09


> Warum sollte aber nun g total sein? Also überall definiert
> sein? Die Church-Thuring-These sagt mir ja nur, dass ich
> für E einen maschinellen algorithmus habe und deshalb  
> implementieren kann in irgendeiner Computer-Sprache und
> somit ist es goto-Berechenbar, woraus rekursiv folgt.

Wir haben $g$ ja auf ganz [mm] $\IN$ [/mm] definiert, indem wir [mm] $g(n)=\ldots$ [/mm] für alle [mm] $n\in\IN$ [/mm] gesetzt haben. Also ist klar, dass $g$ total ist.

Bezug
                                        
Bezug
Halteproblem/vereinfacht/0 Ein: Antwort
Status: (Antwort) fertig Status 
Datum: 05:35 Fr 24.05.2013
Autor: tobit09


> Zu nächsten Aufgabe:
>  Ich glaub im Hinweis ist ein Druckfehler, und man solle
> zeigen: H* [mm]\le_{m}[/mm] H' und nicht H* [mm]\le_{m}[/mm] H)

Nein, dass ist kein Druckfehler. Die Idee aus dem Hinweis ist,

     [mm] $H\le_m H'\le_m H^\*\le_m [/mm] H$

zu zeigen. Mit der Transitivität von [mm] $\le_m$ [/mm] folgt dann die Behauptung.

> Oder soll ich was anderes zeigen( wie
> [mm]H^{\*} \ge_{m}[/mm] H )? Und mit der transitivität arbeiten?
> Ist das einfacher?

Der Vorschlag aus dem Hinweis hat den Vorteil, dass nur noch zwei [mm] $\le_m$-Beziehungen [/mm] zu zeigen sind, während du noch vier [mm] $\le_m$-Beziehungen [/mm] durchgehst (von denen [mm] $H^{\*} \ge [/mm] H'$ überflüssig zu zeigen ist).

Die Schwierigkeit, die einzelnen [mm] $\le_m$-Beziehungen [/mm] zu zeigen, unterscheiden sich aus meiner Sicht nicht, abgesehen von [mm] $H'\le_m H^\*$ [/mm] und [mm] $H\le_m H^\*$, [/mm] die einfacher sind als die übrigen.



> H [mm]\le_{m} H^{\*}[/mm]
>  Funktion f total & rekursiv mit
> n [mm]\in[/mm] H <=> f(n) [mm]\in H^{\*}[/mm]
>  f(n):= (n,n)
>  n [mm]\in[/mm] H
>  [mm]<=>U_n[/mm] hält bei Eingabe n
>  <=> (n,n) =f(n) [mm]\in H^{\*}[/mm]

[ok]

> [mm]H^{\*} \ge[/mm] H'
>  Funktion s total & rekursiv mit
>  n [mm]\in[/mm] H' <=> s(n) [mm]\in H^{\*}[/mm]

>  s(n):=(n,0)
>  n [mm]\in[/mm] H '
>  <=> [mm]U_n[/mm] hält bei Eingabe 0

>  <=> s(n)=(n,0) [mm]\in H^{\*}[/mm]

[ok]

> [mm]H^{\*} \le[/mm] H'
>  Funktion [mm]\phi[/mm] total & rekursiv mit
>  (n,m) [mm]\in H^{\*}[/mm] <=> [mm]\phi(n,m) \in[/mm] H'

>  E: goto programm, dass Eingabe immer mit m überschreibt
> und [mm]U_n[/mm] angesetzt auf m ausführt
>  [mm]\phi[/mm] (n,m)= [mm]P_E[/mm]
>  (n,m ) [mm]\in H^{\*}[/mm]
> <=>U(n,m) hält
> [mm]<=>U_n[/mm] angesetzt auf m hält
>  [mm]\overbrace{<=>}^{?}[/mm]  E hält bei Eingabe 0
> <=> [mm]U_{P_E}[/mm] hält bei EIngabe 0
>  <=> [mm]\phi(n,m) \in[/mm] H'

[ok]

Die Stelle mit dem Fragezeichen ist kein Problem: Für alle [mm] $k\in\IN_0$ [/mm] gilt: E (ich würde lieber [mm] $E_{n,m}$ [/mm] schreiben) hält bei Eingabe $k$ genau dann, wenn [mm] $U_n$ [/mm] bei Eingabe $m$ hält. Insbesondere gilt dies für $k=0$.

> bleibt zuzeigen:
>  H [mm]\ge_{m}[/mm] H'
>  Stecke ich ..;(

Das funktioniert mit der gleichen Idee wie [mm] $H\le_m [/mm] H'$ und [mm] $H^\*\le_m [/mm] H'$:

Sei für jedes [mm] $n\in\IN$: [/mm]

     [mm] $E_n:=$goto-Programm, [/mm] dass zunächst Eingabe mit 0 überschreibt und dann [mm] U_n [/mm] ausführt.

Dann bezeugt die Abbildung [mm] $t\colon\IN\to\IN$ [/mm] mit [mm] $t(n):=P_{E_n}$, [/mm] dass $H [mm] \ge_{m} [/mm] H'$.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Logik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]