Enquire is a web-based software application used as a platform for project, contract and grant management, as well as reporting and planning. Initially designed for the specific business requirements of the Australian Government, Queensland Government and Queensland Regional Bodies to manage natural resource projects, Enquire has since seen adoption outside of this industry and user segment. The use of Enquire by Natural Resource Management bodies within Queensland has been cited as a reason for the improved efficiency, quantity and quality of reporting. Technically, Enquire is implemented as a Java application built on a MySQL database. Enquire is hosted and supported under the software as a service model by Tactiv Pty Ltd. == History == The system was first released in 2005 under the name ViSTA NRM Online, proactively changing its name to Enquire in 2007 to avoid possible confusion with Windows Vista, which was being released at the time. In 2012, the Enquire project and support team was commercialized as its own company called Tactiv Pty Ltd. Tactiv is based predominantly in Brisbane, Australia. Tactiv has continued to develop and grow the Enquire Grant, Contract and Project management solution, releasing a new platform in 2017. Since commercialization, Tactiv has grown its client base to include government and non-government organizations such as foundations and not-for-profit organizations. == Functionality == The functionality of Enquire can be broken down into 5 key lifecycle solutions, all fully integrated and supported by over 40 feature rich and configurable modules: Grant Management Contract Management Project Portfolio Management Procurement Management Relationship Management The system provides its platform to meet the needs of "off the shelf" customers looking for a ready to use best practice option as well as a fully configurable option for specific requirements. The system offers a client supplier portal for external applicants or suppliers, a management portal for internal team usage and an administration portal for clients to manage access, roles, information, and other configurations. Key functional modules include: Online authoring and publishing for forms and applications Workflows Project Tracking Performance Reporting Financial Reporting Stakeholder Communication Budget management Document Management Milestone tracking Payments and Variations Management KPI tracking and Impact reporting The Enquire system is used to report against the Queensland Government's Q2 Coast and Country Program and parts of the Australian Government's Caring for our Country program. There is also a strategic planning module, which provides functionality to manage core-business administration and reporting requirements, whilst providing visibility of key activities and their alignment against organizational goals and strategic objectives. The systems architecture supports a range of implementation models with the capacity to manage one-to-one, one-to-many and many-to-many relationships between investors and investees. Under the usage model within Queensland, Regional Bodies use Enquire to load project contracts and report against these online. The regional bodies also record output, target and financial information in Enquire, which can then be used for operational purposes including financial, performance and target reporting. == External Audit == The Australian National Audit Office Audit Report No.21 2007–08 undertook a case study on Enquire. It noted: "The Queensland Department of Environment and Resource Management has developed the first integrated web-based system [Enquire] to manage performance information about Natural Resource Management activities in Queensland." Four of Queensland's 14 regional bodies commented on Enquire through the ANAO's survey. These four regional bodies indicated that Enquire offers a means of consistent reporting at the State level.
Generative design
Generative design is an iterative design process that uses software to generate outputs that fulfill a set of constraints iteratively adjusted by a designer. Whether a human, test program, or artificial intelligence, the designer algorithmically or manually refines the feasible region of the program's inputs and outputs with each iteration to fulfill evolving design requirements. By employing computing power to evaluate more design permutations than a human alone is capable of, the process is capable of producing an optimal design that mimics nature's evolutionary approach to design through genetic variation and selection. The output can be images, sounds, architectural models, animation, and much more. It is, therefore, a fast method of exploring design possibilities that is used in various design fields such as art, architecture, communication design, and product design. Generative design has become more important, largely due to new programming environments or scripting capabilities that have made it relatively easy, even for designers with little programming experience, to implement their ideas. Additionally, this process can create solutions to substantially complex problems that would otherwise be resource-exhaustive with an alternative approach, making it a more attractive option for problems with a large or unknown solution set. It is also facilitated with tools in commercially available CAD packages. Not only are implementation tools more accessible, but also tools leveraging generative design as a foundation. Recent advancements have led to the development of Deep Generative Design, a framework that integrates topology optimization with deep learning models, such as Generative Adversarial Networks (GANs). Unlike traditional evolutionary methods that primarily focus on engineering performance, this approach uses deep generative models to enhance aesthetic diversity and novelty while simultaneously satisfying engineering constraints. For instance, research by Oh et al. (2019) proposed a framework using Boundary Equilibrium GANs (BEGAN) to generate diverse design options which are then refined through density-based topology optimization, allowing for the exploration of complex design spaces that balance structural integrity with visual variation. In practice, generative design does not solely aim to produce a single optimal solution, but involves iteratively refining the design problem by modifying parameters, constraints, and evaluation criteria within a computational model, resulting in multiple design alternatives from which the designer selects. == Use in architecture == Generative design in architecture is an iterative design process that enables architects to explore a wider solution space with more possibility and creativity. Architectural design has long been regarded as a wicked problem. Compared with traditional top-down design approach, generative design can address design problems efficiently, by using a bottom-up paradigm that uses parametric-defined rules to generate complex solutions. The solution itself then evolves to a good, if not optimal, solution. The advantage of using generative design as a design tool is that it does not construct fixed geometries, but take a set of design rules that can generate an infinite set of possible design solutions. The generated design solutions can be more sensitive, responsive, and adaptive to the problem. Generative design involves rule definition and result analysis that are integrated with the design process. By defining parameters and rules, the generative approach is able to provide optimized solution for both structural stability and aesthetics. Possible design algorithms include cellular automata, shape grammar, genetic algorithm, space syntax, and most recently, artificial neural network. Due to the high complexity of the solution generated, rule-based computational tools, such as finite element method and topology optimisation, are preferred to evaluate and optimise the generated solution. The iterative process provided by computer software enables the trial-and-error approach in design, and involves architects interfering with the optimisation process. Historically precedent work includes Antoni Gaudí's Sagrada Família, which used rule based geometrical forms for structures, and Buckminster Fuller's Montreal Biosphere where the rules were designed to generate individual components, rather than the final product. More recent generative-design cases include Foster and Partners' Queen Elizabeth II Great Court, where the tessellated glass roof was designed using a geometric schema to define hierarchical relationships, and then the generated solution was optimized based on geometrical and structural requirements. == Use in sustainable design == Generative design in sustainable design is an effective approach addressing energy efficiency and climate change at the early design stage, recognizing buildings contribute to approximately one-third of global greenhouse gas emissions and 30%-40% of total building energy use. It integrates environmental principles with algorithms, enabling exploration of countless design alternatives to enhance energy performance, reduce carbon footprints, and minimize waste. A key feature of generative design in sustainable design is its ability to incorporate Building Performance Simulations (BPS) into the design process. Simulation programs such as EnergyPlus, Ladybug Tools,, and so on, combined with generative algorithms, can optimize design solutions for cost-effective energy use and zero-carbon building designs. For example, the GENE_ARCH system used a Pareto algorithm with building energy simulation for the whole building design optimization. Generative design has improved sustainable facade design, as illustrated by the algorithm of cellular automata and daylight simulations in adaptive facade design. In addition, genetic algorithms were used with radiation simulations for energy-efficient photo-voltaic (PV) modules on high-rise building facades. Generative design is also applied to life cycle analysis (LCA), as demonstrated by a framework using grid search algorithms to optimize exterior wall design for minimum environmental impact. Multi-objective optimization embraces multiple diverse sustainability goals, such as interactive kinetic louvers using biomimicry and daylight simulations to enhance daylight, visual comfort, and energy efficiency. The study of PV and shading systems can maximize on-site electricity, improve visual quality, and daylight performance. Artificial intelligence (AI) and machine learning (ML) further improve computation efficiency in complex climate-responsive sustainable design. One study employed reinforcement learning to identify the relationship between design parameters and energy use for a sustainable campus, while other studies tried hybrid algorithms, such as using the genetic algorithm and GANs to balance daylight illumination and thermal comfort under different roof conditions. Other popular AI tools were also integrated, including deep reinforcement learning (DRL) and computer vision (CV), to generate an urban block according to direct sunlight hours and solar heat gains. These AI-driven generative design methods enable faster simulations and design decision making, resulting in designs that are environmentally responsible. == Use in additive manufacturing == Additive manufacturing (AM) is a process that creates physical models directly from three-dimensional (3D) data by joining materials layer by layer. It is used in industries to produce a variety of end-use parts, which are final components designed for direct application in products or systems. AM provides design flexibility and enables material reduction in lightweight applications, such as aerospace, automotive, medical, and portable electronic devices, where minimizing weight is critical for performance. Generative design, one of the four key methods for lightweight design in AM, is commonly applied to optimize structures for specific performance requirements. Generative design can help create optimized solutions that balance multiple objectives, such as enhancing performance while minimizing cost. In design for additive manufacturing (DfAM), multi-objective topology optimization is used to generate a set of candidate solutions. Designers then assess these options using their expertise and key performance indicators (KPIs) to select the best option for implementation. However, integrating AM constraints (e.g., speed of build, materials, build envelope, and accuracy) into generative design remains challenging, as ensuring all solutions are valid is complex. Balancing multiple design objectives while limiting computational costs adds further challenges for designers. To overcome these difficulties, researchers proposed a generative design method with manufacturing validation to improve decision-making efficiency. This method starts with a cons
The Machine Question
The Machine Question: Critical Perspectives on AI, Robots, and Ethics is a 2012 nonfiction book by David J. Gunkel that discusses the evolution of the theory of human ethical responsibilities toward non-human things and to what extent intelligent, autonomous machines can be considered to have legitimate moral responsibilities and what legitimate claims to moral consideration they can hold. The book was awarded as the 2012 Best Single Authored Book by the Communication Ethics Division of the National Communication Association. == Content == The book is spread across three chapters, with the first two chapters focusing on an overall review of the history of philosophy and its discussion of moral agency, moral rights, human rights, and animal rights and the third chapter focusing on what defines "thingness" and why machines have been excluded from moral and ethical consideration due to a misuse of the patient/agent binary. The first chapter, titled Moral Agency, breaks down the history of said agency based on what it included and excluded in various parts of history. Gunkel also raises the conflict between discussing the morality of humans toward objects and the theory of the philosophy of technology that "technology is merely a tool: a means to an end". The main issue, he explains, in defining what constitutes an appropriate moral agent is that there will be things left outside of what is included, as the definition is based on a set of characteristics that will inherently not be all-encompassing. The subject of consciousness is broached and subsequently derided by Gunkel because of it being one of the main arguments against machine rights, while Gunkel points out that no "settled definition" of the term exists and that he considers it no better than a synonym used for "the occultish soul". In addition, the issue of the other minds problem entails that no proper understanding of consciousness can come to pass due to the inability to properly understand the mind of a being that is not oneself. The second chapter, titled Moral Patiency, focuses on the patient end of the topic and discusses the expansion of the fields of animal studies and environmental studies. Gunkel describes moral patients as the ones that are to be the object of moral consideration and deserve such consideration even if they lack their own agency, such as animals, thus allowing moral consideration itself to be broader and more inclusive. The topic of other minds is discussed again when examining the question of whether animals can suffer, a question that Gunkel ultimately abandons because it encounters the same problems that the topic of consciousness does. Especially because the subject of animal rights is often only afforded for the animals deemed to be "cute", but often not including "reptiles, insects, or microbes". Gunkel continues on to examine environmental ethics and information ethics, but finds them to be too anthropocentric, just as all the other examined models have been. The third chapter, titled Thinking Otherwise, proposes a combination of Heideggerian ontology and Levinasian ethics to properly discuss the otherness of technology and machines, but finds that the patient/agent binary is unable to be properly extended to confine the extent of "the machine question". In discussing the land ethic philosophy espoused by Aldo Leopold, Gunkel proposes that it is the entire relationship between agent and patient that should have moral consideration and not a specific definition based on either side, as each part contributes to the relationship as a whole and cannot be removed without breaking that relationship. == Critical reception == Choice: Current Reviews for Academic Libraries writer R. S. Stansbury explained that the book is able to use simple examples to discuss difficult topics and separate ideas and that it would be "useful for philosophy students, and for engineering students interested in exploring the ethical implications of their work". Dominika Dzwonkowska, writing for International Philosophical Quarterly, stated that the "unprecedented value of the book is that Gunkel not only analyzes important aspects of the immediate problem but also that he places his discussion in the context of philosophical discussions on such related issues as rights discourse." Mark Coeckelbergh in Ethics and Information Technology noted that focusing on the question itself of the machine question allows further exploration of machine ethics and the expansion of general ethics and that the book's questions point out that "good, critical philosophical reflection on machines is not only about how we should cope with machines, but also about how we (should) think and what role technology plays (and should play) in this thinking." A review in Notre Dame Philosophical Reviews by Colin Allen criticized some of Gunkel's methodology and the indecisiveness of his ultimate answer to the machine question, but also acknowledged that the book "succeeded in connecting the ethics of robots and AI to a much broader ethical discussion than has been represented in the literature on machine ethics to date". Blay Whitby, in a review for AISB Quarterly, lauded The Machine Question for its "clear exposition" and wide range of references to other works, concluding that the book is "essential reading for philosophers interested in AI, robot ethics, or animal ethics". In a twin review of The Machine Question and Robot Ethics: The Ethical and Social Implications of Robots by Patrick Lin, Keith Abney, and George A. Bekey, Techné: Research in Philosophy and Technology reviewer Jeff Shaw called Gunkel's book a good introduction to the "complex field of robot ethics" and that both books are "highly recommended to both the general reader as well as to experts in the field of robotics, philosophy, and ethics." In a 2017 paper for Ethics and Information Technology, Katharyn Hogan investigated whether the machine question presented by Gunkel in the book is any different from the longstanding animal question. She concludes that the real question that is revealed from this discussion is whether humans deserve any moral preference over artificial life in the first place.
Korean Decimal Classification
The Korean Decimal Classification (KDC) is a system of library classification used in South Korea. The structure and main level classes of the KDC are based on the Dewey Decimal Classification. The KDC is maintained and published by the Classification Committee of the Korean Library Association. The first edition of the classification was published in 1964; the most recent edition is the sixth edition published in 2013. Almost all school and public libraries in South Korea use the KDC to organize their collections, as well as the National Library of Korea and some university libraries. == History == Multiple library classification systems had been developed for Korean libraries before the publication of the KDC. These included the Railway Bureau Library Classification(1920), the Korean Decimal Classification edited by Bong-Suk Park(known as KDCP, 1947), the Han-Un Decimal Classification(1954), and the Kuk-Yeon Decimal Classification(1958). After the disappearance of editor Bong-Suk Park in the 1950s, the KDCP system decreased in use. Korean librarians considered adopting the Dewey Decimal Classification (DDC), especially after it was implemented at Yonsei University in 1957, but struggled to apply it to East Asian and Korean-focused works in their collections. In February 1963, members of the Korean Library Association's Classification were appointed to create a national classification; they decided to make revisions to the order of the main classes of the DDC, for example bringing together the class Language(700) together with the class for Literature(800). Committee members prepared draft classes and indexes and the first edition of the KDC was published in May 1964. Both the text and the index were written in Korean Hangul characters and Chinese characters. The second edition was published just two years later, in 1966, correcting errors and omissions found in the first edition. The third edition was published in 1980, maintaining the basic framework of the previous editions while expanding significantly. The fourth edition, published in 1996, made considerable changes, including increasing the number of representatives on the Classification Committee. The committee sought feedback from the library community and implemented revisions included in the recently published edition 20 of the DDC and edition 9 of the Nippon Decimal Classification. New policies applied to the fourth edition included principles suggesting the main classes should remain as static as possible, with focus shown to expanding classes devoted to technology and science. Likewise, many subject specialists were consulted for the publication of the fifth edition in 2009. The publication of the 23rd edition of the DDC in 2011 provided opportunity for a new revision of the KDC, and the sixth edition was published in July 2013. Greater numbers of classes provided number building capacity in the sixth edition, allowing for more specificity. == Description == The KDC classifies resources primarily by discipline, though some classes are collocated by subject. There are eight auxiliary mnemonic tables used to expand class numbers. The main classes of the KDC are the same as the main classes of the Dewey Decimal Classification, but four of those main classes are in a different order: Natural sciences (400), Technology and engineering (500), Arts (600), and Language 700. Though the structure is heavily influenced by the DDC, aspects of multiple library classifications have been invoked in the creation of the KDC, including the Library of Congress Classification for the arrangement of the social sciences (300), the Universal Decimal Classification for medical sciences (510), the KDCP for Korean and Oriental subjects, the Nippon Decimal Classification for those of Japan and Oriental subjects. === Classes of the KDC 6th edition === 000 General works 000 General works 010 Books, Bibliography 020 Library & information science 030 General encyclopedias 040 General collected essays 050 General serial publications 060 General societies 070 Newspapers, journalism 080 General collected works 090 Materials of province 100 Philosophy 100 Philosophy 110 Metaphysics 120 Epistemology, etc. 130 Systems of philosophy 140 Chinese classics 150 Oriental philosophy and thought 160 Western philosophy 170 Logic 180 Psychology 190 Ethics, moral philosophy 200 Religion 200 Religion 210 Comparative religion 220 Buddhism 230 Christian religion 240 Taoism 250 Chondoism 260 [Unassigned] 270 Hinduism, Brahmanism 280 Islam, Mohammedianism 290 Other religions 300 Social sciences 300 Social sciences 310 Statistics 320 Economics 330 Sociology and social problems 340 Political sciences 350 Public administration 360 Law 370 Education 380 Customs, Etiquette, Folklore 390 Military science 400 Natural sciences 400 Natural sciences 410 Mathematics 420 Physics 430 Chemistry 440 Astronomy 450 Earth science 460 Mineralogy 470 Life science 480 Botany 490 Zoological science 500 Technology 500 Technology 510 Medical science 520 Agriculture 530 Engineering, technology, etc. 540 Construction and architecture 550 Mechanical engineering 560 Electrical, comm. & electric engineering 570 Chemical engineering 580 Manufactures 590 Human ecology 600 Arts 600 Arts 610 [Unassigned] 620 Sculpture, plastic art 630 Crafts 640 Calligraphy 650 Painting, design 660 Photography 670 Music 680 Stage performance, museum arts 690 Amusements, sports & physical training 700 Language 700 Language 710 Korean language 720 Chinese language 730 Japanese & other Asian languages 740 English 750 German 760 French languages 770 Spanish languages & Portuguese language 780 Italian languages 790 Other languages 800 Literature 800 Literature 810 Korean literature 820 Chinese literature 830 Japanese & other Asian literature 840 English & American literature 850 German literature 860 French literature 870 Spanish & Portuguese literature 880 Italian literature 890 Other literatures 900 History 900 History 910 Asia 920 Europe 930 Africa 940 North America 950 South America 960 Oceania and Polar regions 970 [Unassigned] 980 Geography 990 Biography === Expansion tables === Table 1. Standard subdivisions Table 2. Geographic Areas Table 3. Korean geographic areas Table 4. Korean historical period Table 5. Languages Table 6. Subdivisions of individual languages Table 7. Subdivisions of individual literatures Table 8. Subdivisions of individual religions == Usage == KDC is used by a wide range of libraries within Korea, including by the National Library of Korea and most school and public libraries in the country, along with some university libraries, such as the one at Keimyung University.
Komodo (chess)
Komodo and Dragon by Komodo Chess (also known as Dragon or Komodo Dragon) are UCI chess engines developed by Komodo Chess, which is a part of Chess.com. The engines were originally authored by Don Dailey and GM Larry Kaufman. Dragon is a commercial chess engine, but Komodo is free for non-commercial use. Dragon is consistently ranked near the top of most major chess engine rating lists, along with Stockfish and Leela Chess Zero. == History == === Komodo === Komodo was derived from Don Dailey's former engine Doch in January 2010. The first multiprocessor version of Komodo was released in June 2013 as Komodo 5.1 MP. This version was a major rewrite and a port of Komodo to C++11. A single-processor version of Komodo (which won the CCT15 tournament in February earlier that year) was released as a stand-alone product shortly before the 5.1 MP release. This version, named Komodo CCT, was still based on the older C code, and was approximately 30 Elo stronger than the 5.1 MP version, as the latter was still undergoing massive code-cleanup work. With the release of Komodo 6 on October 4, 2013, Don Dailey announced that he was suffering from an acute form of leukaemia, and would no longer contribute to the future development of Komodo. On October 8, Don made an announcement on the Talkchess forum that Mark Lefler would be joining the Komodo team and would continue its development. Komodo TCEC was released on December 4, 2013. This was the same version that had won TCEC Season 5, and was the last with input from Don Dailey, to whom it was dedicated. Komodo 7 was released on May 21, 2014, adding Syzygy tablebase support. On May 24, 2018, Chess.com announced that it has acquired Komodo and that the Komodo team have joined Chess.com. The Komodo team is now called Komodo Chess. On December 17, 2018, Komodo Chess released Komodo 12.3 MCTS, a version of the Komodo 12.3 engine that uses Monte Carlo tree search instead of alpha–beta pruning/minimax. The last version, Komodo 14.3, was released on October 4, 2023. === Dragon === On November 9, 2020, Komodo Chess released Dragon by Komodo Chess 1.0, which features the use of efficiently updatable neural networks in its evaluation function. Dragon is derived from Komodo in the same way that Komodo was derived from Doch. Dragon is also called Komodo Dragon in certain tournaments such as the Top Chess Engine Championship and the World Computer Chess Championship (WCCC) but not in the Chess.com Computer Chess Championship (CCC). A Chess.com staff member named Dmitry Pervov joined the Dragon development team to write the NNUE code for Dragon, and Dietrich Kappe joined the Dragon development team to help Larry Kaufman and Mark Lefter train Dragon's neural networks. On March 17, 2023, Larry Kaufman announced that he and Mark Lefter have stepped down from Dragon development and from ownership of Komodo Chess, and that Chess.com have taken full control of Komodo Chess. As of March 17, 2023, Dietrich Kappe is the only person responsible for the development of Dragon, but Chess.com are looking for more programmers to help with Dragon development. The final version, Dragon 3.3, was released on October 4, 2023. == Competition results == === Komodo === Komodo has played in the ICT 2010 in Leiden, and further in the CCT12 and CCT14. Komodo had its first tournament success in 1999, when it won the CCT15 with a score of 6½/7. Komodo won both the World Computer Chess Championship and World Computer Software Championship in 2016. Komodo once again won the World Computer Chess Championship and World Blitz in 2017. In TCEC competition, Komodo was historically one of the strongest engines. In Season 4, it lost only eight out of its 53 games and managed to reach Stage 4 (Quarterfinals), against very strong competition which were running on eight cores (Komodo was running on a single processor). The next season, Komodo won the superfinal against Stockfish. The two engines jockeyed for the championship over the next few seasons: Stockfish won in Season 6, while Komodo won Seasons 7 and 8. Komodo failed to make the superfinal in Season 9, losing out to Houdini; but after Houdini was later disqualified for containing code plagiarized from Stockfish, Komodo was promoted to the runner-up. Komodo retrospectively won Season 10 in the same way. Starting from Season 11 however, Stockfish improved at a rate that left its rivals behind, crushing Komodo in Season 12 and 13. The advent of the neural network engine Leela Chess Zero meant Komodo has largely failed to qualify for the superfinal since, with a single exception in Season 22, when it lost to Stockfish. Although Komodo has not qualified for the superfinal, it has cemented itself as the third-strongest engine in the competition, finishing in that position for five of the last six seasons. ==== Chess.com Computer Chess Championship ==== === Dragon === ==== Chess.com Computer Chess Championship ==== ==== Top Chess Engine Championship ==== == Notable games == Komodo vs Hannibal, nTCEC - Stage 2b - Season 1, Round 4.1, ECO: A10, 1–0 Archived 2016-03-04 at the Wayback Machine Komodo sacrifices an exchange for positional gain. Gull vs Komodo, nTCEC - Stage 3 - Season 2, Round 2.2, ECO: E10, 0–1 Archived March 4, 2016, at the Wayback Machine Archived 2016-03-04 at the Wayback Machine
Key frame
In animation and filmmaking, a key frame (or keyframe) is a drawing or shot that defines the starting and ending points of a smooth transition. These are called frames because their position in time is measured in frames on a strip of film or on a digital video editing timeline. A sequence of key frames defines which movement the viewer will see, whereas the position of the key frames on the film, video, or animation defines the timing of the movement. Because only two or three key frames over the span of a second do not create the illusion of movement, the remaining frames are filled with "inbetweens". == Use of key frames as a means to change parameters == In software packages that support animation, especially 3D graphics, there are many parameters that can be changed for any one object. One example of such an object is a light. In 3D graphics, lights function similarly to real-world lights. They cause illumination, cast shadows, and create specular highlights. Lights have many parameters, including light intensity, beam size, light color, and the texture cast by the light. Supposing that an animator wants the beam size to change smoothly from one value to another within a predefined period of time, that could be achieved by using key frames. At the start of the animation, a beam size value is set. Another value is set for the end of the animation. Thus, the software program automatically interpolates the two values, creating a smooth transition. == Video editing == In non-linear digital video editing, as well as in video compositing software, a key frame is a frame used to indicate the beginning or end of a change made to a parameter. For example, a key frame could be set to indicate the point at which audio will have faded up or down to a certain level. == Video compression == In video compression, a key frame, also known as an intra-frame, is a frame in which a complete image is stored in the data stream. In video compression, only changes that occur from one frame to the next are stored in the data stream, in order to greatly reduce the amount of information that must be stored. This technique capitalizes on the fact that most video sources (such as a typical movie) have only small changes in the image from one frame to the next. Whenever a drastic change to the image occurs, such as when switching from one camera shot to another or at a scene change, a key frame must be created. The entire image for the frame must be output when the visual difference between the two frames is so great that representing the new image incrementally from the previous frame would require more data than recreating the whole image. Because video compression only stores incremental changes between frames (except for key frames), it is not possible to fast-forward or rewind to any arbitrary spot in the video stream. That is because the data for a given frame only represents how that frame was different from the preceding one. For that reason, it is beneficial to include key frames at arbitrary intervals while encoding video. For example, a key frame may be output once for each 10 seconds of video, even though the video image does not change enough visually to warrant the automatic creation of the key frame. That would allow seeking within the video stream at a minimum of 10-second intervals. The downside is that the resulting video stream will be larger in disk size because many key frames are added when they are not necessary for the frame's visual representation. This drawback, however, does not produce significant compression loss when the bitrate is already set at a high value for better quality (as in the DVD MPEG-2 format).
Transaction logic
Transaction Logic is an extension of predicate logic that accounts in a clean and declarative way for the phenomenon of state changes in logic programs and databases. This extension adds connectives specifically designed for combining simple actions into complex transactions and for providing control over their execution. The logic has a natural model theory and a sound and complete proof theory. Transaction Logic has a Horn clause subset, which has a procedural as well as a declarative semantics. The important features of the logic include hypothetical and committed updates, dynamic constraints on transaction execution, non-determinism, and bulk updates. In this way, Transaction Logic is able to declaratively capture a number of non-logical phenomena, including procedural knowledge in artificial intelligence, active databases, and methods with side effects in object databases. Transaction Logic was originally proposed in 1993 by Anthony Bonner and Michael Kifer and later described in more detail in An Overview of Transaction Logic and Logic Programming for Database Transactions. The most comprehensive description appears in Bonner & Kifer's technical report from 1995. In later years, Transaction Logic was extended in various ways, including concurrency, defeasible reasoning, partially defined actions, and other features. In 2013, the original paper on Transaction Logic has won the 20-year Test of Time Award of the Association for Logic Programming as the most influential paper from the proceedings of ICLP 1993 conference in the preceding 20 years. == Examples == === Graph coloring === Here tinsert denotes the elementary update operation of transactional insert. The connective ⊗ is called serial conjunction. === Pyramid stacking === The elementary update tdelete represents the transactional delete operation. === Hypothetical execution === Here <> is the modal operator of possibility: If both action1 and action2 are possible, execute action1. Otherwise, if only action2 is possible, then execute it. === Dining philosophers === Here | is the logical connective of parallel conjunction of Concurrent Transaction Logic. == Implementations == A number of implementations of Transaction Logic exist: The original implementation. An implementation of Concurrent Transaction Logic. Transaction Logic enhanced with tabling. An implementation of Transaction Logic has also been incorporated as part of the Flora-2 knowledge representation and reasoning system. All these implementations are open source.