
Portland State University PDXScholar Dissertations and Theses Dissertations and Theses 1-1-2011 Simulation and emulation of massively parallel processor for solving constraint satisfaction problems based on oracles Gunavant Dinkar Chaudhari Portland State University Follow this and additional works at: https://pdxscholar.library.pdx.edu/open_access_etds Let us know how access to this document benefits ou.y Recommended Citation Chaudhari, Gunavant Dinkar, "Simulation and emulation of massively parallel processor for solving constraint satisfaction problems based on oracles" (2011). Dissertations and Theses. Paper 11. https://doi.org/10.15760/etd.11 This Thesis is brought to you for free and open access. It has been accepted for inclusion in Dissertations and Theses by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. Simulation and Emulation of Massively Parallel Processor for Solving Constraint Satisfaction Problems Based on Oracles by Gunavant Dinkar Chaudhari A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer Engineering Thesis Committee: Marek Perkowski, Chair Xiaoyu Song Douglas Hall Portland State University ©2011 Abstract Most part of my thesis is devoted to efficient automated logic synthesis of oracle processors. These Oracle Processors are of interest to several modern technologies, including Scheduling and Allocation, Image Processing and Robot Vision, Computer Aided Design, Games and Puzzles, and Cellular Automata, but so far the most important practical application is to build logic circuits to solve various practical Constraint Satisfaction Problems in Intelligent Robotics. For instance, robot path planning can be reduced to Satisfiability. In short, an oracle is a circuit that has some proposition of solution on the inputs and answers yes/no to this proposition. In other language, it is a predicate or a concept-checking machine. Oracles have many applications in AI and theoretical computer science but so far they were not used much in hardware architectures. Systematic logic synthesis methodologies for oracle circuits were so far not a subject of a special research. It is not known how big advantages these processors will bring when compared to parallel processing with CUDA/GPU processors, or standard PC processing. My interest in this thesis is only in architectural and logic synthesis aspects and not in physical (technological) design aspects of these circuits. In future, these circuits will be realized using reversible, nano and some new technologies, but the interest in this thesis is not in the future realization technologies. We want just to answer the following question: Is there any speed advantage of the new oracle-based architectures, when compared with standard serial or parallel processors? i Acknowledgement I wish to express my sincere gratitude to Professor Dr. Marek Perkowski for having given me a wonderful research opportunity. I would like to thank him for his encouragement, support and guidance. I would like to thank Mentor Graphics Corporation for giving Veloce Emulator and hardware accelerator to Portland State University. I would also like to thank Professor Douglas Hall and Xiaoyu Song for their valuable feedback. I would also like to thank all of my friends for making my stay at Portland State University a wonderful one. ii Table of Contents Abstract……………………………..……………………………………………………...…………………i Acknowledgement……………….………………………………………………………..…………………ii Chapter 1 Introduction, Goals and Background .............................................................................................. 1 1.1 Goals of This Thesis: ....................................................................................................................... 3 1.1.1 What this Thesis is about: Synthesis of Oracles for CSP problems ........................................ 3 1.1.2 What this dissertation is NOT about? ...................................................................................... 4 1.2 Universality versus specialization of the methods that I proposed .................................................. 5 1.3 Why do we need CAD methods for synthesis of oracle processors? ............................................... 6 1.4 Previous work on synthesis of oracles ............................................................................................. 7 1.5 Innovative aspects of this thesis ...................................................................................................... 7 1.6 Uniform presentation of methods .................................................................................................... 8 1.7 My approach .................................................................................................................................... 8 Chapter 2 The Concept of Oracle-Based Machines for Constraint Satisfaction Problems ............................ 10 2.1 My Goals ....................................................................................................................................... 10 2.2 Why Logic Accelerators are superior to classical computers when solving certain classes of problems. ................................................................................................................................................... 15 2.3 Towards combinatorial problem solving ....................................................................................... 16 2.3.1 NP problems and CSP problems ........................................................................................... 16 2.3.2 Building a circuit for a very simple oracle ............................................................................ 18 2.3.3 Building oracles for CAD, CSP and robotics ........................................................................ 24 2.4 Architectures ................................................................................................................................. 25 2.5 How to convert abstract problem to an architecture ...................................................................... 27 2.6 The main motivation and principle for architecture ...................................................................... 28 2.7 CSP architectures in practical robotics and digital CAD tools ...................................................... 30 2.8 Why logic puzzles are not only fun but are important. .................................................................. 31 2.9 Historical Remark .......................................................................................................................... 32 2.10 Principles of problem-solving and design methodologies ............................................................. 33 2.10.1 Principle of reducing CSP problems to building Oracles for them ........................................ 33 2.11 Solving Constraint Satisfaction problems Using Oracles .............................................................. 33 2.11.1 Problems with no information in robotics and CAD ............................................................. 35 2.12 Solving problems by reducing them to basic combinatorial search problems ............................... 36 2.12.1 Main problem representations and data structures in CSP problems ..................................... 36 2.12.2 Universal and problem-specific methods or mixing them? ................................................... 37 2.12.3 Properties of my problem-solving model .............................................................................. 38 2.13 Combinatorial Problems in synthesis and optimization of circuits................................................ 39 2.13.1 Future CAD tools .................................................................................................................. 39 2.13.2 Logic circuits other than AND/OR/NOT circuits .................................................................. 40 2.14 Types of oracles to solve combinational problem ......................................................................... 40 2.14.1 Combinational oracle ............................................................................................................. 40 2.14.2 Sequential oracle ................................................................................................................... 41 2.14.3 Combinational oracles ........................................................................................................... 41 2.14.4 Sequential oracles .................................................................................................................. 43 2.15 Mechanisms of exercising oracles ................................................................................................. 44 2.15.1 Random number generation ................................................................................................... 44 2.15.2 Simulated annealing .............................................................................................................. 44 2.15.3 Pseudo Boolean programming ............................................................................................... 44 2.15.4 Integer programming ............................................................................................................. 45 2.15.5 Exhaustive search based on counting ...................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages198 Page
-
File Size-