Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » eigenschaften algorithmus » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 9 Beiträge
neuling96

danke langsam wird es einleuchtender
eulerscheZahl

Wenn random(n) einen Wert in [0;n-1] liefert, bildet das an c übergebene Argument eine streng monoton fallende Folge. Somit terminiert die Funktion auch. (ich gehe mal davon aus, dass für x==0 eine konstante zurückgegeben werden soll)
neuling96

über fehlt "nicht"


die beiden bsp sind nicht
Determinismus
Determiniertheit



wenn ich habe


public static int c(int i){

code....
...
int x=random(i);

if( x>0){
return c(x);

}
das muss nicht terminieren`?
eulerscheZahl

Zitat:
allerdings verstehe ich 100%

Den Eindruck habe ich nicht.
Die Beispiele sind beide weder deterministisch, noch determiniert.

Hier ein Beispiel, das deterministisch und determiniert ist:
code:
1:
2:
3:
public int func(int a) {
    return 2 * a;
}


determiniert (immer das selbe Ergebnis), aber nicht deterministisch (verschiedene Wege, um zum Ergebnis zu gelangen):
code:
1:
2:
3:
4:
5:
public int func(int a) {
    int r = random(a);
    if (r == 0) return 2 * a; //der eine Weg
    else return a + a; //und der andere, aber selbes Ergebnis
}
neuling96

ich habs gelesen, allerdings verstehe ich 100%
hier 2 bsp
public static int c(int i){

code....
...
int x=random(i);

return x;

also beides
Determinismus
Determiniertheit

2ter fall
public static boolean c(int i){

code....
...
boolean a=true;
int x=random(i);
if(x>0){
a=false;


return a;

also beides
Determinismus
Determiniertheit
eulerscheZahl

Hier nochmal die Definitionen:
Determinismus
Determiniertheit

Wenn sich der Rückgabewert unterscheidet, sind beide nicht erfüllt. Der Unterschied wird auch im 2. oben verlinkten Artikel erklärt.
neuling96

determiniert abhängig vom rückgabewert.

und
wie es determinierst?
determinierst :
Ein Algorithmus heißt deterministisch, wenn die Wirkung und die
Reihenfolge der Einzelschritte eindeutig festgelegt ist, andernfalls
nicht-deterministisch

wegen
int i= random(c);

ist es nicht-deterministisch?
eulerscheZahl

Zitat:
Für die gleiche Eingabe folgt auch immer die gleiche Ausgabe
(wikipedia)

Wenn der Rückgabewert irgendwie von i abhängt, wird das nicht erfüllt.
neuling96 eigenschaften algorithmus

wenn in einer Methode
zumbsp random vorkommt

public static int c(intc){

in i=random(c);
//rest code


...
...

dann ist die Metode nicht determinierst und auch nicht determiniert?