Algorithmik
David Harel Yishai Feldman
Algorithmik Die Kunst des Rechnens
Übersetzt von Micaela Krieger-Hauwede Mit 124 Abbildungen
123
David Harel Department of Applied Mathematics Weizmann Institute of Science 76100 Rehovot, Israel
[email protected] Yishai Feldman The Interdisciplinary Center P.O. Box 167 46150, Herzliya, Israel
[email protected] Übersetzerin Micaela Krieger-Hauwede
[email protected] MSC-Nummer: 68Q01 ISBN-10 3-540-24342-9 Springer Berlin Heidelberg New York ISBN-13 978-3-540-24342-7 Springer Berlin Heidelberg New York Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Springer ist ein Unternehmen von Springer Science+Business Media springer.de © Springer-Verlag Berlin Heidelberg 2006 Printed in Germany Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet. Verlag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Satz: Micaela Krieger-Hauwede, Leipzig Herstellung: LE-TEX, Jelonek, Schmidt & Vöckler GbR, Leipzig Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg Gedruckt auf säurefreiem Papier 33/3100 YL – 5 4 3 2 1 0
!" #$% &" '
! " ! # $% & $ !' ( ) % % ! % % * % + + % * ! * % , $ - ! '
% ! ( . ' % % / ! % % - + ! % ! + %' $ ! 0 + ! ( .
$% / ' + * ) $% % + 1 2
$% + / % ' ,
! " # $ % % & ' & ( " ) * " + , & - . ' ' / . ' 0 / 01 ' ., 2300 4 / 2 0 4 - ) 5 $ # ' 0 + / 6 7 - 8 $ . 8
- - ! 6 7 9 # : ) , 8 # / 0 0 ; 9. - # +
# ' , $ # " / 0 ' - ! % . $ 8 30 0 . )
# ' 1 % .
! " # $ % & % % $
'( ) *! +,-. / +,-0 1 1 ! % 2
3 & % #! 4 ! 1 5 % 6 2
& % 4 !7 ( 4 1 4 ! !! (8 9 ! !4 % %! ( ! 2 % ! 4 7 6 2 8 8! ! 6 & % $
4 5 % ! 5 % :7 % % 3 2
5 % 4 5 % % ; % < = 3 $ 5 ! 1< ! 4 & % %
! " # $ %" & ' ( ') * ½ + , " - . / 0 % # 1 , . . 02 ,2 # 0 " *
3 4 . 5 # 6 . 34 5 3 4 - ) # , * % # 1 * 7 # 8 , . 8 # 1 0 % ( ' " ) . # + , 9
: ( . , ; %
' 6 $ ' ( ? ! ( % * + " ' 8 6 . ) / $ ;@
$ $ ' & $ ;, ." / $ ;3 .A' "
h
D
M
@
;
%
>
s
;
>
;
D
#
5 G C A( %
& %# C
!
" ! # $ % &
% '( ) * % !
( + , (
-!
- . % / 0((
1
2 & % " ( % 34! % 5 % ! 2 ' # - (
+ " 5 6 7 6 6 ( 2
! % 2 (( 8 $ % $ ) 5 ! -
9 $ ((
( 2 ( 2 1 # % "
% ( & 1 ) - %
9 1 : 1; 1 $ ( ( ! ) 2 = > ( $
( & ( 5 ! ( & . (( / % 5
# % ( 9 ' 1 5(( ( & (! "( & # # ' !(
! ! ! " !
# !
$ % ! & ' ! " ($" ! ) * +'" ( " !
" # , " ! - "
" ' ! , .
/ ! ' 0 # 123( 4
" 5 6 " ! /(" 3( ,
7 / " # ! " 8
$ " 7' 9# ( : ! " # !" & !
" ; 7 4 # & !( !"
* *" 4 . * ( *+ , 9: ( * . )@ . )@
Start
notiere 0; zeige auf das erste Gehalt
addiere das aktuelle Gehalt zur gemerkten Zahl
Ausgabe der gemerkten Zahl
JA
am Ende der Liste?
NEIN
Schleife
zeige auf das nächste Gehalt
Stopp
!
" ! " # $ % ! & ' ! ( ! ! ) & *!! $ % ! " !!&
+ & ! ! , , & ( - # "! . ! % % ! ! ! $ ) ! ! ! "( & # " ! ! *# / # 0 ! 1 ! !& # ) " ! !2 !#3 4 +! ! ! # ) " 5
Start
notiere 0; zeige mit P auf den ersten Angestellten
JA
addiere Ps Gehalt zur gem. Zahl
Ist Ps Gehalt höher als Qs?
Ist Q unm. Vorgesetzter von P? NEIN Ist Q NEIN setze Q auf den am Ende der n. Angestellten Liste?
NEIN
äußere Schleife
JA
innere Schleife
zeige mit Q auf den ersten Angestellten
JA
JA
Ist P am Ende der Liste? NEIN
Ausgabe d. gemerkten Zahl
setze P auf den n. Angestellten
Stopp
! " # !
! " ! # $ % &' ( )
½ * '
+' ! , ' ¼ - . % . ' ' &' /
' ! 0 1 - 2 ( ' ' ! &' 3 ' ' * 1
'' 45 , 0 ' % ' ' 6 1 2 7' ! ' + !) 3 '
2 0 ( ' + &' 2 . ' 0 '
+ 8 !2 * , 8 " 8 &' 0 9 + ' 2 2 ": . + / ( 9 2
' 0 9 !) -
; !" #$ % & ' $ ( )*
0 + 8 9 ! 0 1 9 0 "
' ' 2: 9 ' 2 ' ! " 9 ' 9 ' ! " '
Start
initialisiere Zähler und Zeiger
überprüfe die nächsten Symbole
Suche nach dem ,,Geld“
,,Geld“ gefunden?
IM TEXT
NEIN
setze den Zeiger vor (überprüfe auf Ende des Textes)
JA TEXTENDE gib den Zähler aus Stopp
überprüfe die nächsten Symbole
Suche nach dem Ende des Satzes
,,. “ gefunden?
IM TEXT
NEIN
setze den Zeiger vor (überprüfe auf Ende des Textes)
JA
TEXTENDE gib den Zähler aus
Stopp erhöhe den Zähler
Start
Unterroutine search-for X
IM TEXT
überprüfe die nächsten Symbole
X NEIN gefunden?
setze den Zeiger vor (überprüfe auf Ende des Textes) TEXTENDE
JA
initialisiere Zähler und Zeiger
Aufruf von search-for ,,Geld“
Aufruf von search-for ,,. “
gib den Zähler aus
kehre zurück
Stopp
Unterroutine
erhöhe Zähler
Hauptalgorithmus
! "# $ %
& ' ' ( # !) !(
* ) + * #( , !
- . ) # )( ! / # ! ) ! - ) ! -( )
! 0 # "$(# # 1 2
! " #$ % & $ '()% * &+ , $ ) !( - # . &/ " & , " $( 0 1& & % 2$ , ,& & 3& ! %. & " 4 2$ 0 ' 5 6$$ " ,& . 1 & &7 ,& 4$ . 5 1& 2$ & " $7 ( % ! , ! 8$ 1& % , 9" . & & ) % % %
, : %( & 2$
$% & - & & / " & ; ; & , 4 5 7$ & " % $ , :$( ( & && !$0 % ($( & &" ( # & & & ,& & = , ? / . = / 8 , @ ! ) 1 * @ A 0
) ,./
A B ) ) * + / ) & / 7
C- )
, / 3 * 7 1 !
! ! "#
$ % & ' () " * ! $ ! ! + ! , + $ - . # !"/ + / 0 # 0" " 1 0 / 0 2 3 ! " ! 4! 0 4! * ! ! % // ! ) ! 4!
0 0" 5 0 4! ! " 6 + # 7 ¿ " / * 7 " ! ! 0 ¿ ! . /8 +! 7 7 ! 9 // : ! 0 " * /" ;! / 0 5 4! 5 + / > / +! >> + !& * ?# & % & &# ,
! "
# $ % & ' ( (( )( (
* + , - . , ( / " $
/
( 0 ! 1 ! ) ( !
"
2( ! 3
0 4 5 . 6
7 8 ( ( !
' ,(
! ( -& ( -
* +
"
( 5 9 : 9 /
( #
(
5 : ; 5"4 * !
+ 5 3 7 #/ 5 3 - "? ( @ 0
(
8 '
1 1 5 ( ! 3
#/ A ( 5"4 3/
*, 5
A
(
3/ ;
; ! / - ? 0 0 0 <
! "
# $ % $ & ' $ ( ) *
( ' + , (-
. & / 0# ("
! " ## & $
$
( ! '
( ! ( % ! # ! (
& $ ( & $
' .
#
&1
#"
' $ &
. .' 3 #
¼
(
( 2 . $
4 &1 5 6 7
% ! 3
2 .
(
' ( 1 ,
# 7 5 % 2 (
-"
( $ " #" $ #" + 5 5 &
!
2 #
& $ & ( 5
* $ ( 5 & '
"
! "
# $ % & "
%
' & & ( ) ) * + , # ) - . /& 0 1)
- , .
& 2 $ ¼ ½ *
2
3 2 , "
' 4 #
5 #
4 , ' # 5
! ! " # $
!
% & % ' ( ) ! * + ,+-. / " 0 ' $ ' 1 2 3 4 $ 2 % 5 ! $ $ ! 6 $ 3 3! 4
&3 $ 7 ! ,+8. /
9 % : %& ;' 3 ) : ; < :(= 2;> ! 2 ' ! " $0 % ? $ $ % * $ 3 @ * AB $ A 9! = %
4!$ 2 !
' ! )! *5 #
!! " !# $ # % # ! & ' () !
* + & , ) -./0
1 2
3
! 1
# 4$ 5
5 1 ! 6 ' 1 5 # & 7
' -8 ) 5 1 4 5
&
4 ' ! )9
" 9
! :
! ; 4
$ 1 ! 1 4 1 !
! 4 !
$ & 9 :
! $ #
" ! #
%
% # & '# # ( # ) *
+ , # - # #
. 0 ¿
* + # / # 1
#
2 .
0 # + 1 *
1 * 1 # 0
+ 1
* #
+ 1 1
+ 0
* 1 3 "
1 #
# # +
# $ *
* #
# # 2 !
$ 0 + # + 1 * # +
0 1 4 $ 1 0 ! # +
#
3 0 5
1 0 1 ! 1
. #
0 1 %
4 0 + 1
#
1 # * . ! 1
! 6
$ 3 ) 7 *
# 51
$ 01
+ $ 1# #
¿
! "
"
#
! " # $ ! %
& % ! " # $ '
! ' ! ( " # $ " $
) * + ! ! & º
, ( $ - . $ ! $ $ , $ ( !
( /
0 $ ! $
$ ! ! 1 2 3! " / ! ) 0 1 3 #
4 0 1
3
3 , * $
! 5 $ &
, !$ 2
( & 6 7 8$ "!! 7 3 (/ !
$ $ 6 7 ( # . $ ! $ " $ $ 9 " . $
! "
# !$ !
# % &! ' () * + !! %
(
), -
+ )! $
! " ! . ) / 0
º
# /) 1
! 2 ' )
" ' + !! ! ! !! 2 "
)
#
% ' /
" 1 $ 3 4 ! 1 !! . / ) 5675 & 8 '9 ' + & - ) + & + ! 8 ! 9) 2 ! ' / ) ) #) + ! ! !! % + & ! ! . + )
'
) /
:)& + !! / 56;
" % 8 : ! ) = " = " ( = % ' + ? $ @ + ) % : @ , " ( # : "
% - ; 7 , ,( $ @ % , % + - ,
! ½¾¼ !! " #$ %! & $ ' $( ) * + &% $ , !% - & . - / $ &% !% 0'
% .% 1$2 3 &% "$ . 4!5 / . !% 6 '! 1$ $7 $ $ 7 ' . ! / 1 - . 8+. +" %! . $ . !% - $ !4! . ! &! & " %! ! ! 7 9 ) #$ :1; 4 . 7!! - %
1 . " #$ 7 3
$ * . % / 6 , 1 ! ? ! # $ 1
!
" # $ ! !
" ! % &'(( ) * + " ," .
. " ! / &'(( "
" 01 * 2 % 3 4 5) 6 7 . +
8 6 9 ! : 0 $ ! *!*
; :
*!* ? * % * ) 9 ; ! 6 = 1 &@'A $ !
; " !* > *
. !! " + / . 9 ! $ ! 9* 8 7
½
½¾
!
" # $ %&
! %" ' ! ! &
( ) %& *+ %& '
* , !- )
!" # $ % & ' ( ) * ! + '% * ,
. %/ * % %0' * 1(#% !
2 * ) % 345 ( %/ * )
% ! 4/ % ) %0' )
&' ! '/ ''! $ 6 '
%/%
&
!7 & ) %)
!8 ) 9 )
"!: ! !:
. 0% "!: ) ;
$%
% / )
% < ; $%
! 2
!
# &'
%0' ! $%) 9 8 % - % 0 4 ! - 7% @. 3
" @ > 8% = -2 2% -= ! ,
A B :% > 8 , , ! /
# $
!
" % " &"
' # $
" % " &" (
" "
" " &"
)
*
'
!
"# $ %
&'" ( )
( * + % " , - . *
. %
- - % # " / 0 1 - 2 $ " 3 2
*
% 0 4 2 - 5 , 4$ 6 - 1 !
7 2 !' - . -
- 5 , 78$
79$ )
$ !
&
, " )
0
!" #" #" $
$ % #" $ &$ '
% ) " $ & &*
+#" , #" +#" &$ *" #" #" " #" "(
" + +#" #" - " "
. " /
) 0 - " #" #". *#"#" 1 $ - " / ! ! 2. & #" #"
)*#"
+#"
1
.
1 #" $( 1
+#"
$( 1
#" ! 2 #" #" #""
1 !
,
+#" 3 "
+#"
3 4 5 6 % " #".
" #" ).
0 / '
3 7 #" - " 8
#" 1 " #"
* %#"* " $ - 9: ; " & #" / ) #"
/ 1 7 #" #"
$#"
%#"
4 5 " / " 1 #" %#" 4 "
$(.
*( + - " " )
& " #" $< #" " #" - " + 1 .
8$(
#" + #" #" -
#" #"
&
&
"
!'$
!#
"$
!#"
%$
&
$
Erster
Letzter
& & " !'$ !# "$ !#" %$ & $
½
¾
¾
! "
# $ % & ' () &( & ( * $ ( # ' ( $ + ( + ( &
!
, - . / ( " + # ) . ( . ( & ( # ) +
& $ , & # & + ) # & %
, . # $
$ # ( - 0 , ) #/ & #/ , $ ( ( ) # 0 & ( # & ( 1
#
. - #
!)). (
, % ) % 2 . # 3 % ,
¾ ¾
»¾
¾ ). (
4 !)
!
"
# " $ % " & ' (
$ ) % * + , "
"
+ # "
*" -$ . /.
) "
/ % #
( . 0 ½
/
*
" " .
$
" # +
%
/
" % " ' ¾ 1 * ,
2 ) ' "
$
% " 3
% 0" 4
+ " % / $ ' 3 .
%
" / . " "
" ¾
' '.
)
-0 5 - * ( $ 3 . 3
) 5 -
' "
) " $ ) 5
¾
¾ ¾
6
% "
%"
" , ¿
" 1 2"
"
'0 7% 8 .
" 0 ' 9
ein O(N3) Algorithmus für P
O(N N)3)
obere Schranken von P ein O(N2) Algorithmus für P
Ps inhärente Zeitkomplexität
O(N N)2)
algorithmisches Problem P
?
ein Beweis, dass P in O(N × logN) ist
O(N N) × logN)
ein Beweis, dass P in O(N) ist
N) O(N)
untere Schranken von P
¿ ! ¾ " # $ % " & ' ( ) * *+
! "
! " " # $#
! " " %
& # # $ ' $#
# " %
& ' " (#
)
"
" ¾ ¿ * ) " & " ) "
" + ! " ) ) " " ! #
" & , -
../
# * " "
" 0 * # "
' "
0 ! " " 1 "
" " 2 & 3 ( " " 4 " & " " " 5
" " 6 "
!" #$ ## % & % ¿
Vergleiche Folgen von vergleichsfreien Anweisungen
Y ist 6-ter in L
Y ist 4-ter in L endgültige Schlussfolgerungen Y ist 7-ter in L
Y ist 2-ter in L
Y ist 7-ter in L
Y ist 4-ter in L
Y ist 3-ter in L
Y ist 1-ter in L
Y ist 5-ter in L
!"# $ %! ! & '
& & " ! ( % )
* ! % * ' $ & $ ! ) )
) ) * + )!" ! )
& ! )! % # !" *! , ! ' - , + (
* ! +* ! . ¾
¾
¾
¾
½ ¾ ¿
! " # $ # % $ &
# $ ' ! &
( ) (
! ( ( * + %
, ( ( *
, &
( +
!
' * ( -.) / ( / 0 !
1
½¾¿ 2 1
! 1 !
+ ! * +
3 4 0 ½¾ 5 4 1
+ + 4 ( ' 6 + ) 7 +
4 1 1 * '! 0 + 6 ) 4 + 1 8+
"
¾
¾
6 0 ¾ ! 6 1 (+ ( ! / (+ ' ( -.) 4 6 0 ¾ 1 ! ( ¾ +
! " ¾ # $
! "
# ! $
% & $
'
"
! ( " $ ! & ) % $ * + & , ) - ! . $ %
/
' 0 1 $ *2 ) 1 ! ! % %
$ 3 " %
$ 3 " ! ! 4& - ! ) + ')
! " ) $ . "
')
3 % / 20 5& 6 7 / $ & 0
8 9
$ /
5
50 ' $
! " # " # $ %
&
% '
( % )
#
'! %
*
(
$ + % ", * "- & . " / $ *, & * + 0 1 $ 0 % 231 (
"
) "
+ ( "
$' 4 # " 5& $ ( / % 6 " 7 " 8 8 % , $ & % ( $ % ( " $ $' 4 6 " ) $ 0 $ ) $ 8 1 (
%9 :
;
"
&
#
$
'
" !
%
"
#
!
¾
! " # $ % &% ! " '
!
# ¿ %# & ' $( %# #
"
$ %#
% % * +
, -# )
%
$( % # # )
(
( " ) " *+ *,-
" *+ ! #.$ / #0$ " *,- ! 1 ! #0$ 2 " *,- ! ( 3 4 ! 1
5( 63 " 7
&
#
$
" !
' "
%
!
#
!" # $ Ý% " & ' (" ) * (" + ÇÆ Æ ' , -"
. -" / 0 1 , 2 2 # # ) - (" # # ' # + 2 # - (" &3 Ç Æ " ' , -" & -"
' + 4
½
. 0
) 5 6 . , , %052
! " # $ # % & # " ' ( )
" # * )# +" , - - . # / % " # -0 0 ' " # ) " 1 " ) $ )# 1 21 3 4 % 5 + " # # " * $ #
" # 6 '" " # 1 1 # #" + # ( # &" 1 1 " * " # ' # 7 " # % 8
9 +# : % +" -" ; " # #"
! !"
# $ $ % & ' !
! ( $ (
! ) * )
!
$ + ,
- *
. % * ' ) ! & . $
* % )
*
/
$ " % * % ! !"* " ) 0 )( ".( $ * ! * ".( * % " ! * " - !
%. ! %
* 1 ( ) $ ' * # 0 ! ! 2 3 0 /" % ( # !" #
! È " ˾ Ì
ÇÆ ¿ Æ ¾
! " # ½ $ $ % !$ % % !$ % & ' % "
# ($ $ " # ($ ) & ! % ' %
*
* * * % ' %
*
+, - ' . $ ' / 0 1&2
0 . $ . 3& 4 $) +, % ' % + !$ ,5 % 0 .
5 6 & 4 $& 0 % 0 0
¾
¾
! "
# $ % " & & '( & ) * + %, '( ) - + . '( & / ) % 0 % !* & 0 % !* - % - 1 + 2 + 2 + 2
3+ 4 - 5 0 6 * ! '( 7 +
* ) 6 8
0 % !* & ) - 9:! !;
% . 1
) %, + 1
2
%, + ! 1
2
2 '
9 /
?# % " 6 @ - ) % 1 '( 0 = 39 4 6 ? '( 0 6 #
! " !
# $ ¾ % & '( ) * + ,- . /( ) $ 0*1
* ) $ ) 2 3 45 46 ,, . 1 7$/( ) 1 3 48 !! 9 2 "
'1 ( ) 0 !
7 12
3 4
: $ ' ; ' ) $
'( ) 1 *
/ 7 7
# $ ! % &
*
+ !
) , (
-./ "
" + !
+ !
*
$ ! % (
)
*
! "
'(
0
) !
) !
"
! (
1 2 3 " " )
%
½
4
% 6, %
!
¼
"
¼
) 0
4
<
= " $ " > % + "
0#
7 -.89-:; "
5
%
, 5
?@! ?@!
' ! '
Anordnung existiert immer (a)
Anordnung exisitiert nie (b)
! " # $ ! % & '" ( " ) '" *
'" + + + # * + ++ ) ) & , '"
- " . '" "/ )% %
0 1 ) , ) 2 '" ))* )% ! * * 3 '" " )% % 2 ! ) ) 4
5 - ) * "
- 2"6 " !* ,
N
20
60
100
300
1000
100
300
500
1500
5000
Funktion
exponentiell
polynomial
5N N × log2N
86
354
665
2469
9966
N2
400
3600
10,000
90,000
1 Million (7 Stellen)
N3
8000
216,000
1 Million (7 Stellen)
27 Millionen (8 Stellen)
1 Milliarde (10 Stellen)
2N
1 048 576
eine 19-stellige Zahl
eine 31-stellige Zahl
eine 91-stellige Zahl
eine 302-stellige Zahl
N!
eine 19-stellige Zahl
eine 82-stellige Zahl
eine 161-stellige eine 623-stellige Zahl Zahl
unvorstellbar groß
NN
eine 27-stellige Zahl
eine 107-stellige Zahl
eine 201-stellige eine 744-stellige Zahl Zahl
unvorstellbar groß
½¼¼¼ ! " # " ! $ !
% &' '
( ' ) * ' +
, , ( ! ! ¾ " $ ! , $ ! -
' . ( $ /0 /1 !
2 . !
3 ! $ $ /4 !
3 ! 5 $ $ !! '- ' $ 6 , $ 7
$ 8 " ,
!
1040 NN
2N
1.2N
1035 N10 1030 Anzahl der Nanosekunden seit dem Urknall
1025
1020 N5 1015 eine Billion eine Miliarde
Anzahl der Nanosekunden an einem Tag
N3
eine Million 5N
1000 100 10 2
4
8
16
32
64
128 256
512 1024 2048
! " # $ % & ' " # ( " % ! ' ) * + , %
-. /" 0 ) ) * " ) 1 ) * 2) " 3 ¾ ) ) * 2) ) 2) 2 $
N 20
40
N2
1/2500 Millisekunden
1/625 Millisekunden
N5
1/300 Sekunden
1/10 Sekunden
78/100 Sekunden
2N
1/1000 Sekunden
18.3 Minuten
36.5 Jahre
NN
3.3 Milliarden Jahre
eine 46-stellige Anzahl von Jahrhunderten
exponentielle
polynomiale
Funktion
60 1/278 Millisekunden
eine 89-stellige Anzahl von Jahhunderten
100 1/100 Millisekunden 10 Sekunden
300 1/11 Millisekunden 40.5 Minuten
400 Milliarden Jahrhunderte
eine 72-stellige Anzahl von Jahrhunderten
eine 182-stellige Anzahl von Jahrhunderten
eine 725-stellige Anzahl von Jahrhunderten
! !"# $ % & '! ( ) * #
!" #$ % ! &
"
" #
& ' ' (# (# ' % ' (# (# ) ) ! * +,-+. / 0 " ' $ ! % ' #$ !! & !# 1 ! 1 " & %
½¼¼¼ 2 )3 ½¼¼¼ ' 4
#$
) & ! # ½¼¼¼
! ) 5 ! / 6 %
unhandhabbare Probleme handhabbare Probleme
Probleme, die keine angemessenen Algorithmen zulassen
Probleme, die angemessene Algorithmen (Polynomialzeit) zulassen
! " #
! $%&&'! ¾ ( $ & ! )*
( + ,- . # / ! +
(
!
01'&2! - 3 . ! " ! ! ( 2 ! , 3- 4 5! 6 7 8# 9 #!
-&
# ( º : -
, 0
: 2 - 8
2 "! 8
¾
!" !
#
$ $ % & !' ( !
$ )!
* (
+! , !"
Funktion
º
º
º
Maximal in einer Stunde lösbare Kartenzahl: mit heutigen 100-mal schnel- 1000-mal schnelComputern lere Computer lere Computer
N
A
100 × A
1000 × A
N2
B
10 × B
31.6 × B
2N
C
C + 6.64
C + 9.97
! " # $ " $ ! % & $ ' " ( $ ' ! ) " * ! + (
, ( , " - . % ( /0 11 2 $ * 3 " ) ( %( * $ ) ( . + . 4
' - 5 $ /0 6 ( * + * + 4 4 * $ $ , * $ $ ( * " ' 3 $ 4
!"# $ # %
& !' & #
( )' *+ ! , - . / 0 ) 1 ! !' ¾¼ 2 3 0 ! ! 4
' ! 0 5 ! 5 ! +
! ( ) 6 $ 78 ! - ! 0 # 0 ! !'
#
*+ 9
*+ 2! 6 : ! % !
! 6 ) 0 9 ! # !
0 *+ # ## $!! ## $ 9
!' ## 4 !
! "!# $ %& ' ( ) ) * )+ , , - , ), ( ! . / 0 ! % ! ' + % ' 1 ( # 2 ) 3 ! 4
1 ) . & / 0 ! % / +
) 5 - 6& ! ! ) . .&
), ( + !+! ! ) ( 1 !+! % 7 "!# 8 6 %%+! !
, )
8 7 9 ! ' + . 7 ., % ' .
& 5 ' & !% ) ., + $ ! ., 7 7 % ., 1) 7 9 ) 4
! 5 ! % , 0 . "+ ) & ! &
6
6
3 9 4
8
4
3
4
10 3
7
5
7
3 7
5
(nicht maßstabgerecht)
Gesamtkosten: 28
ÌÓÙÖ ! " !
# $ %&'( ) ! * + , # - $ "- " ./0 .0 # " $ 1 2
" 1 - 1 ( 3 " 3 # " 1 3 !
1 3 4 " $ () - # 5 6 3 7) 8 * 9 ) # ! ./0 " 3 # .0 " # " + 6 : 6 , ; " - " ! - 2 3 3 ) ! * " "! " # 1 2 '1< " 1 " " " 18 ) 1 , 3 6 " " " " ! 3 " 4 1 ) " 1 8 1 9 !
ohne die zusätzliche Kante gibt es keinen Hamilton-Pfad (a)
ein Hamilton-Pfad (b)
ohne die zusätzliche Kante gibt es keinen Euler-Pfad (a)
ein Euler-Pfad (b)
! " # $% & $ ' ( ) * + ! , - . / 01 2 + " 0 $ . #
) 3 % .1 ) , - 1 ! 4 5 $ ¾ 6 7 / 8 . 0 ) / 9: $ 01 2 . $ 01 ) ) !; ½ % - $
¾
! ! " # $ # % &
&
' () *
( +
,
+
-& +
, . + " , + / ! , , + " () . 0 () , " ,* &
+ / "
+ & ! 1 0
* 2 3
. () * $ 3 "
4 +5 - % - " ' 6 78
7 8 7 8 7 8 9 3
:
* $
½ 3 * ¾
*
! "
# # $ % ! ! ! &½' ! % &¾' ! ( ! ¿ # $ ! ) * $! +
! , % % ! .$ /! ! !% $ %
" $ ! ¾ & 0' # ! 1 " 2 * +! .$ " (% !% $ %% ! 3 4 .$ " % * % $! % %
5 6$ 7 ) - -8 1 /% ! !+ % /+ !+ & 799' ! /% % : # 1 /% ! 1 ! /% % !+ % % + *+ & 0' ! + $! ¿
!" #
$ # $ %& '
( ) %&* ' & ( ) ( ( * + , % - # (. / ( %& ( 0 %& 1 %& ( / 2 %& + %& 34!25 0# 6 !"
# $ 72 34!25 )8* + # -
!"2 !
& & 9 2 + # 6# + ) *: + &2 # + # # , + $& -
!"2 2 & ;/< ;< ;/< 0# / +
!"
# $ %
&
' # # (
) #
# ( * +! # !
, # -
#
( . / $
## 01 023& #(
+
) # . #
4#
'
) +
# - # (" - /%
(
' 5 # 6 ' 5
7
(
( !#
) #( -
$8 # * & (" - 9 * % # !# !: ) #
9 ! # # # # ; # / # # ! # 5 - & # (" + " " " - ? . 7 $ & #
!"# ! $ !"# ! % $ ! ! $ ! ! $ !" # ! $ ! $ &" $ '# ( ! !"# $ ) " $ * + ' $ , - $ " ' + $ & ½¼. ¾¼. $ '# (
' $ ! - $ !* " ! & $ !* " $ & & '# ( " / ' '# ( $ $ ! !
01# $ , !"#" ! 2 $ $ " % $ $ !"# ! 2 !* - 3 $ 1" ! 4 !"# 5 # 4 0 65 ' ( ' ! $ 72 )8 ( ) 7 $ # 7 - )$ 2 ) 3 $ !
! ½ " # # " # $ %
! & ' ( )) ) * ' ! ! ' % ) ' # ) + , #
* * * - . / # " # ) / 0 + # ( ! # ) ( ! # ) / ! / % # 0%
# ! , # ! . $/ ) ) & / % 1 2 1 2 ) , # 3 % % $ & # # ! # . % % ) ( # 1 2* % " /
' # ! % % % ( $ & ( 456 % 7 )* ) $8& " 7 )*' % # ) " * ) $ ! ½& , 9 ' % % *
0% ) -
: ) ) - ) # (* 7 )*# ; ) ) % % 9
B gewinnt A A gewinnt
A
B
B gewinnt
B A gewinnt
! " # $
% #
& # # ' ( # ) * ( + ,
# +
( ( ( # - . /
& 0 1 2 3 ´
¸ µº
) ( + ( $ ( #
( $
( # +
$ ) ( # ( ' 4 2 5 # # 4 6
!" " #" # "
$% " & '
' ( )*" " "
+
,
)
" " +
" + -
"
"
# . $
) /+ +
"
0# 1 +
1
/+ )* " 0# 1 +
) /+ +
1 "
/ 1
) /+ )*
$
/
0 2 3"
+ / " )* + # 4 #5 * ) $ " 2$" )" 6 )*3
/ "
$ 7 8 " / #
) + " "
/ " / 9
) " /+ - (
"
! " # ½ $ ! % & " $ ' % % " % ( ) (
* + ," % - .( & ( ) $
& (/ % 0" /' # , 0" , ' . ) , ) ' ) ) & # ) ( 1' ) '# ( ) ( ) * ( ) . 0" ) % % ( ) "" 0 " ( " ' ( + ( " " ' ( !" 23 2 3 (# !" 4 . , " ' " ( ( 5 6 ¾
¾
¾¾
¾¾
# "" 0" ' # ) - 7" '8 ( "
½ ¾ ¼
¼
¾
¼ ¾
½ !" # $ %& # ' ( ) * # ½ # % # ( * # + ¾ , ¾ - ' " " ""
" * !" .
/ " " 0 0 !" ) * + " " 1, 2 34 "" !" % " 0 #( !" 0 # % " ( 0 ) 2 34 0 " * # 1, % ( " * 5 1, .
! " # $" % & &'" " ( '" ) * + " * ," +& " - ." ' / % &'" 0 1 &23 & $ . $ " " " " & 4 5" " ' " 6"
7" 8 4 " " # 9 " " 9 " " :&." '" ; /& 0 8 " ( (
9" 0&7 0 " < +. 0 7 ,5= " 5 " / " " - ! ) " % &'" & . 0&7 0 8 +. 0 (& "" " " '= +" '" / 7 " # " "" ." * % & '" " " 0 9" " ,5= ' ' # / " / '" * '" +" : 1 -/ "= "/ .
Presburger Arithmetik
EXPSPACE Roadblock (siehe Abbildung 7.14) EXPTIME
PSPACE Affenpuzzle (sieheAbbildung 7.1)
NPC co-NPTIME
NPTIME
PTIME LOG SPACE
Gehaltssummierung (trivial) und Primzahltest (nichttrivial)
LOG TIME
Telefonbuchsuche (siehe Abbildungen 6.1 und 6.2)
¾ ! "#$ % & ' ( "#$ % ) *+ ) ( , -( , -( . " , / " &0 1 * 2 3456 "#$ ) *+ "#$ ) *+
"#$ ) *+ ¾ "#$
7 , 8 / 0 , 9 , 8 "#$ % 8 , % , & 7 ' : , - % 8 , "#$ ) *+ # & 7 , . ; - ) " ) *+ "#$< 7 , , , , " *
º
$
# #
$
%&'
! "
( ) % ) ( )
( # * +
) ,-. # ,. # / ( (
#
1
0 #
# - 2 " (
#
( )' # # 3# 0( ) 0' ( 0' ) ) 0 # ' # )
4" #(
)
3 3
%&'
0 # *
4" # # #
( "
%#)#
*# 3# ( 3)
%%&
4"
# ) # !
# ' 5
%%&
# # (
(
$% # 0
'#6 '
( 63 " ) #
-
) ( ) ) 3# ( ,'#6. # ,'.
3# 3( ) " " ! ) 5
(
'
) # %%&
%#)#
(
# 0' 3# #
#
# 7# ( ) ) $% 88 # 89 # )
!"# $ % &
$
% '
!" $ ( ) # % # # * +
( # , "-
. % & #
( # , "- '
/ 0 % # #
1
2 * # & 0 # &
# 2
2 2 & & 2 1
3 # & " 4# # 2 &
½ ! " # $ % &%' ( " )$ * $+, + $ + * - $ $
¾
¾
½¼
¾
&%. / 0 0 &%& $ *% 1 " 1%
(
¾
$ 2 $+
!$ 2 $+
!$ 2 $+
¾
" " " 0! ( % 3 " $ 2 $+ " % &%4 1 " $ 0, 5 6 $ ! $ 0 * $+, % 1 " $ 0, 5 - (
1!6 * $+, ¾ % 7 " 1! $ $ " *! $+,%
&%8 7 $$ " 1- - $ -
! "
#$
! ¾ % & ' ( ) !* & % +$ ,, - . / * / 0% &
,1 0 2 - 3! 4 3% ! 4 5 - ) & * - 0 *
½ ½
! " #
! "
½$
% " ! & "
# ' ! "$
#
! ' ! "$
#
() * $ + & , - $ % &. & ! +- /
0
# + 1 +$ &. & # /$ & &- (23 '- $ 4. ! . -. $ & ! , & 5$ & ' - . 6789 ' $ . / !
-
-
(22 * : * 0 ;
! $ # * 6 .
' '
: ?
6@)/ 6@)/ 6@)/ 6@)/ #%/ #%/ #%/ #%/
!
! "
#"$% & ' & ( & ( )'*+ , "
-.
"
-. /0
"
"
/0"
1" ! 1"
-. /0"
! /0
/0" 2"
3& ' &
1 ' 3
1 ' ' ( " #"$# 4 1& (& ** +*
3 45 & & /'
+*
( ' &6
! " # $
! " ! ! % & ' ( ) * + , - + . / !0 1 " 2 # 34 5 , 6 - * " , 0 7 8 09 7 & $ 7 1 5 3 7 , ,# : " : 6 0 , !0 1 , 0 5 , 6 8, ; * & 7 16 # 5 8, <
!" # $ % &
' # # ( " ! % "" ) * + , !
&" - $ . / &
. # ! 0 1 % 2 2 / # - # 3 &" 4
! 5 )"
4 ! 2 2 # ( " '
# / & % ! 2 & + # # " # . + 2 &
.
+ -" " ½ ¾ % 6 7
8
½
½
¾
¿
!
"
#
$ % & $
' (
%&
& )
& * +
, -+
. ! ! )
,+
+
+ / * ( ,0 0 1
) ,+ - 2 * + & 1 & -+
3
+ &4 %
& + ,+
5 +
62 6 & . 7
$
* +
+ + -+
8 * 2 6 4 -
- & - - & -
9 - & ½ " : ;# ( -
< "1 %
& , =# / Ì -
% 6
62
-
Ì % - /
-
7
!
Ì ! " # $% % & '## " () #
* % # %# $ # # # %#%
+ % , -. + #
%
% % + (
/ # 0 , % + %
" #
'##
( 1¾2 1¿2 , -3 ! % 0
, % #
%#
% # , -. , % 456 , -3 , % 46 7 + , % #
4 % # 6 8 %
0
& / 7
# , % # + 9(
%# :" 5#, % # ( ## # Ì 1
%
!
! " "
# ½ ¾
Ì
$ % &' (
" " ) " (
* + ,½
&"' ( + ( - " . -
$ " $
/
+ " !
) 0 0!1 !
!
0 " ) 2 , 23
" 45 % - " 6 " % ( Ì 0 0!1
- $ 7 86 ,
unentscheidbare (oder unberechenbare) Probleme unhandhabbare Probleme
handhabbare Probleme
Probleme, die überhaupt keine Algorithmen zulassen
Probleme, die keine angemessenen Algorithmen zulassen
Probleme, die angemessene Algorithmen (in Polynomialzeit) zulassen
! " # $
Ì % Ì & ' & ( ) * + , ' + + + -+
-
. * & / 0+ 1 + - $ & ' &
& ' -
/ 2 + * 3 04++ ' -+ .& +- / + + 1 " 5 Ì ++ + 6 -+ 7 &8 & 6
9 -+ .& % 0" & +- " 1' + +-
W
Î Ï
V
! "! # !
" $% &' (! ) * + , + - % . + /
,
Ì ! Î Ï " # ' , Î Ï 20 3 0 " $+ 1
$ 4 ) 567 # 8
Î
8 +/ !
+
Ï )
# 8 , " " 0 ! ) " + ) ,% . ) ! ' 8 9 ' 0 *
)
$ 8 % ' 4 )! " 7 )
4
7
: 0 $ 2 +3
!
" # " ! $ % & ' " " ( # (
) # # ! * + # ,
Ì -
#
. '
-
- #
"
# !
. ! " %
# +// 0 "/ 1
2 +// 0/!
" 345 6 . / +// !0!
2 " "
$ ! ¾
!0 # " 3456 # " 345 6 #! . % 0 " 2 - / / # "
# " 345 6 " 3456 1 " " ! ' 2 0 /0! 0 # # 0 "
7 " 0 ! !
1
2
3
4
5
X
abb
a
bab
baba
aba
Y
bbab
aa
ab
aa
a
(a) Lässt eine Wortensprechung zu: 2, 1, 1, 4, 1, 5.
1
2
3
4
5
X
bb
a
bab
baba
aba
Y
bab
aa
ab
aa
a
(b) Lässt keine Wortensprechung zu.
! " ¿ ¾ ¾ #
" ½ ¾
$! %! & ' "( ) ( * $ ! ! ! * + !, % * ! +- . * ! ' +- ! ! ! " /0 ' . . ! 1 . 2 %3 $4 . % ! 3 + ! 5 . * % * 6 . 7 . 7 ! ( 8 ! + ! 9( ! 6 . ! % ! 1 + ! 2 1 ! . 6 7 3 ! 1 2 ! 1 : ! ;( ! !
& 1 ! ! * ! 6 - ! ! 6 1 . +- ! ! ! * & !
Ì !"# !
$ Ì % &
! ¼ $
$ ' ($ ¼
)
' ($ *& + *+
! Ì " Ì
# ! "
$ % Ì & " ' ( Æ ) ¾* % ! ' +& +& " ' Æ , " - . Æ ½ /+
" ' /
$ , Æ ) 01$, * ,
,
- $ . /(
" $ 0 -1 , $
0 $
2
" $ 0 " $ $ *& + 0 & (3
0
$ (/( $ *+ $ 0 $ 0 $3 4
0
20
! "
" #
$ $ %
& ' $ $
%
' ( ) ) %
) ' * + ,
) '
( - ' ))
") . ' )
/))
) %
0 ) )
%
0% % " ' ) 1
# ) " ) # " % 23444 ) 5 ( - 678 % 93(,
)
$ ' 93(: '
0% + " ' %
0% 93( ' ; ) ) # ") )
)
' # %
)
1 )
%< , = ' )
* " ) >
¾
! "
#
$
%
$
½
»¾
¿ ½
& '
" $
( # ) * & " + ' ) , , - # . # ,
, " / )
0 1 * / 2 , 3 # 4 5 , " * 3 ) & 3 6 &+ + 7 / # + %, ' / & / $
/ 8 3 % (
½
½
Ê
" # # % &' -% .
!
# $ #
()* + $ '
,
Programm oder potentielle Algorithmus Eingabe R
X
Hält R auf X an? falls R(X)↓ ,,ja“
falls R(X)↑ ,,nein“
!" # $ % & ' ' (" % ) ) * # " + ,-. / & " , . " / 0 * ) $ 1 & # " %
2 3 %* * ) ) & + % ) 3 4 # " "
# 3 5 #
) & 6 1 7 # & ) % ½ ) % # ) ¾ )
!
" #
$ %$& '
(# # ) #
* + , + # *
+ +
*
*
# + - + * .
+ " + / 0 1
, 1 , 2 + ! # # #
+ 1 3 4 0 5#5 ' 65 + + . 65 + ) # 7 *
6 5 + 5 6 + # + 6 )+ # 5 + 8 + - '5 +
9:05 #
+ , ; * +
- 5 * + )+ " * < + * # =
! " # " $ % ! & '
'
! ( ( ' % ( ) )
' )
( ) * & +, -
+, - . / $ $ , / ! " # $ % ! &
" ' () * + $ , # - % $ # . ' $ . / * * ! & 0 " + 1
!
" # !
$ ! ! $ % & ' $ ! ( $ ) *
+ $" , - &
)
+ ) " ) * & * '
' & .
/
)
$
) * & ) )
& ) ) 0 " !
& $ $ 1 ! ' .
/ ! ! ) &
$ 1 2 3 &
%Ë %É *
2 & $" )
" ) ¾ $ 45 6 78 78 !
Ï Ï ¾
! ! " ! !
EingabeProgramm W
W
W (hypothetisches) Programm Q für das Halteproblem
Q
,,ja“
,,nein“
neues (hypothetisches) Programm S
Ë
Ë É É Ë É Ë !
" # $
ÇÍÌ
ÍÌ % É & ! ! Ë ' ( # Ä % É )
Ë '
Ë ! !
* ! +
S
S
S
Hält S auf S an? Widerspruch
S(S)↓ ,,ja“
S(S)↑ Widerspruch
,,nein“
also S(S)↑
Ë Ë
also S(S)↓
Ë Ë ! " É # $
Ï Ë Ë Ë Ë Ë Ë ! " Ë # $$% # % & É '( É ! É Ë Ë ) Ë ) Ë É * +,-
Ë Ë É ! Ë Ë " # Ë Ë $ ! % &$! Ë Ë & ! '' ( )
% Ë Ë * ) É Ë Ë + $ Ë , Ë & )
Ë ! , "
Ë - Ë !
( ! !
É
.
/ ! Ë %
É ,$
01 . !
! " #$ %& ! " " " " ' ( ! $$ ) #$ ! $ ! $ #$ *$ + ( , $ ½ - . / '
" 0 1 #$
2 ' 0 " 3+ "
8
nein nein
ja
nein
ja
ja
ja
nein
ja
7
ja
ja
ja
nein
nein
ja
ja
6
nein
ja
ja
nein nein nein
ja
nein
5
nein nein
ja
nein nein
ja
ja
nein
4 alle Programme 3
ja nein
ja
nein
ja
nein
ja
ja
ja
ja
nein
nein
ja
ja
nein ja
2
ja nein nein nein nein
1
ja
ja nein
ja nein nein nein
ja
1
2
4
3
ja
5
Diagonalprogramm
vollständige Beschreibung der Halteinformation des 5-ten Programms
nein nein
6
7
8
ja
nein
ja
alle Eingaben nein ,,Negativ“ S des Diagonalprogramms
ja nein
ja
ja
falls S das 5-te Programm war, müsste dies ,,nein“ sein
! " # $ % & & $ & & & ' # ( & ) # *+ ' , & ( ' - . ", /0 1 " # *+ ( 2 ' & ' ' & ' Á
Â
Á
Â
Á
Á
Ä
Ë
Ë
Ë
Ë
Â
Â
Â
Â
Â
É Ä Ë ! Ä " # Â $ Ë % Ä Â & Â É $ $ Ë $ ' % É ! ( ))*" É + , - +., / ! - Ë 0 1 $ . - / 2 Ë Ä $ % )3 % Ä . " / % 4 ! 1 + , Ë / 5 - $ Ë 0 6 / 1 Ë %
!"#
$ % & '( ( ( )(
* + ( , -
.( (
!"# + ' . ( . / )( "( ( 0 ( 1 ) ( &( % )( $ % +2 $ ( )(
+
+ (
.( (
(
( ( )( 3 " - ( (
!"# ( 2
! " # % #
$
&
' " ( )
% *
%
+ ,$
%
! "
( - *
) # * %
,
" ! . " $ # , " /(0 1 ) " 2 & #
/0
3
4
"
" , ! #
) "
/0
% "
" 5 " ! & ,
2
) " *
.
2 -
) " 1 "
)
1 - ( ) ! 6 - /(0$ /0$
, # !$ 6 " 5 )
4
# /(0 /0 # ! $
) & , ( +
!
( "
# % " ! - 3 . "
Eingabe X
alle möglichen ,,ja“-Nachweise C weist X nicht nach erzeuge und überprüfe einen neuen Nachweis C alle möglichen ,,nein“-Nachweise C weist für X ,,ja“ nach
,,ja“
C weist für X ,,nein“nach
,,nein“
!" "#$ $ % $ &
' % # ! $ ' !" # $ ' ( !"#$) ' " $ ' ( "#$) ' * + # , $ - $ + . / !" "
* 0 # $ '
! " # "$ % & $ ' ( ) * &
$ ( # " + ! " ' ) ,! # '
% - $ & $ $ " ' ! . -/ & $ - 0 + - , + & $ $ 0 " $
$ ' $ 1/ # $ ' ( $
' ! ( - ) , $ * ') .! $ 2 $ !' ' % $ ') ( 3 & $ $ $ & - , $ 0 " " ¿
, & $ 4 , $ *$ , $ 5
,, $ & - , $ ! & - , $ $ $ ' 5 6 , - -/ * " '# '
- 7 - ' " $ ' +
$ 7
- ') 8 -/ &
$$
' ( ! -/ ( $ 5 $ , - - $ $ -/ , , ! $-
! " # $ % ¿
! " !
# "$ % & '
(
"
) (
" *+ , - . ( / "$ ) ( + % % % " 0 *+ ( ' ( ) ( 1 2 3 - ' ( ( , $ ($" 4 "$ "
0 " 5 4 "$6 , 4 ( % ( 7 ( "$! 5 64 "$ "
0 ! 4"$ "
0 $($" 8 "
$ '$ 4 $($" 9 ) " 4( " ' ( & 2:3 2;3 , ( < (( =(
&
. ( ( 2 3 "$ $ >
(
*+ ( ' ( ) ( ( ( ,
( 8
! " # ! $ % & # ' ( ( ) " * + " * ** $ % , * - .
- . ( / 0 1 %
& , / + #* (
0 * + ( 2 & 3"45 $ 6 3 5 /
*
" "4 & * 1* ** !* 0 * $ % & 7 8 * ( ( 9 " 4 * * * / " * + 0 " Ì 3% *
!" " ! #
" $ ! % & '() * " ! % & ') +
* + * $ , -. * # / ! " $ ! .
% - ( ! 0 . 1 " 2# # %3 4 #5 * 3 6 $ % " $ !$
7 ". 2% " , # . " . . .8 " % * " 6 "
* " !
/ # 7 . # % . # 2( " " % # * / , 4 & . . * 2# 6 6" ½ *+ ! " # $ ( 9 .& 6 : $ 0
. " 2$ & 7 2 7 . # .
z.B. Wiederkehr-Domino hochgradig unentscheidbare Probleme z.B. unbeschränktes Domino unentscheidbare Probleme
unhandhabbare Probleme
z.B. beschränktes Domino (vermutlich)
z.B. beschränktes Domino fester Breite
handhabbare Probleme
! " # $ % ! % & # ' (
% &% & # $ % % & $ ' ! ( )
& % % *#!$ % + , - . %
/ % % % & !
. $ 0 $ & / % % % ! 1 ' . % % , - 1 $
!
" #$$ "% & " % " '
( ) % *
* + ( , "% - % ( . / *
& % " 0 1 /
* % 2
/ * % "
3 / * ) " ( " * ) 0 & " 4 ( 5
4 " ( 6 " " 3 " 4 0 ( & , ) . ) - * / 7 * & 0 8 0
)½ " 0
" % 0 "
" 9
% 0 "
) "
" ) " & : ; < "
: ; = " 3 > , " 1
) >
. / ) "
: ; ," 1 ) >
. ) >
( 5 ?
½
!
"
! " # $ % #
& ' () " " * + * $ , % % -./0 1 2 3 4 )
5 6 $ " 7 8 9 2 , $ 2 ) ' 6 " * $
$ "
)
: ; 4 & 5 * & ! "
:
$ !
/& / 9 B8 C - 9 "D6# E ,/ !: 0 ! "D4# E , E ! $ ) , % ; 2'
7 $ )" ?( #" 7 ) $
( ( ( $ " )
) # / $ (@ % / &) AB AC $ ½
! " !
# $ % & ' () !
# !
# * " # ! " $ + ! " ! & % * , ! $ . - -- "
. ! ¾ ! .$ / )
0 $ 1
$ 2 3 ! 1 !
4 ! & 5 ! % # 6 # 0 2 7 0 . ! #
¾
erster Schritt (N/2 Prozessoren)
zweiter Schritt (N/4 Prozessoren)
log2N-ter Schritt (1 Prozessor)
$21 000 +
$55 400
$34 400 + $138 600 $18 000 +
$83 200
$65 200 +
+
$547 200
$97 650
$42 550 +
$68 550
$26 000
»
!
"#"
$ % & ' ( ¾ ) *
& ' ( &' % + ' ) , -
, +
. , ,
! " # $ % & $ ' ( ) $ * + , $ & & $ & ) ! # # - $ .! & /0!!1 2 3 * (( & ! & # & & 0 0 . - & $ # ! ( # 2(4 0 & ,0 $ & - 0 5 - 0 * / , / , $ &
# * 5 $ . & $ ( % 6 ' 787 , $ 9 - 5 5 0 0 .
& $ ! : # , / # & $ ! ' ( , / $ # 2 & ; 1 # ( # 0 # & $ , & 0 &
' ( - 6 & .
! "#$ % # "#$ ! $ &'
½ ¾ ½ ¾ ! "# # ( ) ! * + # , - # "#$ * .. * . $$ ! $ / 0 $1 - - "#$ ! ! 1 % ! 2&33, ! # 4 0 - # $ 5 $1! $ $ $1 '
½ ¾ # ½ ¾ "# # 2 ! # 3 - 676 ,
5 # »¾ ! / 5$ & 3 / 8 ! 8 8 - * % ! - % 9! ! $1$ 4 $
Name
Aufwand (Prozessoren)
Zeit Produkt (schlimmster Fall) (Zeit × Aufwand)
Bubblesort
1
O(N2)
O(N2)
Mergesort
1
O(N × logN)
O(N × logN) (optimal)
parallelisiertes Mergesort
O(N)
O(N)
O(N2)
odd-evenSortiernetzwerk
O(N × (logN) 2)
O((logN) 2)
O(N × (logN) 4)
O(logN)
O(N × logN) (optimal)
sequentiell
parallel
,,optimales“ Sortiernetzwerk
O(N)
! " # $ %&
% ! & " ' ( ) $ " * " ' + & ,% ,& - . % / % 0
! "# $ %
"& '
" ( ) *+,- . ! & / 0 1
2
0
. 3 ) 3 ) (4
" ) 0 #
5 3 ) 6 / 7 5 - . / # 8 4 / 2
9 ) : ;
/ #
» ) # #
0 7
& 8 & B
# + ? 0 $ 7
! " # ½
! ! " # $ % ! &'% %% % % " ''% %
( $ ¾¼¼ " ) * & " *%% + % ) % , ' * - ! % . . % / - % % 01 2 % ( . % - % 3 % -%' % % %'% 4 & % ,% % 5 ( ''% ,%6 ,% * % ' * % % 7 ' + % %% ' /% " 8 + 9 % ( % " % ' $' % ' "
,% %
: ;' < ) ,% ' + 5 + . 6 + * + = , ,% * ,% ) ,% % $ '
+ %2 * ,% + > ) ' ,% ,% 9 + '% + * ,% + % % % % ' .
!"
# $ $%
& #
' & #
$ #
#
½ (
& ) *
)
(
)
+ * )
( ,
) -
# ,
.-
)
+ / + 0 + ( #
& )
) # + & #
# 1 2 )
$
)
3
4 5
3
465
#
$ + *
7 *
& $ ) ) /
%
8
)
9
%
%
)
0 ,
$
¾
)
7- '
)
: 9 * 0 :
; = 3 , * ! 8$ % 3 ! $ ( 37 ,
! 37 ? ! # ) 5 3 @ 6 2 7 # !
! " # $# % & #
# ' & # # # # " # ! # "( ) & * # " ( # # + , # # " -# + ./, "
0 1 " 0 2 # " 0 3 '! ' 0 # # ' # ) 2 4 5 6 78"79" ( +# ) ' "5 ) # ! " 0 * - : # ;# # ;# ( ) # # # 6 ( 9# ! "0 & " '# # ! # : # " ' 0 : " 0 # < = # : " # ' # , + ) + # ( # " 4 ) # 41# # ,) ½¼¼" # ># # " ' ( '# ?'
! " #
$ % &
$ ' &(
" )
* + " , -
+ " . ' /01 2
! " # $ %# & ' ( ) *" +" $ * & ) , ! ( -% - % ' ( - , % . " ) ( ( */ ! 0(% 1 ( ( # % , ( ' % $ ( & % % - 2) * (% 2 ! % . *
'(% 3 4 ! ! % , 2) * ! %4 5 5 " , 6 ( 3 ) ' ( * 3 % ) ( ( ' 2 ( ' " 3 7 3 % , ) -8 "
! " # $ % & % ' & ( ") # % $ *" ( %
% # ( ") % % # %
% &
% &
( ") + ' %$ ( ") + % , ( ") ( ) % *) ) ( ") ( ) $ *) % ) ' -") & % $ % ( ") ( ) . &
( % % $ /) *)%0 * ( %
* ( ") % % ( $ 1
) 1%
*) &
# 234 ( % ( ") 5 6" . 7 ) *) $ 8 1 *)
Festlegung der Ziele, Alternativen, Zeitvorgaben
Bewertung der Alternativen, Analyse und Auflösung der Risiken Risikoanalyse Risikoanalyse Risikoanalyse
Prototyp 3
funktionsbereiter Prototyp
Prototyp 2 RisikoProtoanalyse BESPRECHUNG typ 1 Bedarfsplan, Simulationen, Modelle, Bewertungen Lebenszyklusplan Betriebskonzept Softwareanforderungen Produktdetaillierter entwurf Validierung der Entwurf EntwicklungForderungen Code plan
Plan der nächsten Interation
Integrationsund Testplan
Modultest Entwurf IntegrationsV&V test Akzeptanztest Entwicklung, Verifizierung Service des Nachfolgeprodukts
¿
! " #
$ % # & # % '
% (# # # $ ) ) # *
!'
+ , *
- # ! (% % . " / 0 + 1 # (% / 2 ' 3 ! 3 '
¿
! " #$ # # %# & ' $ & ( ( # ) * # "## ! + " ( , $ % ! - #
. .# / # 0 1 ! )# %- * ) * " * & 2 ) * * , * % $ & " ) * + " # 0 * # # ,
( & * & & ) * 3 " # *4 )# # / 5 %6 , # 5 # * " # # 7 + %# 8 &0 ) # 9 $ # , : #
# * ( * ## 8 % $
! " #$ %$ $
& ' " ( &
) * ! $ $ $ ! $
+ ! ! $, ( ' ! -$ . / ! 0, -$ & & 1 2 -$ " 3 & * 4*5 6 $ 7 . 2 1 - $ ! 2
8 + 9 :& ! 2 * * 3 & ( ; * & 1 $ - ; $ ; & ' ! ' " - " : !' ; ' !" 7 8 " $ ? " ? 2 "
" @ 2 - " 7 % " ' A 7 # " B " % " 2 (C !
!
" # $
% &' ( ) * + ) # , & & - (
, ,
# ! ! ) ( ." , ,/ ! ) , . , . , -
. 0 /
+ 1 # /2/3 /0 ( /
)
/
0 ) & 3 # , &
0 & & . /2/3 /0 & &
0 * 4 # 0 & , . * ' # / , & ) & (
, " 0 & 3 /
# !'
+ # ! 5 !* 0 . . .
) / & 6 # + 5
! " #
$
% $&& ' $ ( !
) * ! +
,)
- , . $ $ . ( $ -
* ½
! + ) , " / / , 0'
! " # ! $ % "" ! & ½
! ! "# $% ! & '( ! ! ! ) '( " " & *' $ '( !$ % " ' &
& + & ! !, -# ! !% ) ./ 0 *%* 1 2 , % 2 % $ ! ,! % 3 0 - & 4 ) " % 20 & , & " ' 1 & # 5 ( ! % ! 4 6 ! - & 7 $ / $!' ' * , 2 ' ! # -8 4 9 % ,9$ %7 0 7 ! : '( + & - 3 $!' )% ( !' !( ;
- $ 0 : ; 20 6 - ; - ' ; ; $ & ; - & 4 ' ; 4 $!' 1 ! & % ! ) 7 /'/0 0% 4 $!' ( 0
! " # ! $ % & ' ( ! ! ) !
$ *! + , # $ ! $ + + - + . " / + ' + & ! & 0 , ,
1 # '! $ 2 $ 3 ) $ / $ / $ . '! 0 ' )! " . $ " , 3 4 5 " 6 7 + + 1 - $ & ' 89 ' + 89 $ - $ # 1 + 7 : 7 ( & $ , " ! $ #- 0 0 , ! 0 ( ( !
! " # $ % #
$ & #! " ! $ " ' " ! $ (& )( ¾ * *
$ ) " # ! + ( & !
$ , ' - ( # - # , #
" ! + . ( # " / $ 0 - # , 1 ( $#
,( !2 # ! 3 % 4 # 1 , 4!562! 7 $ - ! $ 89: / ( ! 1 , $ # ' $ 9 $ ( # $ !2 $ # 0
# $( ! ; , 4!56 ! + '
" # # 1 2 $ '( ! 3 B - . - - 7 ) * + ' / ! 6 ! 3# $8%+& $
! " #! $ % & #" & ' !() $ %
* % + , ' $ $ - $ + !() ) , , . #)
$ / " & #)
' &
, . #! $ ) % & $ %
0 !() 1 + !() 2 '
"
)
* * ) " 3 /
!()
- % / ".
. 4 . )
. 3 !
( 5 % 3 3
$ ( /
6
. 7
. 5 $ 4 . 0 6
. 4 . ! 5 ! 5
% % 6 ! 6
½¼ $ + 5 ( $
!" # $ %
&
" ' " (
# ) $ * ) % $ "
+
$ ( ) & , (
" '
- "
!
." / " # 0 1
2 !" " ' 3' 3 & " . % 3 4" 5
$
" 4" & + 6 . % ! " % (
" 3
2 !" ) *
2
3
/ " " % 72 3' 8 " 9 23 : 8( ) - 3
5
5
)
5 - 91 2 . 23 6 . $ " %
! . - )
5 2 & ! # 3 ) - "
. 2 2 " . " !" " 3 2 ) ' 3' ! - 2 $ 2 # ! - " . ;
!" # $ $ # % & ' ( ) * + % " , &
$ $ (
- " !" . $ $ ( " ' $ $ ( - ) ) / 0 1 2 * 3 )4 ( # * ) ) 5 ) * ) " 6
%6 6 " 7 8 ' * 9 ) - ) : * ) 6 ; 3 4
(
" ?
( " ) ' "
5 ?99?
,: > 4 D
6 8 ( E * * 7$ > D F>$
G !!" H 6 6 5 9#$$ 4 ' < ! = *0 ( &2$$
** 2, D 3 4, I /$ : J ) 4#* !"# $ # $ % ½ 8C $ 9 5 "" '. 6K 0 ,$ (2 . # < ! = * B $ + 2, 8$ $ ?$ , 1 (
< G"= , 1 + 2,
$$ , , * 0$ ,1 D 02 ' *2 (
$
, 0
$, $ ' < G= 1? . $ 8$9 $$ *2 > $ >*$ +2 , , . $$ , ' ' 8 ,$ +1,1 + 2, $$ , $ 8 *$ > $ 1$ 7 $ 0 ( 7 $ 8 ('$ &' ( L$ 8 I . 6
# $ . 7-( " !"
! ! " # $! % $ ! & ! !' ( ) " " *$+" *!!, -" .// ) 0 " " , & 1 (" 232 4 $! 5" " *$+" *!! , -" .//. 6 " " ( #$ 7 " 238 * " & 9 $! $! " ! " *$+" 6 : %& " 222 ! * % ! ! ! % $ ! ;$