AI Coding Course For Beginners

AI Coding Course For Beginners — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Line detection

    Line detection

    In image processing, line detection is an algorithm that takes a collection of n edge points and finds all the lines on which these edge points lie. The most popular line detectors are the Hough transform and convolution-based techniques. == Hough transform == The Hough transform can be used to detect lines and the output is a parametric description of the lines in an image, for example ρ = r cos(θ) + c sin(θ). If there is a line in a row and column based image space, it can be defined ρ, the distance from the origin to the line along a perpendicular to the line, and θ, the angle of the perpendicular projection from the origin to the line measured in degrees clockwise from the positive row axis. Therefore, a line in the image corresponds to a point in the Hough space. The Hough space for lines has therefore these two dimensions θ and ρ, and a line is represented by a single point corresponding to a unique set of these parameters. The Hough transform can then be implemented by choosing a set of values of ρ and θ to use. For each pixel (r, c) in the image, compute r cos(θ) + c sin(θ) for each values of θ, and place the result in the appropriate position in the (ρ, θ) array. At the end, the values of (ρ, θ) with the highest values in the array will correspond to strongest lines in the image == Convolution-based technique == In a convolution-based technique, the line detector operator consists of a convolution masks tuned to detect the presence of lines of a particular width n and a θ orientation. Here are the four convolution masks to detect horizontal, vertical, oblique (+45 degrees), and oblique (−45 degrees) lines in an image. a) Horizontal mask(R1) (b) Vertical (R3) (C) Oblique (+45 degrees)(R2) (d) Oblique (−45 degrees)(R4) In practice, masks are run over the image and the responses are combined given by the following equation: R(x, y) = max(|R1 (x, y)|, |R2 (x, y)|, |R3 (x, y)|, |R4 (x, y)|) If R(x, y) > T, then discontinuity As can be seen below, if mask is overlay on the image (horizontal line), multiply the coincident values, and sum all these results, the output will be the (convolved image). For example, (−1)(0)+(−1)(0)+(−1)(0) + (2)(1) +(2)(1)+(2)(1) + (−1)(0)+(−1)(0)+(−1)(0) = 6 pixels on the second row, second column in the (convolved image) starting from the upper left corner of the horizontal lines. page 82 == Example == These masks above are tuned for light lines against a dark background, and would give a big negative response to dark lines against a light background. == Code example == The code was used to detect only the vertical lines in an image using Matlab and the result is below. The original image is the one on the top and the result is below it. As can be seen on the picture on the right, only the vertical lines were detected

    Read more →
  • Andrew McCallum

    Andrew McCallum

    Andrew McCallum is an American professor in the computer science department at University of Massachusetts Amherst. His primary specialties are in machine learning, natural language processing, information extraction, information integration, and social network analysis. == Career == McCallum graduated summa cum laude from Dartmouth College in 1989. He completed his Ph.D. at the University of Rochester in 1995 under the supervision of Dana H. Ballard. McCallum was then a postdoctoral fellow, working with Sebastian Thrun and Tom M. Mitchell at Carnegie Mellon University. From 1998 to 2000, he was a Research Scientist and Research Coordinator at Justsystem Pittsburgh Research Center. From 2000 to 2002, he was Vice President of Research and Development at WhizBang Labs, and Director of its Pittsburgh office. Since 2002, he has worked as a professor of computer science at the University of Massachusetts Amherst. In 2020, he also joined Google as a part-time research scientist. He was elected as a fellow of the Association for the Advancement of Artificial Intelligence in 2009, and as an Association for Computing Machinery in 2017. From 2014 to 2017, he was the President of International Machine Learning Society (IMLS), which organizes the International Conference on Machine Learning. He is also the director of the Center for Data Science at UMass, leading a new partnership with the Chan and Zuckerberg Initiative. In 2018, the initiative made an initial grant of 5.5 million to the center, supporting research to facilitate new ways for scientists to explore and discover research articles. == Main contributions == In collaboration with John D. Lafferty and Fernando Pereira, McCallum developed conditional random fields, first described in a paper presented at the International Conference on Machine Learning (ICML). In 2011 this research paper won the ICML "Test of Time" (10-year best paper) award. McCallum has written several widely used open-source software toolkits for machine learning, natural language processing and other text processing, including Rainbow, Mallet (software project), and FACTORIE. In addition, he was instrumental in publishing the Enron Corpus, a large collection of emails that has been used as a basis for a number of academic studies of social networking and language. McCallum instigated and directs the nonprofit project OpenReview.net, an online platform that aims to promote openness in scientific communication, particularly the peer review process, by providing a flexible cloud-based web interface and underlying database API.

    Read more →
  • Best AI Writing Assistants in 2026

    Best AI Writing Assistants in 2026

    In search of the best AI writing assistant? An AI writing assistant is software that uses machine learning to help you get more done — it turns a rough idea into a polished result in seconds. When choosing one, weigh output quality, pricing, export formats, and how well it fits the tools you already use. Whether you are a beginner or a pro, the right AI writing assistant slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Baidu Fanyi

    Baidu Fanyi

    Baidu Fanyi is a service for translating text paragraphs and web pages provided by Baidu. In 2015, Baidu Translation won the second prize of China's National Science and Technology Progress Award. == Supported languages == Baidu translate has some languages that are missing from Google Translate, such as Cornish, albeit some of them are poor quality. As of June 2026, translation is available in 201 languages:

    Read more →
  • Linux color management

    Linux color management

    Linux color management has the same goal as the color management systems (CMS) for other operating systems, which is to achieve the best possible color reproduction throughout an imaging workflow from its source (camera, video, scanner, etc.), through imaging software (Digikam, darktable, RawTherapee, GIMP, Krita, Scribus, etc.), and finally onto an output medium (monitor, video projector, printer, etc.). In particular, color management attempts to enable color consistency across media and throughout a color-managed workflow. Linux color management relies on the use of accurate ICC (International Color Consortium) and DCP (DNG Color Profile) profiles describing the behavior of input and output devices, and color-managed applications that are aware of these profiles. These applications perform gamut conversions between device profiles and color spaces. Gamut conversions, based on accurate device profiles, are the essence of color management. Historically, color management was not an initial design consideration of the X Window System on which much of Linux graphics support rests, and thus color-managed workflows have been somewhat more challenging to implement on Linux than on other OS's such as Microsoft Windows or macOS. This situation is now being progressively remedied, and color management under Linux, while functional, has not yet acquired mature status. Although it is now possible to obtain a consistent color-managed workflow under Linux, certain problems still remain: The absence of a central user control panel for color settings. Some hardware devices for color calibration lack Linux drivers, firmware or accessory data. Since ICC color profiles are written to an open specification, they are compatible across operating systems. Hence, a profile produced on one OS should work on any other OS given the availability of the necessary software to read it and perform the gamut conversions. This can be used as a workaround for the lack of support for certain spectrophotometers or colorimeters under Linux: one can simply produce a profile on a different OS and then use it in a Linux workflow. Additionally, certain hardware, such as most printers and certain monitors, can be calibrated under another OS and then used in a fully color-managed workflow on Linux. The popular Ubuntu Linux distribution added initial color management in the 11.10 release (the "Oneiric Ocelot" release). == Requirements for a color-managed workflow == Accurate device profiles obtained with source or output characterization software. Correctly loaded video card lookup tables (LUTs) (or monitor profiles that do not require LUT adjustments). Color-managed applications that are configured to use a correct monitor profile and input/output profiles, with support for control over the rendering intent and black point compensation. Calibration and profiling requires: for input devices (scanner, camera, etc.) a color target which the profiling software will compare to the manufacturer-provided color values of the target. or for output devices (monitor, printer, etc.) a reading with a specific device (spectrophotometer, colorimeter or spectrocolorimeter) of the color patch values and comparing the measured values against the values originally sent for output. === Monitor calibration and profiling === One of the critical elements in any color-managed workflow is the monitor, because, at one step or another, handling and making color adaptation through imaging software is required for most images, thus the ability of the monitor to present accurate colors is crucial. Monitor color management consists of calibration and profiling. The first step, calibration, is done by adjusting the monitor controls and the output of the graphics card (via calibration curves) to match user-definable characteristics, such as brightness, white point and gamma. The calibration settings are stored in a .cal file. The second step, profiling (characterization), involves measuring the calibrated display's response and recording it in a color profile. The profile is stored in an .icc file ("ICC file"). For convenience, the calibration settings are usually stored together with the profile in the ICC file. Note that .icm files are identical to .icc files - the difference is only in the name. Seeing correct colors requires using a monitor profile-aware application, together with the same calibration used when profiling the monitor. Calibration alone does not yield accurate colors. If a monitor was calibrated before it was profiled, the profile will only yield correct colors when used on the monitor with the same calibration (the same monitor control adjustments and the same calibration curves loaded into the video card's lookup table). macOS has built-in support for loading calibration curves and installing a system-wide color profile. Windows 7 onward allows loading calibration curves, though this functionality must be enabled manually. Linux and older versions of Windows require using a standalone LUT loader. === Device profiles === ICC profiles are cross-platform and can thus be created on other operating systems and used under Linux. Monitor profiles, however, require some additional attention. Since a monitor profile depends both on the monitor itself and on the video card, a monitor profile should only be used with the same monitor and video card with which it was created. The monitor settings should not be adjusted after creating the profile. In addition, since most calibration software use LUT adjustments during calibration, the corresponding LUTs must be loaded every time the display server (X11, Wayland) is started (e.g. with every graphical login). In the unlikely case of a colorimeter being unsupported by Linux, a profile created under Windows or macOS can be used under Linux. === Display-channel lookup tables === There are two approaches to loading display channel LUTs: Create a profile that does not modify video card LUTs and thus does not require LUTs be loaded later on. Ideally, this approach would rely on DDC-capable monitors—the internal monitor settings of which are set via calibration software. Unfortunately, monitors capable of making these adjustments through DDC are not common and are generally expensive. There is only one calibration software on Linux that can interact with a DDC monitor. For mainstream monitors, a couple of options exist: BasICColor software, which works with most colorimeters on the market, allows one to adjust display output via the monitor interface, and then to choose a "Profile, do not calibrate" option. By doing this, one can create a profile that does not require video card LUT adjustments. For EyeOne devices, EyeOne Match allows the user to calibrate to "Native" gamma and white point targets, which results in the LUT adjustment curves displayed after the calibration as a simple, linear 1:1 mapping (a straight line from corner to corner). Both BasICColor and EyeOne Match do not presently run under Linux but they are capable of creating a profile that does not require LUT adjustments. Use an LUT loader to actually load the LUT adjustments contained within the profile prepared during calibration. According to the documentation, these loaders do not modify the video card LUT by itself, but achieve the same type of adjustment by modifying the X server gamma ramp. Loaders are available for Linux distributions that use X.org or XFree86—the two most popular X servers on Linux. Other X servers are not guaranteed to work with the currently available loaders. There are two LUT loaders available for Linux: Xcalib is one such loader, and although it is a command-line utility, it is quite easy to use. dispwin is a part of Argyll CMS. If, for any reason, the LUT cannot be loaded, it is still recommended to go through the initial stages of calibration where a user is asked by calibration software to make some manual adjustments to the monitor, as this will often improve display linearity and also provide information on its color temperature. This is especially recommended for CRT monitors. === Color-managed applications === In ICC-aware applications, it is important to make sure the correct profiles are assigned to devices, mainly to the monitor and the printer. Some Linux applications can auto-detect the monitor profile, while others requires that it is specified manually. Although there is no designated place to store device profiles on Linux, /usr/share/color/icc/ has become the de facto standard. Most applications running under WINE have not been fully tested for color accuracy. While 8-bpp programs can have some color resolution difficulties due to depth conversion errors, colors in higher-depth applications should be accurate, as long as those programs perform their gamut conversions based on the same monitor profile as that used for loading the LUT, granted that the corresponding LUT adjustments are loaded. == List of color-managed applications == darktabl

    Read more →
  • Best AI Avatar Generators in 2026

    Best AI Avatar Generators in 2026

    Looking for the best AI avatar generator? An AI avatar generator is software that uses machine learning to help you get more done — it can save you hours every week by automating repetitive work. Most options offer a generous free tier, with paid plans unlocking higher limits, faster processing, and team features. Whether you are a beginner or a pro, the right AI avatar generator slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

    Read more →
  • AI Clip Makers: Free vs Paid (2026)

    AI Clip Makers: Free vs Paid (2026)

    Shopping for the best AI clip maker? An AI clip maker is software that uses machine learning to help you get more done — it keeps getting smarter as the underlying models improve. Pricing, accuracy, and the size of the model behind the tool are the three factors that most affect daily usefulness. Whether you are a beginner or a pro, the right AI clip maker slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Clement Farabet

    Clement Farabet

    Clément Farabet is a computer scientist and AI expert known for his contributions to the field of deep learning. He served as a research scientist at the New York University. He serves as the Vice President of Research at Google DeepMind and previously served as the VP of AI Infrastructure at NVIDIA. His scholarly work received over 11,000 citations with an h-index of 21. == Education == In 2008, Farabet earned a master's degree in electrical engineering with honors from Institut national des sciences appliquées (INSA) de Lyon, France. In 2010, Farabet received his PhD at Université Paris-Est, co-advised by Professors Laurent Najman and Yann LeCun. His thesis focused on real-time image understanding and introduced multi-scale convolutional networks and graph-based techniques for efficient segmentations of class prediction maps. He successfully defended his thesis in 2013. == Career == In 2008, after completing his Master's degree, Farabet joined Professor Yann LeCun's laboratory at the Courant Institute of Mathematical Sciences at New York University. His Master's thesis work on reconfigurable hardware for deep neural networks resulted in a patent. He continued his collaboration with Yann LeCun, and in 2009, he began working with Yale University's e-Lab, led by Eugenio Culurciello. This collaboration eventually led to the creation of TeraDeep. He began his career as a researcher, contributing to the development of LuaTorch, one of the first AI frameworks, which later evolved into PyTorch, widely recognized and adopted globally. == Startups == Farabet co-founded MadBits, a startup with a focus on web-scale image understanding. The company was acquired by Twitter in 2014. Following this acquisition, Farabet co-founded Twitter Cortex, a team dedicated to building Twitter's deep learning platform for various applications, including recommendations, search, spam detection, and NSFW content and ads. == Publications == Farabet, Clement; Couprie, Camille; Najman, Laurent; LeCun, Yann (August 2013). "Learning Hierarchical Features for Scene Labeling". IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1915–1929. Bibcode:2013ITPAM..35.1915F. doi:10.1109/TPAMI.2012.231. PMID 23787344. S2CID 206765110. LeCun, Yann; Kavukcuoglu, Koray; Farabet, Clement (2010). "Convolutional networks and applications in vision". Proceedings of 2010 IEEE International Symposium on Circuits and Systems. pp. 253–256. doi:10.1109/ISCAS.2010.5537907. ISBN 978-1-4244-5308-5. S2CID 7625356. Collobert, Ronan; Kavukcuoglu, K.; Farabet, C. (2011). "Torch7: A Matlab-like Environment for Machine Learning". Neural Information Processing Systems. Couprie, Camille; Farabet, Clément; Najman, Laurent; LeCun, Yann (16 January 2013). "Indoor Semantic Segmentation using depth information". arXiv:1301.3572 [cs.CV]. Farabet, Clement (2011). "NeuFlow: A runtime reconfigurable dataflow processor for vision". CVPR 2011 Workshops. pp. 109–116. doi:10.1109/CVPRW.2011.5981829. ISBN 978-1-4577-0529-8. S2CID 851574. Farabet, Clement (2009). "CNP: An FPGA-based processor for Convolutional Networks". 2009 International Conference on Field Programmable Logic and Applications. pp. 32–37. doi:10.1109/FPL.2009.5272559. S2CID 5339694. Farabet, Clement (2010). "Hardware accelerated convolutional neural networks for synthetic vision systems". Proceedings of 2010 IEEE International Symposium on Circuits and Systems. pp. 257–260. doi:10.1109/ISCAS.2010.5537908. ISBN 978-1-4244-5308-5. S2CID 6542026.

    Read more →
  • MeeMix

    MeeMix

    MeeMix Ltd is a company specializing in personalizing media-related content recommendations, discovery and advertising for the telecommunication industry, founded in 2006. On January 1, 2008, MeeMix launched meemix.com, a public personalized internet radio serving as an online testbed for the development of music taste-prediction technologies. Subsequently, MeeMix released in 2009 a line of Business-to-business commercial services intended to personalize media recommendations, discovery and advertising. MeeMix hybrid taste-prediction technology relies on integrating machine learning algorithms, digital signal processing, behavior analysis, metadata analysis and collaborative filtering, and is provided via API web service. In August 2009, MeeMix was announced as Innovator Nominee in the GSM Association’s Mobile Innovation Grand Prix worldwide contest. As of 2013, MeeMix no longer features internet radios on meemix.com. On Sep 28, 2014, meemix.com went offline.

    Read more →
  • Wolfgang Ketter

    Wolfgang Ketter

    Wolfgang Ketter (born Traben-Trarbach, Germany, 1972) is Chaired Professor of Information Systems for a Sustainable Society at the University of Cologne. and a prominent scientist in the application of artificial intelligence, machine learning and intelligent agents in the design of smart markets, including demand response mechanisms and in particular automated auctions. He is a co-founder of the open energy system platform Power TAC, an automated retail electricity trading platform that simulates the performance of retail markets in an increasingly prosumer- and renewable-energy-influenced electricity landscape. == Career == === Advisory roles === Ketter is an advisor on the energy transition to the German government, in particular, the energy-intensive German state of North Rhine-Westphalia. He is also a fellow of the World Economic Forum and member of the WEF Global Council on Future Mobility and the Global New Mobility Coalition, contributing on the use of AI and machine learning to address issues arising from growth in electrification of energy such as the use of batteries as virtual power plants, the management of electric vehicle charging to prevent grid congestion, or the potential for peer-to-peer electricity trading. Ketter has also been an advisor for over a decade to the Port of Rotterdam on the design of energy cooperatives and energy trading platforms as well as one of the largest auction companies in the world, Royal FloraHolland, where his initial research led to a redesign of auction mechanisms and decision support systems. The cumulative research project team received the Association for Information Systems Impact Award in 2020 === Research === Ketter’s research is multidisciplinary, addressing the overlap of AI and ML in the economics of retail energy and mobility markets. The industry and policy applications of his research interconnect in large-scale projects such as the EU Smart city development project Ruggedised, for which the Erasmus University-based team's publication on the optimization of the City of Rotterdam's electric transit bus network was recognized with the Institute for Operations Research and the Management Sciences Daniel H. Wagner runner-up award. His research focuses on the use of competitive benchmarking and intelligent agents in virtual world simulations of retail energy markets as part of a smart grid. A small-scale version of the Power TAC project led to a publication on demand side management, 'A simulation of household behavior under variable prices' that has several hundred citations in publications representing a variety of scientific disciplines. Two of his publications in the Management Information Systems Quarterly journal and one in Energy Economics form the foundation for the current Power TAC platform. In 2016 and 2019 he was Chair of the Workshop on Information Technologies and Systems. Ketter is Coordinator of the Key Research Initiative Sustainable Smart Energy & Mobility at the University of Cologne, where he is a chaired Professor of Information Systems for a Sustainable Society. At the Rotterdam School of Management, Erasmus University, he is Professor of Next Generation Information Systems as well as Director of the Erasmus Centre for Future Energy Business and Academic Director of Smart Cities and Smart Energy at the Erasmus Centre of Data Analytics. He has been a visiting professor at the Haas School of Business and Berkeley Institute of Data Science, University of California at Berkeley in 2016 to 2017.

    Read more →
  • Katia Sycara

    Katia Sycara

    Ekaterini Panagiotou Sycara (Greek: Κάτια Συκαρά) is a Greek computer scientist. She is an Edward Fredkin Research Professor of Robotics in the Robotics Institute, School of Computer Science at Carnegie Mellon University internationally known for her research in artificial intelligence, particularly in the fields of negotiation, autonomous agents and multi-agent systems. She directs the Advanced Agent-Robotics Technology Lab at Robotics Institute, Carnegie Mellon University. She also serves as academic advisor for PhD students at both Robotics Institute and Tepper School of Business. == Education and early life == Born in Greece, she went to the United States to pursue advanced education through various scholarships, including a Fulbright (1965-1969). She received a B.S. in applied mathematics from Brown University, M.S. in electrical engineering from the University of Wisconsin–Milwaukee, and PhD in computer science from Georgia Institute of Technology. == Research and career == Sycara is a pioneer in the field of semantic web, case-based reasoning, autonomous agents and multi-agent systems. She has authored or co-authored more than 700 technical papers dealing with multi-agent systems, software agents, web services, semantic web, human–computer interaction, human-robot interaction, negotiation, case-based reasoning and the application of these techniques to crisis action planning, scheduling, manufacturing, healthcare management, financial planning and e-commerce.[1] She has led multimillion-dollar research effort funded by DARPA, NASA, AFOSR, ONR, AFRL, NSF and industry. Through an ONR MURI program and though the COABS DARPA program, Prof. Sycara's group has developed the RETSINA multiagent infrastructure, a toolkit that enables the development of heterogeneous software agents that can dynamically coordinate in open information environments (e.g. the Internet). RETSINA has been used in multiple applications including supporting human joint mission teams for crisis response; creating autonomous agents for situation awareness and information fusion; financial portfolio management, negotiations and coalition formation for e-commerce, and coordinating robots for Urban Search and Rescue. Sycara is one of the contributors to the development of OWL-S, the Darpa-sponsored language for Semantic Web services, as well as matchmaking and brokering software for agent discovery, service integration and semantic interoperation. === Academic service === Sycara is the founding Editor-in-Chief of the journal Autonomous Agents and Multi-Agent Systems; Editor-in-Chief, of the Springer Series on Agents; and Area Editor of AI and Management Science, the journal "Group Decision and Negotiation." She is a member of the Editorial Board, the Kluwer book series on "Multiagent Systems, Artificial Societies and Simulated Organizations"; member of the editorial board, the journals "Agent Oriented Software Engineering", "Web Intelligence and Agent Technologies", "Journal of Infonomics", "Fundamenda Informaticae", and "Concurrent Engineering: Research and Applications"; and member of the editorial board of the "ETAI journal on the Semantic Web" (1998–2001). She was on the Editorial Board of "IEEE Intelligent Systems and their Applications" (1992–1996), and "AI in Engineering" (1990–1996). She is a member of the Scientific Advisory Board of France Telecom, 2003-2009; member of the Scientific Advisory Board of the Institute of Informatics and Telecommunications of the Greek National Research Center Demokritos, 2004-2012; member of the AAAI Executive Council (1996–99); member of the OASIS Technical committee on the development of UDDI (Universal Description and Discovery for Interoperability) software which is an industry standard; and an invited expert for W3C (the World Wide Web Consortium) Working Group on Web Services Architecture. She was a founding member of the Board of Directors of the International Foundation of Multiagent Systems (IFMAS), and founding member of the Semantic Web Science Association. Sycara served as the program chair of the Second International Semantic Web Conference (ISWC 2003); general chair, of the Second International Conference on Autonomous Agents (Agents 98); chair of the Steering Committee of the Agents Conference (1999–2001); scholarship chair of AAAI (1993–1999); and the US co-chair for the US-Europe Semantic Web Services Initiative. === Awards and honors === Sycara is a Fellow of Institute of Electrical and Electronics Engineers (IEEE), and a Fellow of American Association for Artificial Intelligence (AAAI). Sycara is the recipient of the 2002 ACM/SIGART Agents Research Award. She is also the recipient of the 2015 Group Decision and Negotiation (GDN) Award of the Institute for Operations Research and the Management Sciences (INFORMS) GDN Section for her outstanding contributions to the field of group decision and negotiation. According to the citation of the award: Katia Sycara is widely acknowledged as one of the leading researchers in the field of autonomous software agents and in particular on problems related to joint decision making and negotiations of such agents. Her work is characterized by a unique combination of methods from Artificial Intelligence and research on human negotiations, and thus has contributed to significant advances in both fields. Sycara's robot teams have won multiple international awards. In the 2005 Robocup Urban Search and Rescue (US Open) held in Atlanta, her team won the First-in-Class Award for Autonomy, and the First-in-Class Award for Mobility. Two years later, again in Atlanta, she led another team that became a world champions in the 2007 International Robocup Search and Rescue Simulation League Competition. In 2008, her robotic team placed third in the Worldwide Robocup Championship Competition in the Urban Search and Rescue Virtual robots League held in Beijing, China. In 2005, she received the Outstanding Alumnus Award from the University of Wisconsin–Milwaukee. She was awarded an Honorary Doctorate from the University of the Aegean in 2004.

    Read more →
  • Moore machine

    Moore machine

    In the theory of computation, a Moore machine is a finite-state machine whose current output values are determined only by its current state. This is in contrast to a Mealy machine, whose output values are determined both by its current state and by the values of its inputs. Like other finite state machines, in Moore machines, the input typically influences the next state. Thus the input may indirectly influence subsequent outputs, but not the current or immediate output. The Moore machine is named after Edward F. Moore, who presented the concept in a 1956 paper, “Gedanken-experiments on Sequential Machines.” == Formal definition == A Moore machine can be defined as a 6-tuple ( S , s 0 , Σ , Λ , δ , G ) {\displaystyle (S,s_{0},\Sigma ,\Lambda ,\delta ,G)} consisting of the following: A finite set of states S {\displaystyle S} A start state (also called initial state) s 0 {\displaystyle s_{0}} which is an element of S {\displaystyle S} A finite set called the input alphabet Σ {\displaystyle \Sigma } A finite set called the output alphabet Λ {\displaystyle \Lambda } A transition function δ : S × Σ → S {\displaystyle \delta :S\times \Sigma \rightarrow S} mapping a state and the input alphabet to the next state An output function G : S → Λ {\displaystyle G:S\rightarrow \Lambda } mapping each state to the output alphabet "Evolution across time" is realized in this abstraction by having the state machine consult the time-changing input symbol at discrete "timer ticks" t 0 , t 1 , t 2 , . . . {\displaystyle t_{0},t_{1},t_{2},...} and react according to its internal configuration at those idealized instants, or else having the state machine wait for a next input symbol (as on a FIFO) and react whenever it arrives. A Moore machine can be regarded as a restricted type of finite-state transducer. == Visual representation == === Table === A state transition table is a table listing all the triples in the transition relation δ : S × Σ → S {\displaystyle \delta :S\times \Sigma \rightarrow S} . === Diagram === The state diagram for a Moore machine, or Moore diagram, is a state diagram that associates an output value with each state. == Relationship with Mealy machines == As Moore and Mealy machines are both types of finite-state machines, they are equally expressive: either type can be used to parse a regular language. The difference between Moore machines and Mealy machines is that in the latter, the output of a transition is determined by the combination of current state and current input ( S × Σ {\displaystyle S\times \Sigma } as the domain of G {\displaystyle G} ), as opposed to just the current state ( S {\displaystyle S} as the domain of G {\displaystyle G} ). When represented as a state diagram, for a Moore machine, each node (state) is labeled with an output value; for a Mealy machine, each arc (transition) is labeled with an output value. Every Moore machine M {\displaystyle M} is equivalent to the Mealy machine with the same states and transitions and the output function G ( s , σ ) = G M ( δ M ( s , σ ) ) {\displaystyle G(s,\sigma )=G_{M}(\delta _{M}(s,\sigma ))} , which takes each state-input pair ( s , σ ) {\displaystyle (s,\sigma )} and yields G M ( δ M ( s , σ ) ) {\displaystyle G_{M}(\delta _{M}(s,\sigma ))} , where G M {\displaystyle G_{M}} is M {\displaystyle M} 's output function and δ M {\displaystyle \delta _{M}} is M {\displaystyle M} 's transition function. However, not every Mealy machine can be converted to an equivalent Moore machine. Some can be converted only to an almost equivalent Moore machine, with outputs shifted in time. This is due to the way that state labels are paired with transition labels to form the input/output pairs. Consider a transition s i → s j {\displaystyle s_{i}\rightarrow s_{j}} from state s i {\displaystyle s_{i}} to state s j {\displaystyle s_{j}} . The input causing the transition s i → s j {\displaystyle s_{i}\rightarrow s_{j}} labels the edge ( s i , s j ) {\displaystyle (s_{i},s_{j})} . The output corresponding to that input, is the label of state s i {\displaystyle s_{i}} . Notice that this is the source state of the transition. So for each input, the output is already fixed before the input is received, and depends solely on the present state. This is the original definition by E. Moore. It is a common mistake to use the label of state s j {\displaystyle s_{j}} as output for the transition s i → s j {\displaystyle s_{i}\rightarrow s_{j}} . == Examples == Types according to number of inputs/outputs. === Simple === Simple Moore machines have one input and one output: edge detector using XOR binary adding machine clocked sequential systems (a restricted form of Moore machine where the state changes only when the global clock signal changes) Most digital electronic systems are designed as clocked sequential systems. Clocked sequential systems are a restricted form of Moore machine where the state changes only when the global clock signal changes. Typically the current state is stored in flip-flops, and a global clock signal is connected to the "clock" input of the flip-flops. Clocked sequential systems are one way to solve metastability problems. A typical electronic Moore machine includes a combinational logic chain to decode the current state into the outputs (lambda). The instant the current state changes, those changes ripple through that chain, and almost instantaneously the output gets updated. There are design techniques to ensure that no glitches occur on the outputs during that brief period while those changes are rippling through the chain, but most systems are designed so that glitches during that brief transition time are ignored or are irrelevant. The outputs then stay the same indefinitely (LEDs stay bright, power stays connected to the motors, solenoids stay energized, etc.), until the Moore machine changes state again. ==== Worked example ==== A sequential network has one input and one output. The output becomes 1 and remains 1 thereafter when at least two 0's and two 1's have occurred as inputs. A Moore machine with nine states for the above description is shown on the right. The initial state is state A, and the final state is state I. The state table for this example is as follows: === Complex === More complex Moore machines can have multiple inputs as well as multiple outputs. == Gedanken-experiments == In Moore's 1956 paper "Gedanken-experiments on Sequential Machines", the ( n ; m ; p ) {\displaystyle (n;m;p)} automata (or machines) S {\displaystyle S} are defined as having n {\displaystyle n} states, m {\displaystyle m} input symbols and p {\displaystyle p} output symbols. Nine theorems are proved about the structure of S {\displaystyle S} , and experiments with S {\displaystyle S} . Later, " S {\displaystyle S} machines" became known as "Moore machines". At the end of the paper, in Section "Further problems", the following task is stated: Another directly following problem is the improvement of the bounds given at the theorems 8 and 9. Moore's Theorem 8 is formulated as: Given an arbitrary ( n ; m ; p ) {\displaystyle (n;m;p)} machine S {\displaystyle S} , such that every two of its states are distinguishable from one another, then there exists an experiment of length n ( n − 1 ) 2 {\displaystyle {\tfrac {n(n-1)}{2}}} which determines the state of S {\displaystyle S} at the end of the experiment. In 1957, A. A. Karatsuba proved the following two theorems, which completely solved Moore's problem on the improvement of the bounds of the experiment length of his "Theorem 8". Theorem A. If S {\displaystyle S} is an ( n ; m ; p ) {\displaystyle (n;m;p)} machine, such that every two of its states are distinguishable from one another, then there exists a branched experiment of length at most ( n − 1 ) ( n − 2 ) 2 + 1 {\displaystyle {\tfrac {(n-1)(n-2)}{2}}+1} through which one may determine the state of S {\displaystyle S} at the end of the experiment. Theorem B. There exists an ( n ; m ; p ) {\displaystyle (n;m;p)} machine, every two states of which are distinguishable from one another, such that the length of the shortest experiments establishing the state of the machine at the end of the experiment is equal to ( n − 1 ) ( n − 2 ) 2 + 1 {\displaystyle {\tfrac {(n-1)(n-2)}{2}}+1} . Theorems A and B were used for the basis of the course work of a student of the fourth year, A. A. Karatsuba, "On a problem from the automata theory", which was distinguished by testimonial reference at the competition of student works of the faculty of mechanics and mathematics of Moscow State University in 1958. The paper by Karatsuba was given to the journal Uspekhi Mat. Nauk on 17 December 1958 and was published there in June 1960. Until the present day (2011), Karatsuba's result on the length of experiments is the only exact nonlinear result, both in automata theory, and in similar problems of computational complexity theory.

    Read more →
  • JasPer

    JasPer

    JasPer is a computer software project to create a reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e. ISO/IEC 15444-1) - started in 1997 at Image Power Inc. and at the University of British Columbia. It consists of a C library and some sample applications useful for testing the codec. The copyright owner began licensing the code to the public under an MIT License-style license in 2004 in response to requests from the open-source community. As of 2011 JasPer operated as a component of many software projects, both free and proprietary, including (but not limited to) netpbm (as of release 10.12), ImageMagick and KDE (as of version 3.2). As of 22 June 2010 the GEGL graphics library supported JasPer in its latest Git versions. In a series of objective JPEG-2000-compression quality tests conducted in 2004, "JasPer was the best codec, closely followed by IrfanView and Kakadu". However, Jasper remains one of the slowest implementations of the JPEG-2000 codec, as it was designed for reference, not performance. == Etymology == The name "JasPer" has simultaneous connotations with Canada's Jasper National Park, with the semi-precious gemstone, jasper, and with "JP" as an abbreviation of the JPEG-2000 standard.

    Read more →
  • Sophia Ananiadou

    Sophia Ananiadou

    Sophia Ananiadou is a Greek-British computer scientist and computational linguist. She led the development of and directs the National Centre for Text Mining (NaCTeM) in the United Kingdom. She is also Professor in Computer Science in the Department of Computer Science at the University of Manchester. Her research focusses on biomedical text mining and natural language processing and has fed into the development of numerous applications that, for example, facilitate the discovery of new knowledge, enable exploration of historical archives, allow semantic search of biomedical literature, reduce human effort in screening search hits for production of systematic reviews, enable enrichment of metabolic pathway models with evidence from the literature, allow discovery of risk in the construction industry from health and safety incident reports and enable interoperability of components in text mining workflows. == Education == Ananiadou was educated at the Lycée français St Joseph in Athens, Greece (1969–1975). She received a Bachelor of Arts (Ptychion) from the University of Athens (1979), a Master of Advanced Studies (DEA) in Linguistics from Paris VII, Jussieu, France (1980), a DEA in Literature from Paris IV, Sorbonne, France (1984) and a PhD in Computational linguistics from the University of Manchester Institute of Science and Technology (UMIST), in 1988. == Career and research == Ananiadou was a research assistant at Dalle Molle Institute for Semantic and Cognitive Studies (ISSCO, 1983–1984), a research assistant (1985–1988) then research associate (1988–1993) in the department of language engineering at UMIST, senior lecturer at Manchester Metropolitan University (1993–1999), senior lecturer then reader in the School of Computing Science and Engineering, University of Salford (2000–2005), then reader in the School of Computer Science, University of Manchester (2005–2009). Since 2009, she has served as professor in computer science in the Department of Computer Science at the University of Manchester. In July 2025, she became deputy director of the Christabel Pankhurst Institute for health technology research and innovation, University of Manchester. From 2018–2026, she served as the deputy director of the Institute for Data Science and Artificial Intelligence, University of Manchester. She is a senior lead researcher of the ARCHIMEDES research unit of the Athena Research Centre, Greece. ARCHIMEDES is a research and innovation hub fostering international collaboration and knowledge exchange on Artificial Intelligence and Data Science. On February 7, 2025, she was appointed a member of the Artificial Intelligence Sectoral Scientific Council of the Greek Ministry of Development (announcement of appointment in Greek). She is also a Visiting Distinguished Research Fellow in the Knowledge and Information Research Team at the Artificial Intelligence Research Center (AIRC), Japan, which is a research unit of the Japanese National Institute of Advanced Industrial Science and Technology (AIST). In addition, she was appointed to the honorary position of Adjunct Professor of Wuhan University, People's Republic of China, for the period October 2025 to October 2028, collaborating with the School of Artificial Intelligence. Ananiadou has published since 1986, has an h-index of 81 and a Research.com United Kingdom ranking in Computer Science of 104. She is also ranked number 1 internationally in text mining by ScholarGPS. In addition, she is included in the Stanford/Elsevier Top 2% Scientist Rankings for 2025. Ananiadou received a Diplôme de traducteur (Diploma of Translator) from the Institut français d'Athènes, Greece (1979) and a Certificate in Counselling from the University of Salford, UK (2004). === Awards and honours === In 2019, in recognition of her contributions in Artificial Intelligence and text mining for Biomedicine, Ananiadou received an honorary doctorate from the University of the Aegean, on the 20th anniversary of its Department of Mediterranean Studies, Rhodes. Ananiadou received the Unstructured Information Management Architecture (UIMA) innovation award from IBM three years running (2006, 2007 & 2008). She was awarded the Daiwa Adrian Prize in 2004 and also received a Japan Trust award from the Ministry of Education, Japan in 1997. Ananiadou was a Turing Fellow of the Alan Turing Institute in London from 2018 to 2023. Since 2021, she is a member and, since 2024, a Fellow, of the ELLIS Society, the professional society of the cross-national European Laboratory for Learning and Intelligent Systems. Ananiadou served as vice president (VP) of the European Association for Terminology from 1997 to 1999. At the 28th International Conference on Computational Linguistics (COLING 2020), she received, with M. Li and H. Takamura, an Outstanding Paper designation for the paper "A Neural Model for Aggregating Coreference Annotation in Crowdsourcing".

    Read more →
  • Hanna Hajishirzi

    Hanna Hajishirzi

    Hannaneh Hajishirzi is an Iranian-American computer scientist specializing in natural language processing. She is Torode Family Professor in Computer Science & Engineering in the Paul G. Allen School of Computer Science and Engineering at the University of Washington, head of the H2Lab in the Allen School, and a senior director of natural language processing in the Allen Institute for AI. == Education and career == After a bachelor's degree from the Sharif University of Technology, Hajishirzi completed her Ph.D. in computer science in 2011, at the University of Illinois Urbana-Champaign. Her dissertation, Action-Centered Reasoning for Probabilistic Dynamic Systems, was supervised by Eyal Amir. After postdoctoral research at Disney Research in Pittsburgh, Hajishirzi joined the University of Washington in 2012, as a research scientist in electrical engineering. In 2015 she became a research assistant professor in electrical engineering. She obtained a regular-rank assistant professorship in 2018, at the same time becoming an AI Fellow in the Allen Institute for AI, where she became a senior director of research in 2021. She was promoted to associate professor in 2022 and to full professor in 2025. == Recognition == Hajishirzi was named as a Fellow of the Association for Computational Linguistics in 2025, "for significant contributions to question answering, scientific applications, multimodal artificial intelligence, and fully open language models". == Personal life == Hajishirzi is married to Ali Farhadi, the CEO of the Allen Institute for AI.

    Read more →