Efficient Cycle Collection in a Hybrid Garbage Collector with Reference Counting and Mark-And-Sweep

Total Page:16

File Type:pdf, Size:1020Kb

Efficient Cycle Collection in a Hybrid Garbage Collector with Reference Counting and Mark-And-Sweep Efficient Cycle Detection on a Partially Reference Counted Heap DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering & Internet Computing eingereicht von Stefan Beyer, BSc Matrikelnummer 01225423 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Andreas Krall Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Wien, 26. Februar 2020 Stefan Beyer Andreas Krall Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.at Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Efficient Cycle Detection on a Partially Reference Counted Heap DIPLOMA THESIS submitted in partial fulfillment of the requirements for the degree of Diplom-Ingenieur in Software Engineering & Internet Computing by Stefan Beyer, BSc Registration Number 01225423 to the Faculty of Informatics at the TU Wien Advisor: Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Andreas Krall Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Vienna, 26th February, 2020 Stefan Beyer Andreas Krall Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.at Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Erklärung zur Verfassung der Arbeit Stefan Beyer, BSc Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 26. Februar 2020 Stefan Beyer Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. v Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Danksagung Zu allererst will ich mich bei meinem Professor, Andreas Krall, für seine anhaltende Unterstützung und seine Bemühungen, mich fokussiert und motiviert zu halten, bedanken. Obwohl ich eine gefühlte Ewigkeit für diese Arbeit benötigt habe, gab er mir innerhalb weniger Stunden oder Tage hilfreiche Rückmeldungen, wann auch immer ich eine Frage oder etwas zu begutachten hatte. Ich habe den Eindruck, dass er sich wirklich um seine Studenten kümmert, und versteht wie sehr sie sich für ihre Diplomarbeit anstrengen, etwas das nicht selbstverständlich ist. Außerdem will ich mich bei meiner Mutter für ihre ununterbrochene Bemühung bedanken, alles von mir fernzuhalten und mich stets zu unterstützen, sodass ich mich auf mein Studium konzentrieren konnte. Deine Ratschläge sind vielleicht nicht immer angekommen, aber du hast nie aufgehört an mich zu glauben. Ich hoffe du weißt, dass ich das ebenfalls nicht für selbstverständlich halte. Ich will auch meiner Freundin Chiara danken, für die Motivation und die emotionale Unterstützung, die sie mir gegeben hat um diese Arbeit zu vollenden. Ohne dich, hätte ich wahrscheinlich noch viel mehr Zeit benötigt. Zudem möchte ich mich noch beim Rest meiner Familie, meinen Freunden und Kollegen für ihre Gesellschaft und ihr offenes Ohr bedanken, das sie mir geliehen haben, wann auch immer ich jemanden zum Zuhören brauchte. Die gemeinsamen Ausfahrten mit meiner Mountainbike-Gruppe, die mir geholfen haben meinen Kopf freizubekommen wenn er voller Fragen war, habe ich sehr geschätzt. Sehr wertvoll waren auch die tollen Erfahrungen mit meiner Improtheatergruppe, die mir Selbstbewusstsein gegeben und mich zum Lachen gebracht haben, auch wenn mir manchmal nicht zum Lachen war. Ohne euch allen hätte ich diese Arbeit wohl ebenfalls nicht fertig bekommen. Zu guter Letzt möchte ich mich auch beim PyPy-Team bedanken, unter anderem bei Armin Rigo und Richard Plangger. Ihr alle habt mich nicht nur herzlichst Willkommen geheißen und mir die ursprüngliche Idee für meine Arbeit geliefert, sondern mir auch mit eurer Erfahrung und eurem Wissen geholfen, am richtigen Weg zu bleiben. Auch wenn ich manchmal zu stolz war, um eure Hilfe in Anspruch zu nehmen, weiß ich die Hilfestellungen und die Unterstützung, die ihr mir zukommen habt lassen, sehr zu schätzen. Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. vii Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Acknowledgements First of all, I would like to thank my professor, Andreas Krall, for his continuing support and his efforts at keeping me focused and motivated to work on my thesis. Even though it took me almost forever to finish this piece of paper, he gave me helpful advice within a matter of hours or days, whenever I had a question or something to review. To me it seems like he really cares for his students and the hard work they put into their thesis, something that should not be taken for granted. I would also like to thank my mother for her ongoing efforts, at keeping everything she possibly could away from me and always supporting me, so I could concentrate on my studies. The advice you gave me might not have always been heard, but you never stopped believing in me. I hope you know, that I also do not take this for granted. I would also like to thank my girlfriend, Chiara, for the motivation and emotional support she gave me, to bring this thesis to the finish line. It would have probably taken me even longer, if not for you. Also, I would like to thank all of my family, friends and colleagues for their company and friendly ear, when I needed someone to talk to. I really enjoyed the tours with my mountain bike crew, who helped me to free my mind, when I was full of questions. I also value the great experiences I had with my improvisational theatre group, who helped me gaining my confidence and made me laugh, when I needed it. I would not have finished this thesis, without all of you. Last but not least I would thank the PyPy team, including but not limited to Armin Rigo and Richard Plangger, who not only gave me a warm welcome and the initial idea for this thesis, but also kept me on track by sharing their experience and knowledge. Even though I was sometimes too proud to seek help from you, I really apprieciate the support and guidance you gave me. Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. ix Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Kurzfassung Zur automatisierten Speicherbereinigung, kurz Garbage Collection, existieren zwei grund- legende Ansätze: Tracing und Reference Counting. Ziel dieser Arbeit ist es, einen Algo- rithmus zu finden, der beide Ansätze auf effiziente Weise vereint, und der es ermöglicht Zyklen auf teilweise referenzgezählten Heaps zu erkennen, ein Problem das typischerwei- se in Sprachintegrationen auf Compiler-Ebene gefunden werden kann, und gleichzeitig die Auswirkungen auf die zu integrierenden Technologien und deren Garbage Collector niedrig hält. Zwei Versionen dieses Algorithmus wurden im PyPy Just-in-time-Compiler implementiert, um die Integration von CPython-Erweiterungsmodulen zu unterstützen. Der finale Algorithmus ist an Jython’s JyNI-Integration [Ric16] angelehnt, kann aber als eigenständig betrachtet werden. Eine teilweise und eine vollständig inkrementelle Version dieses Algorithmus wurden entworfen und deren Korrektheit semiformell bewiesen. Die Implementierungen wurden mittels aufwändiger Tests verifiziert und mithilfe eigener Benchmarks verglichen. Die Ergebnisse zeigen, dass das Verhalten der vollständig inkre- mentellen Version des Algorithmus relativ gut ist und ein großer Teil des Mehraufwands kompensiert werden kann, der durch die vollständige Integration beider Ansätze entsteht. Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. xi Die approbierte gedruckte Originalversion dieser Diplomarbeit ist an der TU Wien Bibliothek verfügbar. The approved original version of this thesis is available in print at TU Wien Bibliothek. Abstract Two essential garbage collection techniques exist: tracing and reference counting. The goal of this work is to find an algorithm, to efficiently combine both approaches and collect cycles in partially reference counted heaps, a problem which is typically found
Recommended publications
  • Videos Bearbeiten Im Überblick: Sieben Aktuelle VIDEOSCHNITT Werkzeuge Für Den Videoschnitt
    Miller: Texttool-Allrounder Wego: Schicke Wetter-COMMUNITY-EDITIONManjaro i3: Arch-Derivat mit bereitet CSVs optimal auf S. 54 App für die Konsole S. 44 Tiling-Window-Manager S. 48 Frei kopieren und beliebig weiter verteilen ! 03.2016 03.2016 Guter Schnitt für Bild und Ton, eindrucksvolle Effekte, perfektes Mastering VIDEOSCHNITT Videos bearbeiten Im Überblick: Sieben aktuelle VIDEOSCHNITT Werkzeuge für den Videoschnitt unter Linux im Direktvergleich S. 10 • Veracrypt • Wego • Wego • Veracrypt • Pitivi & OpenShot: Einfach wie noch nie – die neue Generation der Videoschnitt-Werkzeuge S. 20 Lightworks: So kitzeln Sie optimale Ergebnisse aus der kostenlosen Free-Version heraus S. 26 Verschlüsselte Daten sicher verstecken S. 64 Glaubhafte Abstreitbarkeit: Wie Sie mit dem Truecrypt-Nachfolger • SQLiteStudio Stellarium Synology RT1900ac Veracrypt wichtige Daten unauffindbar in Hidden Volumes verbergen Stellarium erweitern S. 32 Workshop SQLiteStudio S. 78 Eigene Objekte und Landschaften Die komfortable Datenbankoberfläche ins virtuelle Planetarium einbinden für Alltagsprogramme auf dem Desktop Top-Distris • Anydesk • Miller PyChess • auf zwei Heft-DVDs ANYDESK • MILLER • PYCHESS • STELLARIUM • VERACRYPT • WEGO • • WEGO • VERACRYPT • STELLARIUM • PYCHESS • MILLER • ANYDESK EUR 8,50 EUR 9,35 sfr 17,00 EUR 10,85 EUR 11,05 EUR 11,05 2 DVD-10 03 www.linux-user.de Deutschland Österreich Schweiz Benelux Spanien Italien 4 196067 008502 03 Editorial Old and busted? Jörg Luther Chefredakteur Sehr geehrte Leserinnen und Leser, viele kleinere, innovative Distributionen seit einem Jahrzehnt kommen Desktop- Immer öfter stellen wir uns aber die haben damit erst gar nicht angefangen und Notebook-Systeme nur noch mit Frage, ob es wirklich noch Sinn ergibt, oder sparen es sich schon lange. Open- 64-Bit-CPUs, sodass sich die Zahl der moderne Distributionen überhaupt Suse verzichtet seit Leap 42.1 darauf; das 32-Bit-Systeme in freier Wildbahn lang- noch als 32-Bit-Images beizulegen.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Full Circle Magazine
    2008 március - 11. szám LENOVO 3000 C200 LAPTOP ANDREA VERI AZ UBUNTU KÖZÖSSÉG FÜGGETLEN MAGAZINJA TRUECRYPT UBUNTUN IPOD CLASSIC ÉS AZ AMAROK BEVEZETÉS A LATEX-BE SAJÁT SZERVER KÉSZÍTÉSE 3. RÉSZ LINUX MINT vs UBUNTU LINUX MINT vs UBUNTU - MELYIK MELYIK VALÓ NEKED? DISZTRÓ VALÓ IGAZÁN NEKED? IIPPOODD && AAMMAARROOKK TTRRUUEECCRRYYPPTT AAZZ IIPPOODD CCLLAASSSSIICC//NNAANNOO TTAARRTTSSDD BBIIZZTTOONNSSÁÁGGBBAANN MMU´U´´´KKOO¨¨DDIIKK AAZZ AAMMAARROOKKKKAALL AADDAATTAAIIDDAATT 1 A Full Circle magazin nem azonosítandó a Canonical Ltd-vel! 4 Linux Mint vs Ubuntu 6 TrueCrypt Ubuntun 8 Az Ipod Classic és az Amarok 12 Bevezetés a LaTeX-be 16 Saját szerver készítése - 3. rész 18 w w w . f u l l c i r c l e m a g a z i n e . o r g Lenovo 3000 C200 20 Ubuntut használsz, nem Linuxot 23 Egy gyermek története 24 VS Andrea Veri 25 6 27 8 12 28 29 31 32 Platform játékok 33 16 18 20 33 35 Minden szöveg- és képanyag, amelyet a magazin tartalmaz, a Creative Commons Nevezd meg! -Így add tovább! 2.5 Magyarország Licenc alatt kerül kiadásra. Ez annyit jelent, hogy átdolgozhatod, másolhatod, terjesztheted és tovább- adhatod a benne található cikkeket a következő feltételekkel: jelezned kell eme szándékodat a szerzőnek (legalább egy név, e-mail cím vagy url eléréssel) valamint fel kell tüntetni a magazin nevét (full circle magazin) és az url-t, ami a www.fullcirclema- gazine.org (úgy terjeszd a cikkeket, hogy ne sugalmazzák azt, hogy te készítetted őket vagy a te munkád van benne). Ha módosítasz, vagy valamit átdolgozol benne, akkor a munkád eredményét ugyanilyen, hasonló vagy ezzel kompatibilis licensz alatt leszel köteles ter- jeszteni.
    [Show full text]
  • Technical Notes All Changes in Fedora 13
    Fedora 13 Technical Notes All changes in Fedora 13 Edited by The Fedora Docs Team Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https:// fedoraproject.org/wiki/Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. All other trademarks are the property of their respective owners. Abstract This document lists all changed packages between Fedora 12 and Fedora 13.
    [Show full text]
  • A Complete Chess Engine Parallelized Using Lazy SMP
    A Complete Chess Engine Parallelized Using Lazy SMP Emil Fredrik Østensen Thesis submitted for the degree of Master in programming and networks 60 credits Department of informatics Faculty of mathematics and natural sciences UNIVERSITY OF OSLO Autumn 2016 A Complete Chess Engine Parallelized Using Lazy SMP Emil Fredrik Østensen © 2016 Emil Fredrik Østensen A Complete Chess Engine Parallelized Using Lazy SMP http://www.duo.uio.no/ Printed: Reprosentralen, University of Oslo Abstract The aim of the thesis was to build a complete chess engine and parallelize it using the lazy SMP algorithm. The chess engine implemented in the thesis ended up with an estimated ELO rating of 2238. The lazy SMP algorithm was successfully implemented, doubling the engines search speed using 4 threads on a multicore processor. Another aim of this thesis was to act as a starting compendium for aspiring chess programmers. In chapter 2 Components of a Chess Engine many of the techniques and algorithms used in modern chess engines are discussed and presented in a digestible way, in a try to make the topics understandable. The information there is presented in chronological order in relation to how a chess engine can be programmed. i ii Contents 1 Introduction 1 1.1 The History of Chess Computers . .2 1.1.1 The Beginning of Chess Playing Machines . .2 1.1.2 The Age of Computers . .3 1.1.3 The First Chess Computer . .5 1.1.4 The Interest in Chess Computers Grow . .6 1.1.5 Man versus Machine . .6 1.1.6 Shannon’s Type A versus Shannon’s Type B Chess Computers .
    [Show full text]
  • Curriculum Vitae
    Curriculum vitae Thomas Dybdahl Ahle May 2020 Education June 2019 Doctor of Philosophy, IT University of Copenhagen. 2019 Master of Arts in Computer Science, University of Oxford. 2017 Master of Science, IT University of Copenhagen, University of Copenhagen. 2013 Bachelor of Arts in Computer Science, University of Oxford. Publications \Subsets and Supermajorities: Optimal Hashing-based Set Similarity Search". By Thomas Dybdahl Ahle { Submitted, 2019. \Oblivious Sketching of High-Degree Polynomial Kernels". By Thomas Dybdahl Ahle, M Kapralov, J Knudsen, R Pagh, A Velingker, D Woodruff, A Zandieh at ACM-SIAM Symposium on Discrete Algorithms (SODA), 2019. \Optimal Las Vegas Locality Sensitive Data Structures". By Thomas Dybdahl Ahle at IEEE Symposium on Foundations of Computer Science (FOCS), 2017. \Parameter-free Locality Sensitive Hashing for Spherical Range Reporting". By Thomas Dybdahl Ahle, M Aum¨uller,R Pagh at ACM-SIAM Symposium on Dis- crete Algorithms (SODA), 2017. \On the Complexity of Inner Product Similarity Join". By Thomas Dybdahl Ahle, R Pagh, I Razenshteyn, F Silvestri at ACM Symposium on Principles of Database Systems (PODS), 2016. 1 Awards and Scholarships Research Travel Award, Stibo-Foundation, 2016. Given to just two Danish students a year, to collaborate in research abroad. Northwestern Europe Regional Programming Contest, 1st, Association for Com- puting Machinery, 2014. With my team Lambdabamserne, becoming the first ever Danish team to qualify for the ACM wold finals. Danish National Programming Champion, 1st, Netcompany, 2013, 2014. Algorithm competition known as "DM i Programmering" Oxford Computer Science Competition, 1st, University of Oxford, 2013. For my Numberlink solving software, giving the first fixed parameter polynomial algorithm for the problem.
    [Show full text]
  • Learning to Play the Chess Variant Crazyhouse Above World
    LEARNING TO PLAY THE CHESS VARIANT CRAZYHOUSE ABOVE WORLD CHAMPION LEVEL WITH DEEP NEURAL NETWORKS AND HUMAN DATA APREPRINT Johannes Czech 1;*, Moritz Willig 1, Alena Beyer 1, Kristian Kersting 1;2, Johannes Fürnkranz 1 1 Department of Computer Science, TU Darmstadt, Germany 2 Centre for Cognitive Science, TU Darmstadt, Germany Correspondence:* [email protected] August 23, 2019 ABSTRACT Deep neural networks have been successfully applied in learning the board games Go, chess and shogi without prior knowledge by making use of reinforcement learning. Although starting from zero knowledge has been shown to yield impressive results, it is associated with high computationally costs especially for complex games. With this paper, we present CrazyAra which is a neural network based engine solely trained in supervised manner for the chess variant crazyhouse. Crazyhouse is a game with a higher branching factor than chess and there is only limited data of lower quality available compared to AlphaGo. Therefore, we focus on improving efficiency in multiple aspects while relying on low computational resources. These improvements include modifications in the neural network design and training configuration, the introduction of a data normalization step and a more sample efficient Monte-Carlo tree search which has a lower chance to blunder. After training on 569;537 human games for 1:5 days we achieve a move prediction accuracy of 60:4 %. During development, versions of CrazyAra played professional human players. Most notably, CrazyAra achieved a four to one win over 2017 crazyhouse world champion Justin Tan (aka LM Jann Lee) who is more than 400 Elo higher rated compared to the average player in our training set.
    [Show full text]
  • Intelligent Chessboard Using IOT
    © 2020 IJRAR March 2020, Volume 7, Issue 1 www.ijrar.org (E-ISSN 2348-1269, P- ISSN 2349-5138) Intelligent Chessboard Using IOT 1 2 3 4 5 Tejas Shaha, Deepak Chaudhari, Ashutosh Kshirsagar, Aboli Doiphode, Prof.M.R.Mahajan 1B.E Student, 2B.E Student, 3B.E Student, 4B.E Student, 5Professor 1Department of Information Technology 1Pune Vidyarthi Griha’s College of Engineering and Technology, Pune, India Abstract : A game of chess is both, fun and challenging. But lets face it, its a busy world. People stay miles away from each other and wanting to play with a partner might be inconvenient and infeasible. Automatic Chessboard enables you to play chess with the Intelligent chessboard anytime anywhere. The automated board is designed to reflect the Artificial Intelligence’s move with precision. Intelligent chessboard consists of a Artificial Intelligence move-reflecting robotic arm which has 4 degrees of freedoms. Project is comprised of various modules such as; main controller, image processing, machine learning,serialization and motion engine of robotic arm. Image processing unit is triggered only whenever human player initiates a move. Meanwhile, images acquired in a specific time intervals are transmitted to the machine learning module for piece identification and classification. This process is followed by an Artificial Intelligence move computed by the Artificial Intelligence chess engine ‘Sunfish’. Using serialization, robotic arm reflects this move on the board. keywords – Artificial Intelligence,Machine Learning,Robotic arm,Image Processing,Arduino,Sunfish. INTRODUCTION As knowing, chess game is considered as the one of the excellent games which used to test the abilities and intelligence of human brains.
    [Show full text]
  • Upgrade Issues
    Upgrade issues Graph of new conflicts libhdf5-lam-1.8.4 (x 4) code-saturne-include libopal-dev libsc-dev bzr-gtk liboss4-salsa-asound2 (x 2) sweep (x 2) python-aptdaemon-gtk (x 8) murrine-themes nova-network arping lxc cgroup-bin fence-agents cman iceape xul-ext-requestpolicy libcups2-dev libelektra-dev (x 2) gnat-4.4 ahven-dbg worker loop-aes-utils Explanations of conflicts vagalume libgtk-3-0 murrine-themes Weight: 80 Problematic packages: libgtk-3-0 | vagalume bluefish-plugins libgtk-3-0 murrine-themes Similar to bluefish-plugins: bluefish bluefish-dbg Weight: 2604 Problematic packages: bluefish-plugins | libgtk-3-0 worker avfs fuse loop-aes-utils Weight: 195 Problematic packages: worker code-saturne-include mpi-default-dev libopenmpi-dev libopal-dev Similar to code-saturne-include: code-saturne Weight: 135 Problematic packages: code-saturne-include code-saturne-include libmedc-dev libmedc1 libhdf5-openmpi-1.8.4 libhdf5-serial-1.8.4 Similar to code-saturne-include: code-saturne Similar to libhdf5-serial-1.8.4: libmapnik2-dev grass-dev libmapnik-dev libhdf5-serial-dev liblas-dev libgdal1-dev Weight: 156 Problematic packages: code-saturne-include ahven-dbg libahven3-dev gnat-4.6 gnat-4.4 Similar to gnat-4.4: libpolyorb1-dev libapq-postgresql1-dev adacontrol libxmlada3.2-dev libapq1-dev libaws-bin libtexttools2-dev libpolyorb-dbg libnarval1-dev libgnat-4.4-dbg libapq-dbg libncursesada1-dev libtemplates-parser11.5-dev asis-programs libgnadeodbc1-dev libalog-base-dbg liblog4ada1-dev libgnomeada2.14.2-dbg libgnomeada2.14.2-dev adabrowse libpcscada1-dev
    [Show full text]
  • Python: Sunfish Chess Engine Jonni Bidwell Analyses the Innards of a Small but Perfectly Formed Chess Engine That Bests Him with Alarming Regularity
    Python Python: Sunfish chess engine Jonni Bidwell analyses the innards of a small but perfectly formed chess engine that bests him with alarming regularity. whatever the quantity this might be, I desire to receive it”. The king soon realised that there was not enough wheat in the world to fulfil this demand, and once again was impressed. There are various endings to this story, in one Sissa is given a position within the king’s court, in another he is executed for being a smart arse. Hopefully this tutorial’s Our chess treatment will feature neither execution nor LXF towers expert being buried in mountains of wheat. Jonni Bidwell Chess is a complicated game – all the pieces move is rumoured to be differently depending on their circumstances, there are a mechanical Turk, various extraordinary moves (eg en passent pawn capture, it would explain the rat-a-tat of castling) and pawns get promoted if they make it all the way gears as he to the other side. As a result, a surfeit of pitfalls present produces words in exchange for themselves to the chess-programming dilettante, so rather bread and beer. than spending a whole tutorial falling into traps we’re going to borrow the code from Thomas Ahle’s Sunfish – a complete chess engine programmed in Python. There’s no shortage of chess engines: from the classic GNU Chess to the Kasparov- beating Deep Blue (1997) to the pack-leading Stockfish. Chess engines on their own generally do not come with their own GUI, their code being mostly devoted to the not inconsiderable problem of finding the best move for a given position.
    [Show full text]
  • Openmagazin Prosinec 2011
    Nenechte si ujít nové číslo 1 1 Přihlásit 0 2 c e n i s o r p Hry Líbí se vám openMagazin? Snažíme se, abyste dostali kvalitní informace, dozvěděli se něco nového a mohli číst cestou do školy nebo do práce. OpenMagazin děláme pro vás! Kdybyste nás chtěli pochválit nebo nám poděkovat přečtěte si článek na adrese www.openmagazin.cz/ ctenari – děkujeme! http://www.openmagazin.cz/podileji­se/ .. Produkuje: za podpory 4 Oil Rush – staň se i ty petrolejovým princem! 8 Deset deskových her pro Linux Přispívají: 10 Šachy v Linuxu 12 Go v Linuxu 15 Open source na Mestskom úrade Banská Bystrica 21 Dvacet let Linuxu: Zajímavé vynálezy 24 Mandriva Linux 2011: Dlouho očekávaný dýchánek 29 Recenze Ubuntu 11.10 Oneiric Ocelot 35 Výukové programy a hry pro žáky základních a středních škol 40 FlightGear – Vzneste se do oblak 44 Cube2: Sauerbraten – Oživte starou legendu 47 VDrift – pojďte si užít smyky a závody aut 50 Zobrazte si potřebné položky pomocí filtrů 52 Doplňky pro OpenOffice.org – Jedna velikost, Vytváření obrysů a Mazání duplicitních hodnot 55 Ubuntu 11.10 Oneiric Ocelot: na co se těšit 58 Xubuntu 11.10: dokonalý náhradník bez Unity 61 Jak na rovnice ve Scribusu 62 Jak na rovnice pomocí Inkscape 64 Recenze Linux Mint 11 Výrobu podpořili finančně: CSTUG – přednáška a valná hromada 10. prosince, Fakulta informatiky MU v Brně Konference Informatika XXV/2012 16.–18. ledna, Luhačovice–Pozlovice O magazínu: Šéfredaktorka: Irena Šafářová – OpenOffice.org Licence: Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported, což zna- Jazyková korektura: Petr Novotný – OpenOffice.org mená, že jej smíte šířit, ale nesmíte měnit ani komerčně využívat.
    [Show full text]
  • Full Circle Magazine») Ainsi Qu'à L’Adresse Web (Mais Ne Modifiez Rien Qui Laisse À Penser Qu'ils Approuvent Votre Utilisation De L'œuvre)
    Issue #11 - Mars 2008 PORTABLE LENOVO 3000 C200 full circle ANDREA VERI LE MAGASINE INDEPENDANT DE LA COMMUNAUTE UBUNTU TRUECRYPT SUR UBUNTU IPOD CLASSIC ET AMAROK INTRODUCTION A LATEX CREER SON SERVEUR 3 LINUX MINT vs UBUNTU LINUX MINT vs UBUNTU - QUELLE LAQUELLE VOUS FAUT-IL? DISTRIBUTION POUR VOUS? IIPPOODD && AAMMAARROOKK TTRRUUEECCRRYYPPTT FFAAIITTEESS FFOONNCCTTIIOONNNNEERR VVOOTTRREE SSEECCUURRIISSEEZZ VVOOSS IIPPOODD CCLLAASSSSIICC AAVVEECC AAMMAARROOKK IINNFFOORRMMAATTIIOONNSS 1 Full Circle n'est affilié en aucune manière à Canonical Ltd. p.04 Linux Mint vs Ubuntu p.06 TrueCrypt sur Ubuntu p.08 Ipod Classic et Amarok p.12 Introduction à LaTeX p.16 full circle Serveur - 3ème partie p.18 w w w . f u l l c i r c l e m a g a z i n e . o r g : Lenovo 3000 C200 p.20 : Utilisez Ubuntu p.23 : Une histoire d'enfant p.24 : Andrea Veri p.25 p.27 P.06 p.28 P.08 P.12 p.29 p.31 p.32 : Jeux de plateforme p.33 20 .33 p.35 P.16 P..18 P. P Les articles contenus dans ce magazine sont publiés sous Licence Creative Commons 3.0. Cela signifie que vous pouvez adapter, copier, distribuer et transmettre les articles, mais uniquement dans les conditions suivantes: vous devez attribuer ce travail à son auteur original (au moins un nom, une adresse ou url) et au magazine par son nom («Full Circle Magazine») ainsi qu'à l’adresse web www.fullcirclemagazine.org (mais ne modifiez rien qui laisse à penser qu'ils approuvent votre utilisation de l'œuvre).
    [Show full text]