Español
Experimente

Ackermann-Función A(3,6) como Benchmark

 

p.specht

Wilhelm Friedrich Ackermann (* 1896 en Schönebecke (Herscheid); † 1962 en Lüdenscheid) war una deutscher Mathematiker, el con su Función 1926 una These seines Lehrers David Hilbert a Fall brachte, derzufolge todos berechenbaren Características auch rekursiv berechenbar seien. Ackermann's Función wurde 1955 de el Ungarin Rózsa Péter vereinfacht.

Für Benchmark-Timingzwecke se üblicherweise A(3,6) herangezogen.
' (D) Demoware, 2013-03 de C después de XProfan-11 by K. Orkenzieher
' Beweist auch, daß algo Rekursion auch en XProfan funktioniert.
' Quelle (Orig.): https://www.xgc.com/benchmarks/ackermann_c.htm
' Updated May 11, 2005. Copyright (C-Versión): XGC Software
' Begleittext des C-Vorbildes:
'   Ackermann's function "is a example of a recursive function which
'   is not primitive recursive". It is interesting from the point of
'   view of benchmarking because it "grows faster than any primitive
'   recursive function" and gives us a lot of nested function calls
'   for little effort.
'   It is defined as follows:
'   A(0, n) = n+1
'   A(m, 0) = A(m-1, 1)
'   A(m, n) = A(m-1, A(m, n-1))
'   We use A(3,6) as the benchmark. This used to take long enough to
'   confirm the execution time with a stopwatch. Nowadays that's out
'   of the question. The value of A(4,2) has 19729 digits!
'   A (3,6) gives us 172233 calls, with a nesting depth of 511.
'
var m&=3
var n&=6
Declarar ans!,t1&,t2&
Windowtitle "Ackermann-Péter A("+str$(m&)+","+str$(n&)+")-Benchmark"
CLS
t1&=&gettickcount
ans! = A(m&,n&)
t2&=&gettickcount
imprimir " Ergebnis: ";format$("%g",ans!)
caso (m&=3) and (n&=6) and (ans!<>509) :imprimir "Resultat ";ans!;" falso,  509 muss rauskommen!"
caso (m&=3) and (n&=7) and (ans!<>1021):imprimir "Resultat ";ans!;" falso, 1021 muss rauskommen!"
imprimir format$(" Benchmark-Tiempo = %g Sekunden",(t2&-t1&)/1000)
waitinput
End

proc A

    parámetros m&,n&

    if m&=0

        volver n&+1

    elseif n&=0

        volver A(m&-1,1)

    más

        volver A(m&-1,A(m&,n&-1))

    endif

ENDPROC


P.S.: Mein Lappi (Zweikerner 1.86 GHz) liefert:
A(2,200)=403: Interpreter 7,305 sec, Compiler 1,264 sec;
A(3,6)=509: Interpreter 14.445 sec, Compiler 2.663 sec; nProc: 0.002 sec
A(3,7)=1021: Interpreter 61.976 sec, Compiler 11.123 sec; nProc: 0.015 sec
A(3,8)=2045: Interpreter 261.45 sec, Compiler 45.864 sec; nProc: 0.062 sec
A(3,9)=4093: Interpreter y Compiler brechen wegen a hoher Rekursionstiefe ab; nProc: 0,265 sec
A(3,10)=8189: nP: 1,092 sec
A(3,11)=16381: nP: 4,212 sec
A(3,12)=32765: nP: 17,019 sec
A(3,13)=65533: nP: 67,47 sec
A(3,n)=2^(n+3)-3
A(4,1)=65533 : nP: 66,737 sec
A(4,2)=2^65536−3 ... no ermitelt
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
09.05.2021  
 




p.specht

Ackermann-Función algo flotter
-------------------------------------------
Como ellos en Largo-Integers definiert es, se ejecuta el en XProfan-11 bastante rasch en el Überlaufbereich (Kennzeichen: Los números son negativo). Damit letzteres no así rápidamente passiert, hier una Definition en ganzzahllige Float-Variables.
Vorsicht: Ackermann(4,2) führt incluso en Supercomputern en el "Nirwana"...
Título de la ventana "Ackermann-Función, en FLoats definiert"
'por el ungar. Mathematikerin Roza Peters beschleunigte Versión
set("decimals",0):CLS:declarar i!,j!

whileloop 0,5:i!=&Loop

    whileloop 0,6:j!=&Loop

        imprimir " ACKERMANN(";i!;",";j!;") = ";ACK(i!,j!)

    endwhile

endwhile

imprimir "---"
waitinput
FIN

Proc ACK :parámetros m!,n!:declarar ans!

    if nearly(m!,0,5):ans!=n!+1

    elseif nearly(n!,0,5):ans!=ACK(m!-1,1)

        más :ans!=ACK(m!-1,ack(m!,n!-1))

    endif

    volver ans!

ENDPROC

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
30.05.2021  
 



Zum Experiment


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.570 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
Thomas Zielinski07.06.2021
Michael W.07.06.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie