Two arrays of numbers sorted in nondecreasing order are given: an array A of size n and an array B of size m, where n < m. It is required to determine, for every element of A, the smallest element of B (if one exis...
详细信息
Two arrays of numbers sorted in nondecreasing order are given: an array A of size n and an array B of size m, where n < m. It is required to determine, for every element of A, the smallest element of B (if one exists) that is larger than or equal to it. It is shown how to solve this problem on the EREW PRAM (exclusive-read exclusive-write parallel random-access machine) in O(logm logn/log log m) time using n processors. The solution is then extended to the case in which fewer than n processors are available. This yields an EREW PRAM algorithm for the problem whose cost is 0(n log m, which is O(m)) for n &le m/log m. It is shown how the solution obtained here leads to an improved parallel merging algorithm.
Geometric constraint programming (GCP) is an approach to synthesizing planar mechanisms in the sketching mode of commercial parametric computer-aided design software by imposing geometric constraints using the softwar...
详细信息
Geometric constraint programming (GCP) is an approach to synthesizing planar mechanisms in the sketching mode of commercial parametric computer-aided design software by imposing geometric constraints using the software's existing graphical user interface. GCP complements the accuracy of analytical methods with the intuition developed from graphical methods. Its applicability to motion generation, function generation, and path generation for finitely separated positions has been previously reported. By implementing existing, well-known theory, this technical brief demonstrates how GCP can be applied to kinematic synthesis for motion generation involving infinitesimally and multiply separated positions. For these cases, the graphically imposed geometric constraints alone will in general not provide a solution, so the designer must parametrically relate dimensions of entities within the graphical construction to achieve designs that automatically update when a defining parameter is altered. For three infinitesimally separated positions, the designer constructs an acceleration polygon to locate the inflection circle defined by the desired motion state. With the inflection circle in place, the designer can rapidly explore the design space using the graphical second Bobillier construction. For multiply separated position problems in which only two infinitesimally separated positions are considered, the designer constrains the instant center of the mechanism to be in the desired location. For example, four-bar linkages are designed using these techniques with three infinitesimally separated positions and two different combinations of four multiply separated positions. The ease of implementing the techniques may make synthesis for infinitesimally and multiply separated positions more accessible to mechanism designers and undergraduate students.
Applications developed for standard graphical user interfaces (GUIs) are becoming more and more popular, since these programs offer a consistent, easy-to-use interface, a reduced learning curve, and better integration...
详细信息
Applications developed for standard graphical user interfaces (GUIs) are becoming more and more popular, since these programs offer a consistent, easy-to-use interface, a reduced learning curve, and better integration of programs. Despite the advantages for end users, programming for a graphical user interface with a traditional language can be difficult. Object oriented programming (OOP) reduces the complexity of GUI programming by encapsulating standard windowing behavior into prdefined objects. This paper describes the design and implementation of a Microsoft Windows application--Chart, a business graphics *** aspects of an object-oriented approach to GUI programming are described, including encapsulation, inheritance, message sending and polymorphism. An object-oriented approach reduces the complexity of GUI programming, and increases productivity by providing predefined classes that encapsulate the API. Inheritance permits customization of existing classes, and since GUIs are event-driven, they map well to the message basis of object-oriented systems.
With a VAX microcomputer and two custom programs, one can connect the CAE workstation that is used for circuit design to a CAD system for pc-board layout. This 7-task CAE - CAD interface permits one to transfer a circ...
详细信息
With a VAX microcomputer and two custom programs, one can connect the CAE workstation that is used for circuit design to a CAD system for pc-board layout. This 7-task CAE - CAD interface permits one to transfer a circuit's net list automatically from the CAE system to the CAD system for board routing, and it overcomes format differences between the systems.
The field programmable gate array (FPGA) is a promising technology for increasing computation performance by providing for the design of custom chips through programmable logic blocks. This technology was used to impl...
详细信息
ISBN:
(纸本)0819423165;9780819423160
The field programmable gate array (FPGA) is a promising technology for increasing computation performance by providing for the design of custom chips through programmable logic blocks. This technology was used to implement and test a hardware random number generator (RNG) versus four software algorithms. The custom hardware consists of a sun SBus-based board (EVC) which has been designed around a Xilinx FPGA. A timing analysis indicates the Sun/EVC hardware generator computes 1 multiplied by 106 random numbers approximately 50 times faster than the multiplicative congruential algorithm. The hardware and software RNGs were also compare using a Monte Carlo photon transport algorithm. For this comparison the Sun/EVC generator produces a performance increase of approximately 2.0 versus the software generators. This comparison is based upon 1 multiplied by 105 photon histories.
Three open source codes that have the potential to provide the basis for research into evolutionary program code generation approaches to machine learning are discussed. The codes are named as lil-gp, ECJ and grammati...
详细信息
Three open source codes that have the potential to provide the basis for research into evolutionary program code generation approaches to machine learning are discussed. The codes are named as lil-gp, ECJ and grammatical evolution (GE). Lil-gp provides a clear and concise ANSI C implementation for tree structured genetic programming (GP), with a strong emphasis towards the original Koza formulation. ECJ emphasizes and supports latest GP developments directly, but it takes longer time to become familiar with. GE is the least developed of the three systems but represents a specific instance of an on going research theme.
Parsing is defined as the process of breaking down an input string into its most elementary parts, referred to as tokens. The portion of a program that performs this action is called the parser. The use of parsers in ...
详细信息
Parsing is defined as the process of breaking down an input string into its most elementary parts, referred to as tokens. The portion of a program that performs this action is called the parser. The use of parsers in various areas of computer operating systems is indicated. Various program applications are described (compiler, interpreter, translator, pretty printer, command language processor, query language processor and text editor) and discussed in detail. An example of designing and writing of a parser for an assembler should be easily applied to any of the other areas.
An overview is provided of the needs and motivations which led the Centre de Traitement d l'Informtion to conceive and produce software for the automatic processing of text. This software appeared necessary in ord...
详细信息
An overview is provided of the needs and motivations which led the Centre de Traitement d l'Informtion to conceive and produce software for the automatic processing of text. This software appeared necessary in order to integrate and to monitor a large set of tools which either exist or are being developed. It was considered desirable that the product be flexible, general, and open-ended, so that it is easily adapted to a multitude of data structures. It was planned to function interactively and aims, by its design philosophy, to give to a user the means to plan his own usage of the tools as well as to control his data and his output.
We present a scripting toolkit for the acquisition and analysis of a wide variety of imaging data by integrating the ease of use of various programming environments such as LABVIEW, IGOR PRO, MATLAB, SCILAB, and other...
详细信息
We present a scripting toolkit for the acquisition and analysis of a wide variety of imaging data by integrating the ease of use of various programming environments such as LABVIEW, IGOR PRO, MATLAB, SCILAB, and others. This toolkit is designed to allow the user to quickly program a variety of standard microscopy components for custom microscopy applications allowing much more flexibility than other packages. Included are both programming tools as well as graphical user interface classes allowing a standard, consistent, and easy to maintain scripting environment. This programming toolkit allows easy access to most commonly used cameras, stages, and shutters through the Micromanager project so the scripter can focus on their custom application instead of boilerplate code generation. (C) 2010 American Institute of Physics. [doi: 10.1063/1.3499370]
The article presents questions and answers related to computer programming, addressing the problems created by untidy source trees, and techniques for getting co-workers to adopt technical innovations.
The article presents questions and answers related to computer programming, addressing the problems created by untidy source trees, and techniques for getting co-workers to adopt technical innovations.
暂无评论