Deep Reinforcement Learning (eBook)
770 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0037-8 (ISBN)
- Alle wichtigen Methoden und Algorithmen praxisnah erläutert mit Codebeispielen in Python
- Selbstständig lernende Agenten programmieren für die Steuerung von Robotern, NLP in interaktiven Spielen, Chatbots und mehr
- Deep Q-Networks, Wertiteration, Policy Gradients, Trust Region Policy Optimization (TRPO), genetische Algorithmen, moderne Explorationsverfahren u.v.m.
Reinforcement Learning ist ein Teilgebiet des Machine Learnings. Hierbei werden selbstständig lernende Agenten programmiert, deren Lernvorgang ausschließlich durch ein Belohnungssystem und die Beobachtung der Umgebung gesteuert wird.
In diesem umfassenden Praxis-Handbuch zeigt Ihnen Maxim Lapan, wie Sie diese zukunftsweisende Technologie in der Praxis einsetzen. Sie lernen, wie Sie passende RL-Methoden für Ihre Problemstellung auswählen und mithilfe von Deep-Learning-Methoden Agenten für verschiedene Aufgaben trainieren wie zum Beispiel für das Lösen eines Zauberwürfels, für Natural Language Processing in Microsofts TextWorld-Umgebung oder zur Realisierung moderner Chatbots.
Alle Beispiele sind so gewählt, dass sie leicht verständlich sind und Sie diese auch ohne Zugang zu sehr großer Rechenleistung umsetzen können. Unter Einsatz von Python und der Bibliothek PyTorch ermöglicht Ihnen der Autor so einen einfachen und praktischen Einstieg in die Konzepte und Methoden des Reinforcement Learnings wie Deep Q-Networks, Wertiteration, Policy Gradients, Trust Region Policy Optimization (TRPO), genetische Algorithmen und viele mehr.
Es werden grundlegende Kenntnisse in Machine Learning und Deep Learning sowie ein sicherer Umgang mit Python vorausgesetzt.
Aus dem Inhalt:- Implementierung komplexer Deep-Learning-Modelle mit RL in tiefen neuronalen Netzen
- Ermitteln der passenden RL-Methoden für verschiedene Problemstellungen, darunter DQN, Advantage Actor Critic, PPO, TRPO, DDPG, D4PG und mehr
- Bauen und Trainieren eines kostengünstigen Hardware-Roboters
- NLP in Microsofts TextWorld-Umgebung für interaktive Spiele
- Diskrete Optimierung für das Lösen von Zauberwürfeln
- Trainieren von Agenten für Vier Gewinnt mittels AlphaGo Zero
- Die neuesten Deep-RL-Methoden für Chatbots
- Moderne Explorationsverfahren wie verrauschte Netze und Netz-Destillation
Maxim Lapan ist Deep-Learning-Enthusiast und unabhängiger Forscher. Er hat langjährige Berufserfahrung mit Big Data und Machine Learning und beschäftigt sich derzeit insbesondere mit praktischen Anwendungen des Deep Learnings wie NLP und Deep Reinforcement Learning.
Maxim Lapan ist Deep-Learning-Enthusiast und unabhängiger Forscher. Er hat langjährige Berufserfahrung mit Big Data und Machine Learning und beschäftigt sich derzeit insbesondere mit praktischen Anwendungen des Deep Learnings wie NLP und Deep Reinforcement Learning.
Cover 1
Titel 5
Impressum 6
Inhaltsverzeichnis 7
Über den Autor 19
Über die Korrektoren 19
Über den Fachkorrektor der deutschen Ausgabe 20
Einleitung 21
Teil I: Grundlagen des Reinforcement Learnings 26
Kapitel 1: Was ist Reinforcement Learning? 27
1.1 Überwachtes Lernen 27
1.2 Unüberwachtes Lernen 28
1.3 Reinforcement Learning 28
1.4 Herausforderungen beim Reinforcement Learning 30
1.5 RL-Formalismen 30
1.5.1 Belohnung 31
1.5.2 Der Agent 33
1.5.3 Die Umgebung 33
1.5.4 Aktionen 33
1.5.5 Beobachtungen 34
1.6 Die theoretischen Grundlagen des Reinforcement Learnings 36
1.6.1 Markov-Entscheidungsprozesse 37
1.6.2 Markov-Prozess 37
1.6.3 Markov-Belohnungsprozess 41
1.6.4 Aktionen hinzufügen 44
1.6.5 Policy 46
1.7 Zusammenfassung 47
Kapitel 2: OpenAI Gym 49
2.1 Aufbau des Agenten 49
2.2 Anforderungen an Hard- und Software 52
2.3 OpenAI-Gym-API 53
2.3.1 Aktionsraum 54
2.3.2 Beobachtungsraum 54
2.3.3 Die Umgebung 56
2.3.4 Erzeugen der Umgebung 57
2.3.5 Die CartPole-Sitzung 59
2.4 Ein CartPole-Agent nach dem Zufallsprinzip 61
2.5 Zusätzliche Gym-Funktionalität: Wrapper und Monitor 62
2.5.1 Wrapper 63
2.5.2 Monitor 65
2.6 Zusammenfassung 68
Kapitel 3: Deep Learning mit PyTorch 69
3.1 Tensoren 69
3.1.1 Tensoren erzeugen 70
3.1.2 Skalare Tensoren 72
3.1.3 Tensor-Operationen 73
3.1.4 GPU-Tensoren 73
3.2 Gradienten 74
3.2.1 Tensoren und Gradienten 76
3.3 NN-Bausteine 78
3.4 Benutzerdefinierte Schichten 80
3.5 Verlustfunktionen und Optimierer 82
3.5.1 Verlustfunktionen 83
3.5.2 Optimierer 83
3.6 Monitoring mit TensorBoard 85
3.6.1 Einführung in TensorBoard 86
3.6.2 Plotten 87
3.7 Beispiel: GAN für Bilder von Atari-Spielen 89
3.8 PyTorch Ignite 94
3.8.1 Konzepte 95
3.9 Zusammenfassung 99
Kapitel 4: Das Kreuzentropie-Verfahren 101
4.1 Klassifikation von RL-Verfahren 101
4.2 Kreuzentropie in der Praxis 102
4.3 Kreuzentropie beim CartPole 104
4.4 Kreuzentropie beim FrozenLake 113
4.5 Theoretische Grundlagen des Kreuzentropie-Verfahrens 120
4.6 Zusammenfassung 121
Teil II: Wertebasierte Verfahren 122
Kapitel 5: Tabular Learning und das Bellman’sche Optimalitätsprinzip 123
5.1 Wert, Zustand und Optimalität 123
5.2 Das Bellman’sche Optimalitätsprinzip 125
5.3 Aktionswert 128
5.4 Wertiteration 130
5.5 Wertiteration in der Praxis 132
5.6 Q-Learning in der FrozenLake-Umgebung 138
5.7 Zusammenfassung 140
Kapitel 6: Deep Q-Networks 141
6.1 Wertiteration in der Praxis 141
6.2 Tabular Q-Learning 142
6.3 Deep Q-Learning 147
6.3.1 Interaktion mit der Umgebung 149
6.3.2 SGD-Optimierung 149
6.3.3 Korrelation der Schritte 150
6.3.4 Die Markov-Eigenschaft 150
6.3.5 Die endgültige Form des DQN-Trainings 151
6.4 DQN mit Pong 152
6.4.1 Wrapper 153
6.4.2 DQN-Modell 158
6.4.3 Training 160
6.4.4 Ausführung und Leistung 169
6.4.5 Das Modell in Aktion 172
6.5 Weitere Möglichkeiten 174
6.6 Zusammenfassung 175
Kapitel 7: Allgemeine RL-Bibliotheken 177
7.1 Warum RL-Bibliotheken? 177
7.2 Die PTAN-Bibliothek 178
7.2.1 Aktionsselektoren 179
7.2.2 Der Agent 181
7.2.3 Quelle der Erfahrungswerte 185
7.2.4 Replay Buffer für Erfahrungswerte 191
7.2.5 Die TargetNet-Klasse 193
7.2.6 Hilfsfunktionen für Ignite 195
7.3 Lösung der CartPole-Umgebung mit PTAN 196
7.4 Weitere RL-Bibliotheken 198
7.5 Zusammenfassung 199
Kapitel 8: DQN-Erweiterungen 201
8.1 Einfaches DQN 201
8.1.1 Die Bibliothek common 202
8.1.2 Implementierung 207
8.1.3 Ergebnisse 209
8.2 N-Schritt-DQN 210
8.2.1 Implementierung 213
8.2.2 Ergebnisse 213
8.3 Double DQN 214
8.3.1 Implementierung 215
8.3.2 Ergebnisse 217
8.4 Verrauschte Netze 218
8.4.1 Implementierung 219
8.4.2 Ergebnisse 221
8.5 Priorisierter Replay Buffer 222
8.5.1 Implementierung 223
8.5.2 Ergebnisse 227
8.6 Rivalisierendes DQN 229
8.6.1 Implementierung 230
8.6.2 Ergebnisse 231
8.7 Kategoriales DQN 232
8.7.1 Implementierung 234
8.7.2 Ergebnisse 241
8.8 Alles miteinander kombinieren 243
8.8.1 Ergebnisse 244
8.9 Zusammenfassung 245
8.10 Quellenangaben 246
Kapitel 9: Beschleunigung von RL-Verfahren 247
9.1 Die Bedeutung der Geschwindigkeit 247
9.2 Der Ausgangspunkt 250
9.3 Der Berechnungsgraph in PyTorch 252
9.4 Mehrere Umgebungen 254
9.5 Spielen und Trainieren in separaten Prozessen 257
9.6 Optimierung der Wrapper 261
9.7 Zusammenfassung der Benchmarks 267
9.8 Atari-Emulation: CuLE 267
9.9 Zusammenfassung 268
9.10 Quellenangaben 268
Kapitel 10: Aktienhandel per Reinforcement Learning 269
10.1 Börsenhandel 269
10.2 Daten 270
10.3 Aufgabenstellungen und Grundsatzentscheidungen 271
10.4 Die Handelsumgebung 272
10.5 Modelle 281
10.6 Trainingscode 283
10.7 Ergebnisse 283
10.7.1 Das Feedforward-Modell 283
10.7.2 Das Faltungsmodell 289
10.8 Weitere Möglichkeiten 290
10.9 Zusammenfassung 291
Teil III: Policybasierte Verfahren 292
Kapitel 11: Eine Alternative: Policy Gradients 293
11.1 Werte und Policy 293
11.1.1 Warum Policy? 294
11.1.2 Repräsentation der Policy 294
11.1.3 Policy Gradients 295
11.2 Das REINFORCE-Verfahren 296
11.2.1 Das CartPole-Beispiel 297
11.2.2 Ergebnisse 301
11.2.3 Policybasierte und wertebasierte Verfahren 302
11.3 Probleme mit REINFORCE 303
11.3.1 Notwendigkeit vollständiger Episoden 303
11.3.2 Große Varianz der Gradienten 304
11.3.3 Exploration 304
11.3.4 Korrelation zwischen Beispielen 305
11.4 PG mit CartPole 305
11.4.1 Implementierung 305
11.4.2 Ergebnisse 308
11.5 PG mit Pong 312
11.5.1 Implementierung 313
11.5.2 Ergebnisse 314
11.6 Zusammenfassung 315
Kapitel 12: Das Actor-Critic-Verfahren 317
12.1 Verringern der Varianz 317
12.2 Varianz der CartPole-Umgebung 319
12.3 Actor-Critic 322
12.4 A2C mit Pong 324
12.5 A2C mit Pong: Ergebnisse 330
12.6 Optimierung der Hyperparameter 333
12.6.1 Lernrate 334
12.6.2 Beta 335
12.6.3 Anzahl der Umgebungen 335
12.6.4 Batchgröße 335
12.7 Zusammenfassung 335
Kapitel 13: Asynchronous Advantage Actor Critic 337
13.1 Korrelation und Stichprobeneffizienz 337
13.2 Ein weiteres A zu A2C hinzufügen 338
13.3 Multiprocessing in Python 341
13.4 A3C mit Datenparallelität 341
13.4.1 Implementierung 341
13.4.2 Ergebnisse 348
13.5 A3C mit Gradientenparallelität 349
13.5.1 Implementierung 350
13.5.2 Ergebnisse 355
13.6 Zusammenfassung 356
Kapitel 14: Chatbot-Training per Reinforcement Learning 357
14.1 Chatbots – ein Überblick 357
14.2 Chatbot-Training 358
14.3 Grundlagen der Verarbeitung natürlicher Sprache 359
14.3.1 Rekurrente neuronale Netze 359
14.3.2 Wort-Embeddings 361
14.3.3 Encoder-Decoder 362
14.4 Seq2Seq-Training 363
14.4.1 Log-Likelihood-Training 363
14.4.2 Der BLEU-Score 365
14.4.3 RL und Seq2Seq 366
14.4.4 Self-critical Sequence Training 367
14.5 Das Chatbot-Beispiel 368
14.5.1 Aufbau des Beispiels 368
14.5.2 Module: cornell.py und data.py 369
14.5.3 BLEU-Score und utils.py 370
14.5.4 Modell 371
14.6 Daten überprüfen 378
14.7 Training: Kreuzentropie 380
14.7.1 Implementierung 380
14.7.2 Ergebnisse 384
14.8 Training: Self-critical Sequence Training (SCST) 387
14.8.1 Implementierung 387
14.8.2 Ergebnisse 394
14.9 Tests der Modelle mit Daten 397
14.10 Telegram-Bot 399
14.11 Zusammenfassung 403
Kapitel 15: Die TextWorld-Umgebung 405
15.1 Interactive Fiction 405
15.2 Die Umgebung 408
15.2.1 Installation 409
15.2.2 Spiel erzeugen 409
15.2.3 Beobachtungs- und Aktionsräume 411
15.2.4 Zusätzliche Informationen 413
15.3 Einfaches DQN 416
15.3.1 Vorverarbeitung von Beobachtungen 418
15.3.2 Embeddings und Encoder 423
15.3.3 DQN-Modell und Agent 426
15.3.4 Trainingscode 428
15.3.5 Trainingsergebnisse 428
15.4 Das Modell für den Befehlsgenerator 433
15.4.1 Implementierung 435
15.4.2 Ergebnisse des Pretrainings 439
15.4.3 DQN-Trainingscode 441
15.4.4 Ergebnis des DQN-Trainings 443
15.5 Zusammenfassung 444
Kapitel 16: Navigation im Web 445
16.1 Webnavigation 445
16.1.1 Browserautomatisierung und RL 446
16.1.2 Mini World of Bits 447
16.2 OpenAI Universe 448
16.2.1 Installation 449
16.2.2 Aktionen und Beobachtungen 450
16.2.3 Umgebung erzeugen 451
16.2.4 MiniWoB-Stabilität 453
16.3 Einfaches Anklicken 453
16.3.1 Aktionen auf dem Gitter 454
16.3.2 Übersicht der Beispiele 455
16.3.3 Modell 456
16.3.4 Trainingscode 457
16.3.5 Container starten 462
16.3.6 Trainingsprozess 463
16.3.7 Überprüfen der erlernten Policy 466
16.3.8 Probleme mit einfachem Anklicken 467
16.4 Demonstrationen durch den Menschen 469
16.4.1 Aufzeichnung von Demonstrationen 470
16.4.2 Aufzeichnungsformat 472
16.4.3 Training durch Demonstration 475
16.4.4 Ergebnisse 476
16.4.5 Tic-Tac-Toe 480
16.5 Hinzufügen von Beschreibungstext 482
16.5.1 Implementierung 483
16.5.2 Ergebnisse 488
16.6 Weitere Möglichkeiten 491
16.7 Zusammenfassung 491
Teil IV: Fortgeschrittene Verfahren und Techniken 492
Kapitel 17: Stetige Aktionsräume 493
17.1 Wozu stetige Aktionsräume? 493
17.2 Aktionsraum 494
17.3 Umgebungen 494
17.4 Das A2C-Verfahren 497
17.4.1 Implementierung 498
17.4.2 Ergebnisse 501
17.4.3 Modelle verwenden und Videos aufzeichnen 503
17.5 Deterministisches Policy-Gradienten-Verfahren 504
17.5.1 Exploration 505
17.5.2 Implementierung 506
17.5.3 Ergebnisse 511
17.5.4 Videos aufzeichnen 513
17.6 Distributional Policy Gradients 513
17.6.1 Architektur 514
17.6.2 Implementierung 514
17.6.3 Ergebnisse 519
17.6.4 Videoaufzeichnung 521
17.7 Weitere Möglichkeiten 521
17.8 Zusammenfassung 521
Kapitel 18: RL in der Robotik 523
18.1 Roboter und Robotik 523
18.1.1 Komplexität von Robotern 525
18.1.2 Hardware 526
18.1.3 Plattform 527
18.1.4 Sensoren 528
18.1.5 Aktuatoren 530
18.1.6 Rahmen 530
18.2 Ein erstes Trainingsziel 534
18.3 Emulator und Modell 536
18.3.1 Definitionsdatei des Modells 537
18.3.2 Die robot-Klasse 541
18.4 DDPG-Training und Ergebnisse 547
18.5 Steuerung der Hardware 550
18.5.1 MicroPython 550
18.5.2 Handhabung von Sensoren 554
18.5.3 Servos ansteuern 567
18.5.4 Einrichtung des Modells auf der Hardware 571
18.5.5 Alles kombinieren 579
18.6 Experimente mit der Policy 582
18.7 Zusammenfassung 583
Kapitel 19: Trust Regions – PPO, TRPO, ACKTR und SAC 585
19.1 Roboschool 586
19.2 Standard-A2C-Verfahren 586
19.2.1 Implementierung 586
19.2.2 Ergebnisse 588
19.2.3 Videoaufzeichnungen 592
19.3 Proximal Policy Optimization (PPO) 592
19.3.1 Implementierung 593
19.3.2 Ergebnisse 597
19.4 Trust Region Policy Optimization (TRPO) 599
19.4.1 Implementierung 599
19.4.2 Ergebnisse 601
19.5 Advantage Actor-Critic mit Kronecker-Factored Trust Region (ACKTR) 602
19.5.1 Implementierung 603
19.5.2 Ergebnisse 603
19.6 Soft-Actor-Critic (SAC) 604
19.6.1 Implementierung 605
19.6.2 Ergebnisse 607
19.7 Zusammenfassung 609
Kapitel 20: Blackbox-Optimierung beim Reinforcement Learning 611
20.1 Blackbox-Verfahren 611
20.2 Evolutionsstrategien (ES) 612
20.3 ES mit CartPole 613
20.3.1 Ergebnisse 618
20.4 ES mit HalfCheetah 619
20.4.1 Implementierung 620
20.4.2 Ergebnisse 624
20.5 Genetische Algorithmen (GA) 626
20.6 GA mit CartPole 626
20.6.1 Ergebnisse 628
20.7 GA-Optimierung 629
20.7.1 Deep GA 630
20.7.2 Novelty Search 630
20.8 GA mit HalfCheetah 630
20.8.1 Ergebnisse 633
20.9 Zusammenfassung 635
20.10 Quellenangaben 635
Kapitel 21: Fortgeschrittene Exploration 637
21.1 Die Bedeutung der Exploration 637
21.2 Was ist das Problem beim ?-Greedy-Ansatz? 638
21.3 Alternative Explorationsverfahren 641
21.3.1 Verrauschte Netze 641
21.3.2 Zählerbasierte Verfahren 642
21.3.3 Vorhersagebasierte Verfahren 643
21.4 MountainCar-Experimente 643
21.4.1 Das DQN-Verfahren mit ?-Greedy-Ansatz 645
21.4.2 Das DQN-Verfahren mit verrauschten Netzen 646
21.4.3 Das DQN-Verfahren mit Zustandszählern 648
21.4.4 Das PPO-Verfahren 651
21.4.5 Das PPO-Verfahren mit verrauschten Netzen 654
21.4.6 Das PPO-Verfahren mit zählerbasierter Exploration 656
21.4.7 Das PPO-Verfahren mit Netz-Destillation 658
21.5 Atari-Experimente 660
21.5.1 Das DQN-Verfahren mit ?-Greedy-Ansatz 661
21.5.2 Das klassische PPO-Verfahren 662
21.5.3 Das PPO-Verfahren mit Netz-Destillation 663
21.5.4 Das PPO-Verfahren mit verrauschten Netzen 664
21.6 Zusammenfassung 665
21.7 Quellenangaben 665
Kapitel 22: Jenseits modellfreier Verfahren – Imagination 667
22.1 Modellbasierte Verfahren 667
22.1.1 Modellbasierte und modellfreie Verfahren 667
22.2 Unzulänglichkeiten der Modelle 668
22.3 Imagination-augmented Agent 670
22.3.1 Das Umgebungsmodell 671
22.3.2 Die Rollout-Policy 672
22.3.3 Der Rollout-Encoder 672
22.3.4 Ergebnisse der Arbeit 672
22.4 I2A mit dem Atari-Spiel Breakout 672
22.4.1 Der Standard-A2C-Agent 673
22.4.2 Training des Umgebungsmodells 674
22.4.3 Der Imagination-Agent 677
22.5 Ergebnisse der Experimente 683
22.5.1 Der Basis-Agent 683
22.5.2 Training der EM-Gewichte 685
22.5.3 Training mit dem I2A-Modell 687
22.6 Zusammenfassung 690
22.7 Quellenangaben 690
Kapitel 23: AlphaGo Zero 691
23.1 Brettspiele 691
23.2 Das AlphaGo-Zero-Verfahren 692
23.2.1 Überblick 692
23.2.2 Monte-Carlo-Baumsuche 693
23.2.3 Self-Playing 695
23.2.4 Training und Bewertung 696
23.3 Vier-gewinnt-Bot 696
23.3.1 Spielmodell 697
23.3.2 Implementierung der Monte-Carlo-Baumsuche 699
23.3.3 Modell 704
23.3.4 Training 707
23.3.5 Test und Vergleich 707
23.4 Vier gewinnt: Ergebnisse 708
23.5 Zusammenfassung 710
23.6 Quellenangaben 710
Kapitel 24: RL und diskrete Optimierung 711
24.1 Die Reputation von Reinforcement Learnings 711
24.2 Zauberwürfel und kombinatorische Optimierung 712
24.3 Optimalität und Gottes Zahl 713
24.4 Ansätze zur Lösung 714
24.4.1 Datenrepräsentation 714
24.4.2 Aktionen 714
24.4.3 Zustände 715
24.5 Trainingsvorgang 719
24.5.1 Architektur des neuronalen Netzes 719
24.5.2 Training 720
24.6 Anwendung des Modells 721
24.7 Ergebnisse der Arbeit 723
24.8 Code 724
24.8.1 Würfel-Umgebungen 725
24.8.2 Training 729
24.8.3 Suchvorgang 731
24.9 Ergebnisse des Experiments 731
24.9.1 Der 2x2-Würfel 733
24.9.2 Der 3x3-Würfel 735
24.9.3 Weitere Verbesserungen und Experimente 736
24.10 Zusammenfassung 737
Kapitel 25: RL mit mehreren Agenten 739
25.1 Mehrere Agenten 739
25.1.1 Kommunikationsformen 740
25.1.2 Der RL-Ansatz 740
25.2 Die MAgent-Umgebung 740
25.2.1 Installation 741
25.2.2 Überblick 741
25.2.3 Eine zufällige Umgebung 741
25.3 Deep Q-Networks für Tiger 747
25.3.1 Training und Ergebnisse 750
25.4 Zusammenarbeit der Tiger 752
25.5 Training der Tiger und Hirsche 756
25.6 Der Kampf ebenbürtiger Akteure 757
25.7 Zusammenfassung 758
Stichwortverzeichnis 759
Erscheint lt. Verlag | 19.6.2020 |
---|---|
Reihe/Serie | mitp Professional |
Verlagsort | Frechen |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik |
Schlagworte | Algorithmus • AlphaGo • Buch • Data Science • Deep learning • Deep Neural Network • Google AI • Künstliche Intelligenz • machine learning • Python |
ISBN-10 | 3-7475-0037-4 / 3747500374 |
ISBN-13 | 978-3-7475-0037-8 / 9783747500378 |
Haben Sie eine Frage zum Produkt? |
Größe: 89,6 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich