Efficient encoding algorithms for computer-aided design of diffractive optical elements by the use o
fastcluster 1.2.3 快速层次聚类算法 R 和 Python 包说明书

Package‘fastcluster’October13,2022Encoding UTF-8Type PackageVersion1.2.3Date2021-05-24Title Fast Hierarchical Clustering Routines for R and'Python'Copyright Until package version1.1.23:©2011Daniel Müllner<>.All changes from version1.1.24on:©Google Inc.<>.Enhances stats,flashClustDepends R(>=3.0.0)Description This is a two-in-one package which provides interfaces to both R and'Python'.It implements fast hierarchical,agglomerativeclustering routines.Part of the functionality is designed as drop-inreplacement for existing routines:linkage()in the'SciPy'package'scipy.cluster.hierarchy',hclust()in R's'stats'package,and the'flashClust'package.It provides the same functionality with thebenefit of a much faster implementation.Moreover,there arememory-saving routines for clustering of vector data,which go beyondwhat the existing packages provide.For information on how to installthe'Python'files,see thefile INSTALL in the source distribution.Based on the present package,Christoph Dalitz also wrote a pure'C++'interface to'fastcluster':<https://lionel.kr.hs-niederrhein.de/~dalitz/data/hclust/>. License FreeBSD|GPL-2|file LICENSEURL /fastcluster.htmlNeedsCompilation yesAuthor Daniel Müllner[aut,cph,cre],Google Inc.[cph]Maintainer Daniel Müllner<*******************>Repository CRANDate/Publication2021-05-2423:50:06UTC12fastclusterR topics documented:fastcluster (2)hclust (3)hclust.vector (5)Index7 fastcluster Fast hierarchical,agglomerative clustering routines for R and PythonDescriptionThe fastcluster package provides efficient algorithms for hierarchical,agglomerative clustering.Inaddition to the R interface,there is also a Python interface to the underlying C++library,to be foundin the source distribution.DetailsThe function hclust provides clustering when the input is a dissimilarity matrix.A dissimilaritymatrix can be computed from vector data by dist.The hclust function can be used as a drop-in re-placement for existing routines:stats::hclust and flashClust::hclust alias flashClust::flashClust.Once the fastcluster library is loaded at the beginning of the code,every program that uses hierar-chical clustering can benefit immediately and effortlessly from the performance gainWhen the package is loaded,it overwrites the function hclust with the new code.The function hclust.vector provides memory-saving routines when the input is vector data.Further information:•R documentation pages:hclust,hclust.vector•A comprehensive User’s manual:fastcluster.pdf.Get this from the R command line withvignette( fastcluster ).•JSS paper:https:///v53/i09/.•See the author’s home page for a performance comparison:/fastcluster.html.Author(s)Daniel MüllnerReferences/fastcluster.htmlSee Alsohclust,hclust.vectorExamples#Taken and modified from stats::hclust##hclust(...)#new method#hclust.vector(...)#new method#stats::hclust(...)#old methodrequire(fastcluster)require(graphics)hc<-hclust(dist(USArrests),"ave")plot(hc)plot(hc,hang=-1)##Do the same with centroid clustering and squared Euclidean distance,##cut the tree into ten clusters and reconstruct the upper part of the##tree from the cluster centers.hc<-hclust.vector(USArrests,"cen")#squared Euclidean distanceshc$height<-hc$height^2memb<-cutree(hc,k=10)cent<-NULLfor(k in1:10){cent<-rbind(cent,colMeans(USArrests[memb==k,,drop=FALSE]))}hc1<-hclust.vector(cent,method="cen",members=table(memb))#squared Euclidean distanceshc1$height<-hc1$height^2opar<-par(mfrow=c(1,2))plot(hc,labels=FALSE,hang=-1,main="Original Tree")plot(hc1,labels=FALSE,hang=-1,main="Re-start from10clusters")par(opar)hclust Fast hierarchical,agglomerative clustering of dissimilarity dataDescriptionThis function implements hierarchical clustering with the same interface as hclust from the stats package but with much faster algorithms.Usagehclust(d,method="complete",members=NULL)Argumentsd a dissimilarity structure as produced by dist.method the agglomeration method to be used.This must be(an unambiguous abbrevi-ation of)one of"single","complete","average","mcquitty","ward.D","ward.D2","centroid"or"median".members NULL or a vector with length the number of observations.DetailsSee the documentation of the original function hclust in the stats package.A comprehensive User’s manual fastcluster.pdf is available as a vignette.Get this from the Rcommand line with vignette( fastcluster ).ValueAn object of class hclust .It encodes a stepwise dendrogram.Author(s)Daniel MüllnerReferences/fastcluster.htmlSee Alsofastcluster,hclust.vector,stats::hclustExamples#Taken and modified from stats::hclust##hclust(...)#new method#stats::hclust(...)#old methodrequire(fastcluster)require(graphics)hc<-hclust(dist(USArrests),"ave")plot(hc)plot(hc,hang=-1)##Do the same with centroid clustering and squared Euclidean distance,##cut the tree into ten clusters and reconstruct the upper part of the##tree from the cluster centers.hc<-hclust(dist(USArrests)^2,"cen")memb<-cutree(hc,k=10)cent<-NULLfor(k in1:10){cent<-rbind(cent,colMeans(USArrests[memb==k,,drop=FALSE]))}hc1<-hclust(dist(cent)^2,method="cen",members=table(memb))opar<-par(mfrow=c(1,2))plot(hc,labels=FALSE,hang=-1,main="Original Tree")plot(hc1,labels=FALSE,hang=-1,main="Re-start from10clusters")par(opar)hclust.vector Fast hierarchical,agglomerative clustering of vector dataDescriptionThis function implements hierarchical,agglomerative clustering with memory-saving algorithms. Usagehclust.vector(X,method="single",members=NULL,metric= euclidean ,p=NULL) ArgumentsX an(N×D)matrix of’double’values:N observations in D variables.method the agglomeration method to be used.This must be(an unambiguous abbrevia-tion of)one of"single","ward","centroid"or"median".members NULL or a vector with length the number of observations.metric the distance measure to be used.This must be one of"euclidean","maximum", "manhattan","canberra","binary"or"minkowski".Any unambiguoussubstring can be given.p parameter for the Minkowski metric.DetailsThe function hclust.vector provides clustering when the input is vector data.It uses memory-saving algorithms which allow processing of larger data sets than hclust does.The"ward","centroid"and"median"methods require metric="euclidean"and cluster the data set with respect to Euclidean distances.For"single"linkage clustering,any dissimilarity measure may be chosen.Currently,the same metrics are implemented as the dist function provides.The callhclust.vector(X,method= single ,metric=[...])gives the same result ashclust(dist(X,metric=[...]),method= single )but uses less memory and is equally fast.For the Euclidean methods,care must be taken since hclust expects squared Euclidean distances.Hence,the callhclust.vector(X,method= centroid )is,aside from the lesser memory requirements,equivalent tod=dist(X)hc=hclust(d^2,method= centroid )hc$height=sqrt(hc$height)The same applies to the"median"method.The"ward"method in hclust.vector is equivalent to hclust with method"ward.D2",but to method"ward.D"only after squaring as above.More details are in the User’s manual fastcluster.pdf,which is available as a vignette.Get this from the R command line with vignette( fastcluster ).Author(s)Daniel MüllnerReferences/fastcluster.htmlSee Alsofastcluster,hclustExamples#Taken and modified from stats::hclust##Perform centroid clustering with squared Euclidean distances,##cut the tree into ten clusters and reconstruct the upper part of the##tree from the cluster centers.hc<-hclust.vector(USArrests,"cen")#squared Euclidean distanceshc$height<-hc$height^2memb<-cutree(hc,k=10)cent<-NULLfor(k in1:10){cent<-rbind(cent,colMeans(USArrests[memb==k,,drop=FALSE]))}hc1<-hclust.vector(cent,method="cen",members=table(memb))#squared Euclidean distanceshc1$height<-hc1$height^2opar<-par(mfrow=c(1,2))plot(hc,labels=FALSE,hang=-1,main="Original Tree")plot(hc1,labels=FALSE,hang=-1,main="Re-start from10clusters")par(opar)Index∗clusterfastcluster,2hclust,3hclust.vector,5∗multivariatefastcluster,2hclust,3hclust.vector,5dist,2,5double,5fastcluster,2,4,6fastcluster-package(fastcluster),2 flashClust::flashClust,2 flashClust::hclust,2hclust,2,3,3,4–6hclust.vector,2,4,5,5,6stats,3,4stats::hclust,2,47。
Self-adaptive differential evolution algorithm for numerical optimization

n
Abstract—In this paper, we propose an extension of Self-adaptive Differential Evolution algorithm (SaDE) to solve optimization problems with constraints. In comparison with the original SaDE algorithm, the replacement criterion was modified for handling constraints. The performance of the proposed method is reported on the set of 24 benchmark problems provided by CEC2006 special session on constrained real parameter optimization.
2006 IEEE Congress on Evolutionary Computation Sheraton Vancouver Wall Centre Hotel, Vancouver, BC, Canada July 16-21, 2006
Self-adaptive Differential Evolution Algorithm for Constrained Real-Parameter Optimization
“DE/rand/1”: Vi ,G = Xr ,G + F ⋅ Xr ,G − Xr G
1 2 3,
(
“DE/best/1”: Vi ,G = Xbest ,G + F ⋅ Xr ,G − X r G 1 2,
单精度浮点算力 英文

单精度浮点算力英文Single-Precision Floating-Point ArithmeticThe field of computer science has witnessed remarkable advancements in the realm of numerical computation, with one of the most significant developments being the introduction of single-precision floating-point arithmetic. This form of numerical representation has become a cornerstone of modern computing, enabling efficient and accurate calculations across a wide range of applications, from scientific simulations to multimedia processing.At the heart of single-precision floating-point arithmetic lies the IEEE 754 standard, which defines the format and behavior of this numerical representation. The IEEE 754 standard specifies that a single-precision floating-point number is represented using 32 bits, with the first bit representing the sign, the next 8 bits representing the exponent, and the remaining 23 bits representing the mantissa or fraction.The sign bit determines whether the number is positive or negative, with a value of 0 indicating a positive number and a value of 1 indicating a negative number. The exponent field, which ranges from-126 to 127, represents the power to which the base (typically 2) is raised, allowing for the representation of a wide range of magnitudes. The mantissa, or fraction, represents the significant digits of the number, providing the necessary precision for accurate calculations.One of the key advantages of single-precision floating-point arithmetic is its efficiency in terms of memory usage and computational speed. By using a 32-bit representation, single-precision numbers require less storage space compared to their double-precision counterparts, which use 64 bits. This efficiency translates into faster data processing and reduced memory requirements, making single-precision arithmetic particularly well-suited for applications where computational resources are limited, such as embedded systems or mobile devices.However, the reduced bit-width of single-precision floating-point numbers comes with a trade-off in terms of precision. Compared to double-precision floating-point numbers, single-precision numbers have a smaller range of representable values and a lower level of precision, which can lead to rounding errors and loss of accuracy in certain calculations. This limitation is particularly relevant in fields that require high-precision numerical computations, such as scientific computing, financial modeling, or engineering simulations.Despite this limitation, single-precision floating-point arithmeticremains a powerful tool in many areas of computer science and engineering. Its efficiency and performance characteristics make it an attractive choice for a wide range of applications, from real-time signal processing and computer graphics to machine learning and data analysis.In the realm of real-time signal processing, single-precision floating-point arithmetic is often employed in the implementation of digital filters, audio processing algorithms, and image/video processing pipelines. The speed and memory efficiency of single-precision calculations allow for the processing of large amounts of data inreal-time, enabling applications such as speech recognition, noise cancellation, and video encoding/decoding.Similarly, in the field of computer graphics, single-precision floating-point arithmetic plays a crucial role in rendering and animation. The representation of 3D coordinates, texture coordinates, and color values using single-precision numbers allows for efficient memory usage and fast computations, enabling the creation of complex and visually stunning graphics in real-time.The rise of machine learning and deep neural networks has also highlighted the importance of single-precision floating-point arithmetic. Many machine learning models and algorithms can be effectively trained and deployed using single-precision computations,leveraging the performance benefits without significant loss of accuracy. This has led to the widespread adoption of single-precision floating-point arithmetic in the development of AI-powered applications, from image recognition and natural language processing to autonomous systems and robotics.In the field of scientific computing, the use of single-precision floating-point arithmetic is more nuanced. While it can be suitable for certain types of simulations and numerical calculations, the potential for rounding errors and loss of precision may necessitate the use of higher-precision representations, such as double-precision floating-point numbers, in applications where accuracy is of paramount importance. Researchers and scientists often carefully evaluate the trade-offs between computational efficiency and numerical precision when choosing the appropriate floating-point representation for their specific needs.Despite its limitations, single-precision floating-point arithmetic remains a crucial component of modern computing, enabling efficient and high-performance numerical calculations across a wide range of applications. As technology continues to evolve, it is likely that we will see further advancements in the representation and handling of floating-point numbers, potentially addressing the challenges posed by the trade-offs between precision and computational efficiency.In conclusion, single-precision floating-point arithmetic is a powerful and versatile tool in the realm of computer science, offering a balance between memory usage, computational speed, and numerical representation. Its widespread adoption across various domains, from real-time signal processing to machine learning, highlights the pivotal role it plays in shaping the future of computing and technology.。
外文翻译--关于PWM的外文翻译

外文原文Pulse-width modulationPulse-width modulation(PWM)is a modulationtechnique that conforms th ewidth of thepulse,formally the pulse duration,based on modulator signal informat ion。
Althoughthis modulation technique can be used to encode information for transmission,its mainuse is to allow the control of the power suppliedtoelectrical devices,especially to inertialloadssuch as motors.Inaddition,PWM is oneof the two principal algorithms used in photovoltaic solar battery chargers,[1]The averagevalue of voltage (and current)fed totheload iscontrolle dbyturning the switch betweensupply andload onand offatafa st pace。
The longer the switchisoncompared tothe off periods,the higher the powersupplied to the load is.ThePWM switching frequency has to bemuchfaster than whatwould affect the loa d,which is to say thedevice thatuses the power. Typically switchings have tobe done several times a minute in an electric stove,120 Hz inalamp dimmer,fromfewkilohertz(kHz)to tens of kHz foramotor drive and well into the tens or hundreds ofkHzin audioamplifiers and computer power supplies.The term duty cycledescribes theproportionof 'on’ time totheregular interval or ’period'of time; a low dutycyclecorresponds tolow power, because t he powerisofffor most ofthetime.Duty cycle is expressed in percent, 100% being fully on.Themain advantage ofPWM is thatpower loss in the switchingdevices is very low. Whenaswitch is off there is practically no current, andwhen it ison,there is almost no voltage dropacross the switch。
tmpgenc 4.0 xpress

tmpgenc 4.0 xpressIntroductionTMPGEnc 4.0 XPress is a popular video encoding software developed by Pegasys Inc. This powerful tool allows users to convert and compress video files into various formats while maintaining high quality. With its easy-to-use interface and advanced features, TMPGEnc 4.0 XPress has become a favorite among video editing enthusiasts and professionals alike.This document will provide an overview of TMPGEnc 4.0 XPress, highlighting its key features, benefits, and usage instruction s. So let’s dive in and explore what this software has to offer!FeaturesTMPGEnc 4.0 XPress is packed with a range of features that make it an excellent choice for video encoding. Here are some of its notable features:1. High-Quality Video EncodingTMPGEnc 4.0 XPress uses advanced encoding algorithms to ensure high-quality output. It supports various video formats, including MPEG-1, MPEG-2, MPEG-4, AVI, and more. With its powerful encoding engine, users can convert videos while preserving the original picture quality.2. Fast Processing SpeedThe software leverages multi-core processors to optimize video encoding speed. This allows users to complete their projects quickly, saving both time and effort. By utilizing the full potential of the hardware, TMPGEnc 4.0 XPress delivers fast and efficient video encoding.3. Comprehensive Format SupportTMPGEnc 4.0 XPress supports a wide range of input and output formats, making it a versatile tool for video conversion. It can handle popular formats like MP4, AVI, WMV, and more. Additionally, it allows users to customize the output settings according to their specific requirements.4. Easy-to-Use InterfaceThe software sports an intuitive user interface that simplifies the video encoding process. All the essential tools and settings are easily accessible, allowing users to navigate through the software effortlessly. Whether you are a beginner or an experienced user, TMPGEnc 4.0 XPress provides a user-friendly experience.BenefitsUsing TMPGEnc 4.0 XPress offers several benefits to its users. Here are some advantages of using this software:1. Excellent Video QualityTMPGEnc 4.0 XPress ensures superior video quality throughout the encoding process. It reduces noise, fixes color issues, and optimizes the output for a visually stunning result. With this software, users can create videos that captivate their audience with sharp visuals and vibrant colors.2. Time and Cost EfficiencyBy utilizing the software’s fast processing speed and efficient encoding algorithms, users can save valuable time and resources. With TMPGEnc 4.0 XPress, you can encode videos in less time without compromising on quality, making it an excellent choice for projects with tight deadlines.3. Customizable Output SettingsTMPGEnc 4.0 XPress allows users to fine-tune the output settings according to their preferences. From adjusting the resolution and bitrate to changing the audio codec, users have full control over the encoding parameters. This flexibility ensures that your videos are encoded exactly as desired.4. Wide CompatibilityWhether you want to play your videos on a specific device or share them online, TMPGEnc 4.0 XPress supports formats that suit your needs. The software provides preset profiles for various devices, including smartphones, tablets, gaming consoles, and more. This compatibility allows users to enjoy their videos on a wide range of platforms.Usage InstructionsUsing TMPGEnc 4.0 XPress is straightforward and requires no prior technical knowledge. Here’s a step-by-step guide to help you get started:1.Installation: Download and install TMPGEnc 4.0XPress from the official website. Follow the on-screeninstructions to complete the installation process.2.Import Video: Launch the software and click on the。
win7 codecs

win7 codecsWin7 Codecs: A Comprehensive GuideIntroductionIn the world of digital multimedia, codecs play a crucial role in decoding and encoding audio and video files. Codecs are tools or software components that allow the compression and decompression of multimedia files, ensuring that they can be played back seamlessly on various media players or devices. In this comprehensive guide, we will delve into the world of Win7 Codecs, discussing what they are, why they are important, how to install them, and their potential benefits for Windows 7 users.What are Codecs?Codecs, short for coder-decoder, are algorithms or software that compress and decompress audio and video files. They are essential for digital media files because they reduce the file size, making them more manageable to store or transmit. On the playback side, codecs decode the compressed data,allowing the media player to reproduce the audio or video content.Why are Codecs Important?Without codecs, multimedia files would occupy a significant amount of disk space and require extensive bandwidth for transmission. Codecs enable efficient compression, ensuring that files retain a high level of quality while reducing their size. Additionally, codecs ensure that media files can be played on various devices and media players, promoting compatibility and accessibility.Win7 Codecs: Overview and FeaturesWin7 Codecs is a codec pack specifically designed for Windows 7 operating systems. Created by the developers at Shark007, Win7 Codecs aims to provide an all-in-one solution for users to enjoy a wide range of multimedia formats without compatibility issues. Some of the key features of Win7 Codecs include:1. Wide Format Support: Win7 Codecs supports an extensive array of audio and video formats, including popular optionslike MP3, MP4, AVI, MKV, and more. This ensures compatibility with a broad range of media players and devices, allowing users to play their files effortlessly.2. Customization Options: Win7 Codecs offers various tweaks and customization options, empowering users to personalize their multimedia experience. Users can configure settings such as speaker configuration, subtitle support, audio output, and more, optimizing the playback according to their preferences.3. Easy Installation: Installing Win7 Codecs is a straightforward process that requires minimal effort. The installation package comes with a user-friendly installer that guides users through the setup, making it accessible even for those with limited technical knowledge.Benefits of Win7 CodecsUsing Win7 Codecs offers several advantages for Windows 7 users:1. Seamless Playback: With Win7 Codecs installed, users can enjoy a hassle-free multimedia experience, as the majority ofpopular audio and video formats are supported. This eliminates the need to search for specific codecs or convert files to different formats.2. Enhanced Compatibility: Win7 Codecs ensures that multimedia files can be played on various media players and devices without encountering compatibility issues. This is particularly useful when using less common file formats or playing files on different platforms.3. Improved Performance: By utilizing efficient compression algorithms, Win7 Codecs reduces the size of multimedia files without compromising their quality. This results in smoother playback and eliminates buffering or lagging issues that may occur with larger files.ConclusionWin7 Codecs is a valuable tool for Windows 7 users who desire a seamless multimedia experience without compatibility issues. By offering extensive format support, customization options, and easy installation, Win7 Codecs ensures that users can enjoy their favorite audio and video files effortlessly. With its numerous benefits, Win7 Codecs is amust-have for any Windows 7 user looking to optimize their multimedia playback.。
机器学习与数据挖掘笔试面试题

Why do we combine multiple trees? What is Random Forest? Why would you prefer it to SVM? Logistic regression: Link to Logistic regression Here's a nice tutorial What is logistic regression? How do we train a logistic regression model? How do we interpret its coefficients? Support Vector Machines A tutorial on SVM can be found and What is the maximal margin classifier? How this margin can be achieved and why is it beneficial? How do we train SVM? What about hard SVM and soft SVM? What is a kernel? Explain the Kernel trick Which kernels do you know? How to choose a kernel? Neural Networks Here's a link to on Coursera What is an Artificial Neural Network? How to train an ANN? What is back propagation? How does a neural network with three layers (one input layer, one inner layer and one output layer) compare to a logistic regression? What is deep learning? What is CNN (Convolution Neural Network) or RNN (Recurrent Neural Network)? Other models: What other models do you know? How can we use Naive Bayes classifier for categorical features? What if some features are numerical? Tradeoffs between different types of classification models. How to choose the best one? Compare logistic regression with decision trees and neural networks. and What is Regularization? Which problem does Regularization try to solve? Ans. used to address the overfitting problem, it penalizes your loss function by adding a multiple of an L1 (LASSO) or an L2 (Ridge) norm of your weights vector w (it is the vector of the learned parameters in your linear regression). What does it mean (practically) for a design matrix to be "ill-conditioned"? When might you want to use ridge regression instead of traditional linear regression? What is the difference between the L1 and L2 regularization? Why (geometrically) does LASSO produce solutions with zero-valued coefficients (as opposed to ridge)? and What is the purpose of dimensionality reduction and why do we need it? Are dimensionality reduction techniques supervised or not? Are all of them are (un)supervised? What ways of reducing dimensionality do you know? Is feature selection a dimensionality reduction technique? What is the difference between feature selection and feature extraction? Is it beneficial to perform dimensionality reduction before fitting an SVM? Why or why not? and Why do you need to use cluster analysis? Give examples of some cluster analysis methods? Differentiate between partitioning method and hierarchical methods. Explain K-Means and its objective? How do you select K for K-Means?
一种基于MDL的日志序列模式挖掘算法

第47卷第2期Vol.47No.2计算机工程Computer Engineering2021年2月February2021一种基于MDL的日志序列模式挖掘算法杜诗晴1,王鹏2,汪卫2(1.复旦大学软件学院,上海201203;2.复旦大学计算机科学技术学院,上海201203)摘要:日志数据是互联网系统产生的过程性事件记录数据,从日志数据中挖掘出高质量序列模式可帮助工程师高效开展系统运维工作。
针对传统模式挖掘算法结果冗余的问题,提出一种从时序日志序列中挖掘序列模式(DTS)的算法。
DTS采用启发式思路挖掘能充分代表原序列中事件关系和时序规律的模式集合,并将最小描述长度准则应用于模式挖掘,设计一种考虑事件关系和时序关系的编码方案,以解决模式规模爆炸问题。
在真实日志数据集上的实验结果表明,与SQS、CSC与ISM等序列模式挖掘算法相比,该算法能高效挖掘出含义丰富且冗余度低的序列模式。
关键词:数据挖掘;日志分析;事件关系;最小描述长度准则;序列模式开放科学(资源服务)标志码(OSID):中文引用格式:杜诗晴,王鹏,汪卫.一种基于MDL的日志序列模式挖掘算法[J].计算机工程,2021,47(2):118-125.英文引用格式:DU Shiqing,WANG Peng,WANG Wei.A MDL-based pattern mining algorithm for log sequences[J]. Computer Engineering,2021,47(2):118-125.A MDL-based Pattern Mining Algorithm for Log SequencesDU Shiqing1,WANG Peng2,WANG Wei2(1.Software School,Fudan University,Shanghai201203,China;2.School of Computer Science,Fudan University,Shanghai201203,China)【Abstract】Logs contain rich information about procedural events generated in Internet systems,and the mining of high-quality sequence modes from log data can improve the efficiency of system operation and maintenance.To address the problem of redundant results of traditional pattern mining algorithms,this paper proposes a Discovering sequential patterns from Temporal log Sequences(DTS)algorithm.DTS heuristically discovers the set of patterns that can best represent the event relationships and temporal regularities in the original sequence.At the same time,DTS applies the Minimum Description Length(MDL)principle to pattern mining,and proposes an encoding scheme that considers event relationships as well as temporal relationships to solve pattern explosion.Experimental results on real log datasets show that compared with SQS,CSC,ISM and other sequential pattern mining algorithms,the proposed algorithm is capable of efficiently mining meaningful sequential patterns with low redundancy.【Key words】data mining;log analysis;event relationships;Minimum Description Length(MDL)principle;sequential patterns DOI:10.19678/j.issn.1000-3428.00571810概述日志数据记录了互联网系统运行时的状态以及任务的开始与结束等重要事件,其易于获取且含有丰富的信息,已经成为系统运维领域的重要数据源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Efficient encoding algorithms for computer-aideddesign of diffractive optical elements by the use of electron-beam fabricationJiao Fan,David Zaleta,Kristopher S.Urquhart,and Sing H.LeeOne of the general requirements of a computer-aided design system is the existence of efficient1in datasize and running time2algorithms that are generally reliable for the broadest range of designinstances.The restricted data formats of the electron-beam machines impose difficulties in developingalgorithms for the design of diffractive optical elements1DOE’s2and computer-generated holograms1CGH’s2.Issues that are related to the development of CGH algorithms for e-beam fabrication of DOE’sand CGH’s are discussed.We define the problems the CGH algorithms need to solve,then introducegeneral curve drawing algorithms for the e-beam data generation of diffractive optical components.Anefficient algorithm for general aspherical DOE’s is proposed.Actual design and fabrication examplesare also presented.1.IntroductionDiffractive optical elements1DOE’s2or computer-generated holograms1CGH’s2can be used in many industrial and military applications,including optical interconnections for next-generation highly parallel computing systems.The most general DOE that can be expressed in analytic form for such applications is the aspheric DOE.Typically an aspheric element is defined as an optical element whose phase function can be specified by a polynomial of some specified type.Thus aspheric elements can be designed in standard optical design programs,such as CODE V, that will optimize the coefficients of the polynomial to satisfy the designer’s specifications.Once these coef-ficients are created,the next step is to generate the e-beam fabrication data for the aspheric DOE’s. Depending on whether the element will be fabricated by a direct-write e-beam method or by e-beam masks,files that contain such information as e-beam shapes, dose levels,and mask numbers must be generated. The problem,however,is that e-beam shapes are trapezoids rather than curved shapes.Further-more,current e-beam pattern generators for vector-based machines place stringent limitations on the types of trapezoids that can be generated,as we discuss in Section2.For instance,only trapezoids with horizontal tops and bottoms and with afixed set of angles for the trapezoid’s sides are allowed. Therefore the diffractive fringe patterns must be approximated by large numbers of these e-beam shapes.There are two major issues in generating curved-fringe DOE’s:112whether the algorithm is general enough,and122whether the data generated are efficient1in terms of data size2and accurate enough.A general algorithm should be able to produce correct results for any defined input parameters.In the case of aspheric DOE’s,the input can be any polyno-mial phase function and have any aperture size, wavelength,and phase-error requirements.Math-ematically any continuous phase function defined on a rectangular or circular aperture can be approxi-mated by a polynomial.1This makes e-beam-fabri-cated aspheric elements attractive andflexible for many applications;however,at same time,this makes the task offinding a general algorithm for this purpose very difficult.Furthermore,as the number of trapezoids grows,the e-beam data size grows proportionally.Thus there is a trade-off in data generation between patternfidelity and data size or between optical noise and fabrication cost and time. Therefore there is a need for general algorithms that generate reduced data size for general aspheric DOE’s.The authors are with the Department of Electrical and Computer Engineering,University of California San Diego,9500Gilman Drive,La Jolla,California92093-0407.Received22August1994;revised manuscript received7Novem-ber1994.0003-6935@95@142522-12$06.00@0.r1995Optical Society of America.In this paper,we introduce the models,algorithms and a new encoding–fracturing method for solving these problems.Note that these algorithms and methods are practical and compatible with current computer and e-beam technologies.They have been integrated into a computer-aided design1CAD2tool for CGH and DOE fabrication,in which different types of e-beam format are supported.In Section2,the background information and basic e-beam machines and their associated limitations are discussed.Then, in Section3,we present the fundamental procedures for curve drawing and fracturing of phase contours based on e-beam machine limitations for rotationally symmetric DOE’s.In Section4,we present an aspheric tracing and fracturing algorithm,based on modified subdivision techniques,2that is stable,accu-rate,and data efficient.Examples,results,and dis-cussion are given in Section5.2.Background and Past ResearchIn this section,wefirst discuss the previous research conducted on generating e-beam data for DOE and CGH applications,and then we discuss the limita-tions in e-beam shapes for standard e-beam ma-chines.A.Electron-beam Data ConsiderationsAn important aspect of a CGH design system is its capability of generating e-beam data in a format that is readily acceptable by common commercial e-beam systems that are supported.Examples of these for-mats are Perkin-Elmer’s MEBES and Cambridge Instru-ment’s EBMF.The basic characteristics of these e-beam systems have been discussed in Refs.3and4. Summarizing these characteristics,wefind that both e-beam systems accept only a limited number of shapes,which are generally trapezoids with horizon-tal upper and lower edges.MEBES uses a raster-scan technology,and it allows trapezoids whose sides can have arbitrary orientations.In contrast,EBMF uses a vector-scan technology,and it accepts only trapezoids with a limited number of orientations along their sides,i.e.,0°,690°,627°,645°,and663°.All patterns must be described in terms of the coordi-nates and the size of the trapezoids that make up the pattern.In this paper,we call the minimum addres-sable point an‘‘exel,’’and it can have a diameter of between0.125and0.0125µm,depending on the e-beam machine.Note that each e-beam shape is made up of many exels.MEBES shapes require be-tween8to14bytes to describe,whereas each EBMF shape takes8bytes to describe.Both e-beam sys-tems divide the area of a pattern into several sections. MEBES divides the pattern into segments and stripes. Each segment is32,76812152exels wide and each stripe may be256,512,or1024exels high.Simi-larly,EBMF divides the pattern into squarefields and subfields.The size of eachfield in each direction is 32,76812152exels,and that of each subfield is1024 exels,i.e.,eachfield consists of32332subfields. E-beam shapes are not allowed to cross the bound-aries betweenfields and subfields or between seg-ments and stripes.As subfield boundaries includefield boundaries,we use the term subfield to stand forbothfield and subfield in this paper.In the appen-dix,we outline some low-level functions that arecapable of achieving this subfield fracturing.Because MEBES machines have moreflexibility inthe e-beam angle requirements for mask production,any encoding algorithms for EBMF should also work for MEBES.However,one reason for using EBMF ma-chines for CGH and DOE fabrication is their capabili-ties of direct-write applications.By direct write,wemean both direct alignment techniques1typicallycalled direct-write in integrated-circuit fabrication2and analog resist techniques1called direct-write inDOE fabrication2.5Both of these methods have showngreat promise in reducing the number of fabricationsteps or in reducing the misalignment during fabrica-tion and are topics of current research.In both ofthese direct-write methods,it is necessary to assigneach shape in the pattern one of several differentdosage levels that is specified in the data format1in EBMF one of up to16different levels2.The MEBES format,unfortunately,does not provide the dosage information in the datafile.All the algorithms presented are applicable to both MEBES and EBMF with only slight modifications.B.Past ResearchUsing the computer to calculate the position and the width of fringes for an arbitrary wave front wasfirst proposed by Lee.6Since Arnold4,7first proposed the use of the e-beam writer in generating DOE’s,there have been many publications on the subject.8–11 There are two types of approaches that were proposed to take specification data,such as the coefficients of an aspheric DOE,and generate the desired e-beam data:fringe-tracing-based algorithms that trace fringe boundaries and pixel-based algorithms that draw small areas1pixels2based on the average wave-front value at the point.Pixel-based methods draw fringes that are based on the average phase-function value of each small region1pixel2.Lee’s method6and the mosaic-encoding method described by Arnold4are examples of this pixel-based approach.Because these types of algorithms rely totally on the phase function at each pixel,they are stable and general.However, because of the high-resolution requirement for CGH’s and DOE’s,the data size for this type of method is usually very high.Fringe-tracing methods,on the other hand,are based on tracing the contour curves that are produced when the phase function and a number of constant phase levels are intersected and the area between the appropriate contour curves is then fractured into valid e-beam shapes.This type of method has the advantage of being more data efficient because,if the fringe boundaries arefirst determined,larger e-beam shapes can be used to produce the fringes.Arnold’s staircase and polygon-encoding methods4are of this type.However,even through all polynomials are smooth and continuouslydifferentiable to any order at all points,the projec-tions of certain polynomials may not be smooth,and the boundaries of these fringes from the projection may present a singular point3e.g.1x21y22213 x2y2y3504or loops.12Arnold did not discuss in detail how to solve this problem,and the solution given in Ref.11is not general enough to handle arbitrary cases.Finding the intersections of con-stant phase planes and the surface of an arbitrary polynomial function can be difficult because of the numerical nature of the problem.In fact,even if the task of approximating the fringes into valid e-beam angles is neglected,finding optimum ways of determin-ing surface-to-surface intersections is still an active research topic in computer graphics.13–16As we discussed above,EBMF machines have an advantage over MEBES machines in their direct-write capability.However,the shape limitations for EBMF machines present more difficulties in the fracturing of curved fringes.In fact,the staircase method that has been proposed for EBMF fracturing is less data efficient1,25times compared with MEBES polygon encoding2and can have optical noise introduced by the corners of the rectangles.Hawley and Gallagher17 and Newman et al.18have proposed an efficient way to solve this problem by combining Lee’s method and the Lempel–Ziv–Welch compression scheme.This ap-proach determines the binary value1expose or not expose2of each exel in the CGH and compresses the information directly into a modified e-beam machine format.It can achieve good accuracy and generate data efficiently for binary CGH masks.However,it requires hardware and software changes on the e-beam machine,and handling of the e-beam direct-write case was not considered.In this paper we introduce an approach that com-bines the pixel-based and the fringe-tracing methods for the e-beam fabrication of aspheric DOE’s.There are two major contributions from this paper:112a new fracturing method for DOE’s with a rotationally symmetric phase function is presented for curve fringe fracturing that tries to minimize the data size as well as the optical noise introduced from sharp corners of the rectangles when Arnold’s staircase encoding for EBMF e-beam machines is used,and122a general stable method is presented forfinding and fracturing aspheric DOE fringes while trying to keep the e-beam data size minimum.C.Electron-Beam Data-Generation HierarchyBecause of the strict constraints on e-beam shapes and theflexibility requirements of CGH designs,we need to generate the e-beam shapes in a hierarchical fashion.There are three hierarchical conversion lev-els from high-level specifications to actual e-beam shapes:Level112Converting high-level design param-eters into fringe information1usually defined by a set of points or an analytic equation2.Level122Approximating the fringes with trap-ezoids required by the e-beam system.Level132Fracturing the trapezoids with subfield boundaries so that thefinal trapezoids will be valid e-beam shapes.This hierarchy can imply different algorithms for different types of elements.For instance,DOE’s that are rotationally symmetric,which are commonly used in optical design,can be more efficiently frac-tured than general aspheric DOE’s.Although gen-eral aspheric DOE’s include rotationally symmetric DOE’s,the algorithm specifically designed for rotation-ally symmetric DOE’s can be much more efficient than a general aspheric algorithm.Therefore we separate our discussion of level112and level122for rotationally symmetric DOE’s and general aspheric DOE’s into Sections3and4,respectively.The basic functions for fulfilling level132in the hierarchy are given in Appendix A for interested readers.3.Fracturing of Rotationally Symmetric DOE’sIn this section we discuss how to fulfill level112and122 in the hierarchy for rotationally symmetric DOE’s by introducing a set of routines that are capable of fracturing their curved fringes into valid e-beam shapes.By rotationally symmetric,we mean DOE’s with phase functions that can be expressed as func-tions of the radius3i.e.,f1r24.Thus either spherical or certain types of aspheric phase functions can be fractured by the techniques described below.Note that these routines also serve as the foundational functions for the development of a general aspheric fracturing algorithm given in Section4.Because the fringe boundary of these types of DOE’s can be expressed in analytic form,the task for level112is to approximate the analytic curves with a set of points that trace the fringes with valid e-beam angles.The traces can then be converted to trapezoids with valid e-beam properties3level122in the conversion hierarchy4. These trapezoids are then further fractured into valid e-beam shapes by the use of a function called Fracture-Trapezoid3level132in the conversion hierarchy4,which is defined in Appendix A.Tofind a particular circular fringe boundary from a starting point P,we need to trace the points on the circle1within some phase-error specification2that satisfy the e-beam shape requirements when they are connected.Given a spherical phase function f1r25 f0,we know that the fringe boundaries are all of the form r25x21y25r i2,where5r i6is a set of constants determined for the appropriate phase transitions of the phase function.Now assume that e is the phase-error requirement that can be specified as a fraction of a wavelength:e5l@e.Because the DOE is rota-tionally symmetric,the magnitude of the gradient for a single fringe can be treated as a constant over the whole fringe1note that this assumption cannot be made for general aspheric DOE’s2.Then,for a given fringe with r j11and r j as the boundaries,the toler-ance,d,of the fringe tracing can be approximately given byd<21r j112r j2@e.13.12Without loss of generality in the following fringe-tracing description,we assume that the fringe is open and start from top to bottom,as one can always break a fringe up into a few fringes to satisfy this condition. The procedure for tracing the fringe boundary r j over the desired region R starts with point P within6d of the fringe boundary and follows an initial direction that is compatible with any e-beam angle restrictions. Typically P is chosen on some suitable position on the boundary of R1in this case we assume that the boundary of R is made up of lines with valid e-beam angles2.An intersection point can be determined by the solution of the linear equation of the e-beam direction with one of the error boundaries:r25 1r j1d22or r251r j2d221Fig.12.Then,depending on whether it intersects with the inner or the outer boundary,it searches for the next valid e-beam angle that will intersect the opposite error boundary and that is closest to the current direction.If the intersec-tion point cannot be found on the opposite error boundary,the current error boundary can be used again for the intersection.For example,e-beam line l1intersects r251r j1d22,and e-beam line l2has the closest angle to l1that intersects r251r j2d22.We then save this intersection point and then try to solve the next intersection in the same fashion;the process continues until the trace intersects the boundary of R. If the angle closest to the current direction is chosen, it is possible not only to maximize the e-beam shape’s sizes but also to help maintain smooth transitions between the e-beam shapes.This tracing algorithm can be applied to both EBMF and MEBES cases;of course,the implementation for the MEBES format has much more freedom in choosing the angles compared with that of the EBMF format.Therefore the MEBES format will generate less data.Formally,the e-beam tracing function can be described byDefinition:Given f,P,and e discussed above,and given the aperture of region R,define Trace-Ring 1f,P,e,R,ring2to be the function described above, which returns an array of points,ring.Using the above procedure,we canfind two arrays of points that define both boundaries r j11and r j1ring1 and ring22of any open fringe;we then define a function tofind trapezoids that satisfy any e-beam constraints in the following:Definition:Given two sets of points1making up the concentric polygons in Fig.22,ring1and ring2, which represent sampled boundary points along the two edges of a fringe,we define Find-Trapezoids 1ring1,ring2,trap2as a function that slices one trap-ezoid trap off of the fringe and also deletes this trapezoid area from the fringe for the next slice.The function returns this trapezoid.We can implement this function by slicing from each point horizontally until it reaches the opposite fringe boundary.Thus trapezoids withflat horizon-tal tops and bottoms will be created that have the desired e-beam angles found in the fringe-tracing section of the algorithm.Given the above tracing and fracturing functions,a generic binary or direct-write optics e-beam driver for rotational symmetric DOE’s can be defined as the following:Draw-Curve1f,e,R2102Choose a boundary function pair1f1,f22from function f defined on R such that f15f1n p@m, f25f11n112p@m,where n50,2,4,...,for a binary mask,n50,1,2,...,for a multiphase-level direct write,and m is the number of phase levels. 112Find the two starting points P1and P2ofthe Fig. 1.Fringe tracing by Trace-Ring function used in bothrotationally symmetric and general aspheric fracturing algorithms.Note that r1t,n1250°1the e-beam angle of l12.Fig.2.E-beam fracturing hierarchy for rotationally symmetricDOE’s.fringe boundary by intersecting f 1and f 2on the boundary of R .122Call Trace-Ring 1f ,P 1,e ,R ,ring12for the first set of points ring1.132Call Trace-Ring 1f 2,P 2,e ,R ,ring22for the second set of points ring2.142Call Find-Trapezoids 1ring1,ring2,trap 2to find a trapezoid trap .152Call Fracture-Trapezoid 1trap 2to write trap to the e-beam data file.162Repeat steps 142and 152until the fringe is covered by the trapezoids.172Repeat steps 102–162until all fringes have been converted to trapezoids.Creating e-beam data for an on-axis Fresnel lens can be easily achieved by the use of the function call:Draw-Curve 522p @l 31x 21y 21f 221@22f 4,e ,R i 6,where R i is the i th quarter of the two-dimensional plane for i 51,2,3,4.The element is divided into four quarters to ensure the no-loop condition of the driver.Figure 2shows the relationship of the three levels of conver-sion hierarchy and functions we have defined so far.Figure 3shows a quarter of a binary mask for a Fresnel lens generated by the Draw-Curve function with a phase error of l @100.4.Aspheric Diffractive Optical Element Electron-Beam Fracturing AlgorithmBecause of the generality implied in the aspheric case,the rotational symmetry required by Draw-Curve 1described in Section 32cannot be assumed.In this section,we formally describe the aspheric e-beam fracturing problem to be solved and present an algorithm capable of providing a general solution to the problem.To solve this problem,two difficult hurdles need to be overcome.One is to find thecontour lines of an arbitrary wave front 3level 1124.The other is to use optimum combinations of the valid e-beam shapes to approximate the fringes 3level 1224.Our approach is to divide the element into smaller subdivisions so that the task of tracing fringes can become more manageable and more stable or robust in the smaller areas.A.General Aspheric ElementsThe phase function for a general aspheric element can be given in the form of a polynomial asf 1x ,y 25o k 50M o j 50kCkj xk 2j y j,14.12where x and y are coordinates in the DOE plane,C kj are the aspheric coefficients,and M is the order of the polynomial.These coefficients depend on the de-sired function of the DOE,and they are usually obtained from an optical design program such as CODE V .19The aspheric algorithm uses these coefficients to locate the fringes in the DOE pattern.B.Problem FormulationBecause aspheric designs are much more general,they are more difficult for CAD programs to ensure high quality and efficiency.As an input to the algo-rithm,Equation 14.12is used to find the location of fringes and the polygon vertices approximating them.This can be done by finding the equiphase contours of f 1x ,y 2that define the edges of the fringes.The equiphase contours of f 1x ,y 2are defined by the locus of roots of the equation,f 1x ,y 25f 0,14.22where f 0is the constant phase ofinterest.Fig.3.Binary masks of a spherical element generated by the Draw-Curve function:1a 2EBMF ,1b 2MEBES .Formally,Let R be the aperture region of a DOE A:x0,x, x1and y0,y,y1.Let S55E0E is an e-beam shape6be the set of allowable e-beam shapes.Let f1x,y2be a polynomial phase function of A defined in region R,which represents the desired wave front of interest.Given the fractional fringe phase value,2p@m,where m is the number of phase levels and a phase-error bound e,our problem is to partition A into a set of fringes A i such thatA i551x,y201i21212p@m2,f1x,y2#i12p@m26;i.14.32 For each fringe A i,a number f i is assigned to indicate the quantized phase for this area.For ex-ample,when DOE’s are L phase level direct write,f i 512p@L21i mod L2for all i.The task of the algorithm is to approximate fringe A i efficiently with a subset S i8 of S such that the phase errors caused by undercov-ered or overcovered areas in the DOE plane are bounded by e.That is,for any i,we want tofind S i8 such that1i21212p@m22e,f1x a,y a2,i12p@m21e14.42 for all points1x a,y a2in S i8.Note that inequality14.42 indicates the valid region for each fringe in the DOE plane.The following is a more detailed discussion about how to trace a particular fringe to ensure that inequality14.42is satisfied.C.Error Estimation and Fringe TracingFor a general phase function f1x,y25f01e.g.,a polynomial2with a phase-error requirement e1usually a user-specified number such as l@1002,the curve tracing begins byfinding the error boundaries.This phase error is the local error between the desired phase surface and the approximated constant phase surface1Fig.42.However,the translation of this phase-error value to a contour plane tolerance around the desired fringe boundary is not necessarily a constant,as shown in Fig.4,where d1x1,y125d1fid25d1x2,y22.The phase-error requirement can be mathematically specified as0Df1x,y20<0≠f1x,y2≠x D x1≠f1x,y2≠y D y0#0≠f1x,y2≠x D x010≠f1x,y2≠y D y0#e.14.52 Therefore,if we letd1x,y25e2min31/≠f1x,y2≠x,1/≠f1x,y2≠y4,14.62then for each point within the range of d on the DOE plane,approximation14.52is satisfied.In other words,if D x and D y are less than or equal to d in Eq.14.62,then the phase-error criterion of approximation 14.52is met.Sometimes,to simplify the computation, we use the minimum value for the entire area of the element or the minimum e-beam pixel size,whichever is larger.However,Eq.14.62does provide a way to adjust the step size in the fringe tracing for different fringe sizes in the same element.Therefore,in the region of the DOE where the desired wave front is relativelyflat,the drawing accuracy requirement of the e-beam pattern can be relaxed so that the data size can be reduced.Note that it is possible that d could become less than a single exel.In this case,d will be clipped to the value of a single exel.Having determined the d,we now can redefine the Trace-Ring routine to handle general aspheric DOE’s. The contour trace method used here can also be explained by Fig.1.Similar to the rotational sym-metric case,if we are given one of the fringe boundary contours,f1x,y25f0,which needs to be approxi-mated by e-beam shapes,we set up two curves, f1x,y25f06e,to act as error boundaries for that contour.A small region R is assumed to ensure the stability.The algorithm starts from point P,which is within the error requirement3normally f1P25f04. From this point a tangent vector,t,and two normal vectors,n1and n21where n152n22,can be found that are tangent and normal,respectively,to the desired curve,f5f0.The problem is then reduced tofinding the intersection points of f1x,y25f06e and a one-dimensional function r1t,n12or r1t,n22. Here r is the straight line that approximates t,the tangent line of f2f0at point1x,y2.Depending on whether the value f1P2is greater than or less than f0, we choose an angle that is either larger1has a component along n12or smaller1has a component along n22than the tangent vector.The function r is e-beam format dependent and converts the angle to the closest allowable e-beam angle to thetangent Fig. 4.Relationship between the phase error and the trace tolerance in aspheric DOE’s.vector that intercepts the opposite error boundary.Note that if an intersection on the opposite error boundary cannot be found,a point that intersects the current boundary can be used.Unlike the Draw-Curve case,in which the intersection of a line and a circle can be solved easily,here a Newton–Raphson root-finding algorithm 20or other root-finding algo-rithms can be used to locate the intersection points.The tolerance d is used here to check and select the intersection points to ensure the pattern’s accuracy.D.Algorithm DescriptionTo solve the general aspherical data-generation prob-lem,we developed the algorithm described below.This algorithm is based on modifications of subdivi-sion methods found in computer science for surface-to-surface intersections.2These methods are known to be both reliable and accurate.The algorithm can be divided into the following steps 1Fig.52:Step 112Divide aspheric element A into N regions,R 1,R 2,..,R N 3Fig.51a 24.Step 122Divide each region R i into G i grids 3Fig.51b 24,where G i is dependent on the minimum feature requirement in that region R i .To ensure the accu-racy,there should be no more than one fringe bound-ary crossing a grid.Then Eq.14.62is calculated for each corner of the grid G i ,and the smallest value of the four is used to approximate the fringe-tracing tolerance requirement for that grid.Step 132Trace each fringe 1with Trace-Ring 2within each grid with valid e-beam angles 3Fig.51c 24.First,the roots on the boundary of G i are found.Then the angles that are the closest to the fringe section in the grid are found.The error of the trace is bounded by e or d .Step 142Form trapezoid shapes 1Find-Trapezoids 2based on these traced fringes inside a grid 3Fig.51d 24.Step 152Within each region R i ,we combine shapes so that the total number of shapes is reduced in that region 3Fig.51e 24and write the e-beam shape to the output file 1Fracture-Trapezoid 2.Note that two extreme cases of this algorithm will result in either pure fringe-tracing-or pixel-based methods.When N is set to 1and we ignore step 152,we have the case of pixel-based methods.In this case,the data size will be quite large 1see Section 52.When region R i is set equal to A i 1those regions covered by the fringes of interest 2for all i and we ignore step 122,we have fringe-tracing methods.The problem in this case is that it is difficult to divide the elements into these type of regions except for a few special cases,such as Fresnel lenses or other rotation-ally symmetric aspheric elements.In this paper we present results in which A is uniformly divided into equal rectangular regions 1R i ’s 2.Adaptively divid-ing A into regions of different sizes will be more effective in reducing the data size,but is a topic of futureresearch.Fig.6.Picture of a typical aspherical lens fabricated by use of the aspheric algorithm.There are eight phase levels.Direct-write method is used here.Phase-error requirement is l @50.parison of MEBES and EBMF data sizes for rotationally symmetric DOE’s:1a 2aperture size versus data sizes for both formats;1b 2relationship between EBMF and MEBES is close to a constant2.6.Fig.5.Algorithm for general aspheric element e-beam fabrica-tion.。