Best AI Writing Tools

Best AI Writing Tools — hands-on reviews, top picks, pricing, pros and cons and a practical how-to guide on Aizhi.

  • Tweak programming environment

    Tweak programming environment

    Tweak is a graphical user interface (GUI) layer written by Andreas Raab for the Squeak development environment, which in turn is an integrated development environment based on the Smalltalk-80 computer programming language. Tweak is an alternative to an earlier graphic user interface layer called Morphic. Development began in 2001. Applications that use the Tweak software include Sophie (version 1), a multimedia and e-book authoring system, and a family of virtual world systems: Open Cobalt, Teleplace, OpenQwaq, 3d ICC's Immersive Terf and the Croquet Project. == Influences == An experimental version of Etoys, a programming environment for children, used Tweak instead of Morphic. Etoys was a major influence on a similar Squeak-based programming environment known as Scratch.

    Read more →
  • Effective accelerationism

    Effective accelerationism

    Effective accelerationism (e/acc) is a 21st-century ideological movement that advocates for an explicitly pro-technology stance. Its proponents believe that unrestricted technological progress, especially driven by artificial intelligence, is a solution to universal human problems, such as poverty, war, and climate change. They perceive themselves as a counterweight to more cautious views on technological innovation and often label their opponents derogatorily as "doomers" or "decels" (short for decelerationists). The movement carries utopian undertones and advocates for faster AI progress to ensure human survival and propagate consciousness throughout the universe. Although effective accelerationism has been described as a fringe movement and as cult-like, it has gained mainstream visibility in 2023. A number of high-profile Silicon Valley figures, including investors Marc Andreessen and Garry Tan, explicitly endorsed it by adding "e/acc" to their public social media profiles. == Etymology and central beliefs == Effective accelerationism, a portmanteau of "effective altruism" and "accelerationism", is a fundamentally techno-optimist movement. According to Guillaume Verdon, one of the movement's founders, its aim is for human civilization to "clim[b] the Kardashev gradient", meaning its purpose is for human civilization to rise to next levels on the Kardashev scale by maximizing energy usage. To achieve this goal, effective accelerationism wants to accelerate technological progress. It is strongly focused on artificial general intelligence (AGI), because it sees AGI as fundamental for climbing the Kardashev scale. The movement therefore advocates for unrestricted development and deployment of artificial intelligence. Regulation of artificial intelligence and government intervention in markets more generally is met with opposition. Many of its proponents have libertarian views and think that AGI will be most aligned if many AGIs compete against each other on the marketplace. The founders of the movement see it as rooted in Jeremy England's theory on the origin of life, which is focused on entropy and thermodynamics. According to them, the universe aims to increase entropy, and life is a way of increasing it. By spreading life throughout the universe and making life use up ever increasing amounts of energy, the universe's purpose would thus be fulfilled. == History == === Intellectual origins === While Nick Land is seen as the intellectual originator of contemporary accelerationism in general, the precise origins of effective accelerationism remain unclear. The earliest known reference to the movement can be traced back to a May 2022 newsletter published by four pseudonymous authors known by their X (formerly Twitter) usernames @BasedBeffJezos, @bayeslord, @zestular and @creatine_cycle. Effective accelerationism is an extension of the TESCREAL movement, being etymologically derived from Effective Altruism and heavily rooted in the older Silicon Valley subcultures of transhumanism and extropianism (which similarly emphasized the value of progress and resisted efforts to restrain the development of technology), alongside elements of singularitarianism, cosmism, and longtermism. It is also often considered to have emerged at least in part from the work of the Cybernetic Culture Research Unit (of which Nick Land was a leading member, alongside writers such as Mark Fisher and Sadie Plant). It is sometimes compared and contrasted with the work of philosopher Benjamin Bratton on planetary computation. === Disclosure of the identity of BasedBeffJezos === Forbes disclosed in December 2023 that the @BasedBeffJezos persona is maintained by Guillaume Verdon, a Canadian former Google quantum computing engineer and theoretical physicist. The revelation was supported by a voice analysis conducted by the National Center for Media Forensics of the University of Colorado Denver, which further confirmed the match between Jezos and Verdon. The magazine justified its decision to disclose Verdon's identity on the grounds of it being "in the public interest". On 29 December 2023 Guillaume Verdon was interviewed by Lex Fridman on the Lex Fridman Podcast and introduced as the "creator of the effective accelerationism movement". === Second Trump presidency === Following Donald Trump's victory in the 2024 U.S. presidential election, several prominent tech industry figures expressed support for positions aligned with effective accelerationism, particularly regarding deregulation and technological advancement. The potential appointment of Elon Musk to government roles focused on auditing federal programs drew support from venture capitalists who anticipated reduced regulatory oversight of the technology sector. Notable tech figures publicly connected these developments to the movement's principles. Aaron Levie, CEO of Box, expressed support for "removing unnecessary red tape and over-regulation", while Mark Pincus, early Facebook investor and Zynga founder, explicitly referenced "effective accelerationism" in his post-election commentary. Venture capitalists viewed the incoming administration as an opportunity to ease regulations that had affected technology mergers and acquisitions during the previous years. == Relation to other movements == === Traditional accelerationism === Traditional accelerationism, as developed by the British philosopher Nick Land, sees the acceleration of technological change as a way to bring about a fundamental transformation of current culture, society, and the political economy. This is done through capitalism, which Land views as "an autonomous force that’s reconfiguring society" that can overcome its limits if intensified. Land's work has also been characterized as concerning "the supposedly inevitable 'disintegration of the human species' when artificial intelligence improves sufficiently." While both concern ideas like a technocapital singularity and AGI progress, effective accelerationism focuses on using AGI for the greatest ethical good for conscious life and civilization (whether human or machine), as well as expanding civilization and maximizing energy usage in order to align with the "will of the universe". Land focuses on capitalist self-optimization as the driver of modernity, progress, and the eroding of existing social orders. Land has expressed support for effective accelerationism, while Thomas Murphy referred to the movement as "Nick Land diluted for LinkedIn". === Effective altruism === Effective accelerationism diverges from the principles of effective altruism, which prioritizes using evidence and reasoning to identify the most effective ways to altruistically improve the world. This divergence comes primarily from one of the causes effective altruists focus on – AI existential risk. Effective altruists (particularly longtermists) argue that AI companies should be cautious and strive to develop safe AI systems, as they fear that any misaligned AGI could eventually lead to human extinction. Proponents of effective accelerationism generally consider existential risks from AGI to be negligible, and claim that even if they were not, decentralized free markets would much better mitigate this risk than centralized governmental regulation. === Degrowth === Effective accelerationism stands in stark contrast with the degrowth movement, sometimes described by it as "decelerationism" or "decels". The degrowth movement advocates for reducing economic activity and consumption to address ecological and social issues. Effective accelerationism on the contrary embraces technological progress, energy consumption and the dynamics of capitalism, rather than advocating for a reduction in economic activity. == Reception == The "Techno-Optimist Manifesto", a 2023 essay by Marc Andreessen, has been described by the Financial Times and the German Süddeutsche Zeitung as espousing the views of effective accelerationism. Mother Jones also characterized it as expressing effective accelerationism and reported that Andressen cited Land's work. David Swan of The Sydney Morning Herald has criticized effective accelerationism due to its opposition to government and industry self-regulation. He argues that "innovations like AI needs thoughtful regulations and guardrails ... to avoid the myriad mistakes Silicon Valley has already made." During the 2023 Reagan National Defense Forum, U.S. Secretary of Commerce Gina Raimondo cautioned against embracing the "move fast and break things" mentality associated with "effective acceleration [sic]". She emphasized the need to exercise caution in dealing with AI, stating "that's too dangerous. You can't break things when you are talking about AI." In a similar vein, Ellen Huet argued on Bloomberg News that some of the ideas of the movement were "deeply unsettling", focusing especially on Guillaume Verdon's "post-humanism" and the view that "natural selection could lead AI to replace us as the dominant spe

    Read more →
  • Revoscalepy

    Revoscalepy

    revoscalepy is a machine learning package in Python created by Microsoft. It is available as part of Machine Learning Services in Microsoft SQL Server 2017 and Machine Learning Server 9.2.0 and later. The package contains functions for creating linear model, logistic regression, random forest, decision tree and boosted decision tree, in addition to some summary functions for inspecting data. Other machine learning algorithms such as neural network are provided in microsoftml, a separate package that is the Python version of MicrosoftML. revoscalepy also contains functions designed to run machine learning algorithms in different compute contexts, including SQL Server, Apache Spark, and Hadoop. In June 2021, Microsoft announced to open source the revoscalepy and RevoScaleR packages, making them freely available under the MIT License.

    Read more →
  • Imageability

    Imageability

    Imageability is a measure of how easily a physical object, word or environment will evoke a clear mental image in the mind of any person observing it. It is used in architecture and city planning, in psycholinguistics, and in automated computer vision research. In automated image recognition, training models to connect images with concepts that have low imageability can lead to biased and harmful results. == History and components == Kevin A. Lynch first introduced the term, "imageability" in his 1960 book, The Image of the City. In the book, Lynch argues cities contain a key set of physical elements that people use to understand the environment, orient themselves inside of it, and assign it meaning. Lynch argues the five key elements that impact the imageability of a city are Paths, Edges, Districts, Nodes, and Landmarks. Paths: channels in which people travel. Examples: streets, sidewalks, trails, canals, railroads. Edges: objects that form boundaries around space. Examples: walls, buildings, shoreline, curbstone, streets, and overpasses. Districts: medium to large areas people can enter into and out of that have a common set of identifiable characteristics. Nodes: large areas people can enter, that serve as the foci of the city, neighborhood, district, etc. Landmarks: memorable points of reference people cannot enter into. Examples: signs, mountains and public art. In 1914, half a century before The Image of the City was published, Paul Stern discussed a concept similar to imageability in the context of art. Stern, in Susan Langer's Reflections on Art, names the attribute that describes how vividly and intensely an artistic object could be experienced apparency. == In computer vision == Automated image recognition was developed by using machine learning to find patterns in large, annotated datasets of photographs, like ImageNet. Images in ImageNet are labelled using concepts in WordNet. Concepts that are easily expressed verbally, like "early", are seen as less "imageable" than nouns referring to physical objects like "leaf". Training AI models to associate concepts with low imageability with specific images can lead to problematic bias in image recognition algorithms. This has particularly been critiqued as it relates to the "person" category of WordNet and therefore also ImageNet. Trevor Pagan and Kate Crawford demonstrated in their essay "Excavating AI" and their art project ImageNet Roulette how this leads to photos of ordinary people being labelled by AI systems as "terrorists" or "sex offenders". Images in datasets are often labelled as having a certain level of imageability. As described by Kaiyu Yang, Fei-Fei Li and co-authors, this is often done following criteria from Allan Paivio and collaborators' 1968 psycholinguistic study of nouns. Yang el.al. write that dataset annotators tasked with labelling imageability "see a list of words and rate each word on a 1-7 scale from 'low imagery' to 'high imagery'. To avoid biased or harmful image recognition and image generation, Yang et.al. recommend not training vision recognition models on concepts with low imageability, especially when the concepts are offensive (such as sexual or racial slurs) or sensitive (their examples for this category include "orphan", "separatist", "Anglo-Saxon" and "crossover voter"). Even "safe" concepts with low imageability, like "great-niece" or "vegetarian" can lead to misleading results and should be avoided.

    Read more →
  • Comparison of raster graphics editors

    Comparison of raster graphics editors

    Raster graphics editors can be compared by many variables, including availability. == List == == General information == Basic general information about the editor: creator, company, license, etc. == Operating system support == The operating systems on which the editors can run natively, that is, without emulation, virtual machines or compatibility layers. In other words, the software must be specifically coded for the operation system; for example, Adobe Photoshop for Windows running on Linux with Wine does not fit. == Features == == Color spaces == == File support ==

    Read more →
  • Otterly.ai

    Otterly.ai

    Otterly.ai is an Austrian software company, founded in 2024, that provides tools for generative engine optimization, the practice of monitoring and optimizing results in large language models. == History == Otterly.ai was co-founded in 2024 by Thomas Peham, Klaus-M. Schremser and Josef Trauner. The concept for OtterlyAI was developed in response to the increasing use of generative AI tools in digital search and content discovery. The company announced a technology partnership with SEO platform Semrush in January 2025.

    Read more →
  • Brain.js

    Brain.js

    Brain.js is a JavaScript library used for neural networking, which is released as free and open-source software under the MIT License. It can be used in both the browser and Node.js backends. Brain.js is most commonly used as a simple introduction to neural networking, as it hides complex mathematics and has a familiar modern JavaScript syntax. It is maintained by members of the Brain.js organization and open-source contributors. == Examples == Creating a feedforward neural network with backpropagation: Creating a recurrent neural network: Train the neural network on RGB color contrast:

    Read more →
  • John F. Sowa

    John F. Sowa

    John Florian Sowa (born 1940) is an American computer scientist, an expert in artificial intelligence and computer design, and the inventor of conceptual graphs. == Biography == Sowa received a BS in mathematics from Massachusetts Institute of Technology in 1962, an MA in applied mathematics from Harvard University in 1966, and a PhD in computer science from the Vrije Universiteit Brussel in 1999 with a dissertation titled "Knowledge Representation: Logical, Philosophical, and Computational Foundations". Sowa spent most of his professional career at IBM, starting in 1962 at IBM's applied mathematics group. Over the decades he has researched and developed emerging fields of computer science from compilers, programming languages, and system architecture to artificial intelligence and knowledge representation. In the 1990s Sowa was associated with the IBM Educational Center in New York. Over the years he taught courses at the IBM Systems Research Institute, Binghamton University, Stanford University, the Linguistic Society of America and the Université du Québec à Montréal. He is a fellow of the Association for the Advancement of Artificial Intelligence. After early retirement at IBM, Sowa in 2001 cofounded VivoMind Intelligence, Inc. with Arun K. Majumdar. With this company he was developing data-mining and database technology, more specifically high-level "ontologies" for artificial intelligence and automated natural language understanding. Currently Sowa is working with Kyndi Inc., also founded by Majumdar. John Sowa is married to the philologist Cora Angier Sowa, and they live in Croton-on-Hudson, New York. == Work == Sowa's research interests since the 1970s were in the field of artificial intelligence, expert systems and database query linked to natural languages. In his work he combines ideas from numerous disciplines and eras modern and ancient, for example, applying ideas from Aristotle, the medieval scholastics to Alfred North Whitehead and including database schema theory, and incorporating the model of analogy of Islamic scholar Ibn Taymiyyah in his works. === Conceptual graph === Sowa invented conceptual graphs, a graphic notation for logic and natural language, based on the structures in semantic networks and on the existential graphs of Charles S. Peirce. He introduced the concept in the 1976 article "Conceptual graphs for a data base interface" in the IBM Journal of Research and Development. He elaborated upon it in the 1983 book Conceptual structures: information processing in mind and machine. In the 1980s, this theory had "been adopted by a number of research and development groups throughout the world. International conferences on conceptual structures (ICCS) have been held since 1993, following a series of conceptual graph workshops that began in 1986. === Sowa's law of standards === In 1991, Sowa first stated his Law of Standards: "Whenever a major organization develops a new system as an official standard for X, the primary result is the widespread adoption of some simpler system as a de facto standard for X." Like Gall's law, The Law of Standards is essentially an argument in favour of underspecification. Examples include: The introduction of PL/I resulting in COBOL and FORTRAN becoming the de facto standards for business and scientific programming respectively The introduction of Algol-68 resulting in Pascal becoming the de facto standard for academic programming The introduction of the Ada language resulting in C becoming the de facto standard for US Department of Defense programming The introduction of OS/2 resulting in Windows becoming the de facto standard for desktop OS The introduction of X.400 resulting in SMTP becoming the de facto standard for electronic mail The introduction of X.500 resulting in LDAP becoming the de facto standard for directory services == Publications == 1984. Conceptual Structures - Information Processing in Mind and Machine. The Systems Programming Series, Addison-Wesley 1991. Principles of Semantic Networks. Morgan Kaufmann. Mineau, Guy W; Moulin, Bernard; Sowa, John F, eds. (1993). Conceptual Graphs for Knowledge Representation. LNCS. Vol. 699. doi:10.1007/3-540-56979-0. ISBN 978-3-540-56979-4. S2CID 32275791. 1994. International Conference on Conceptual Structures (2nd : 1994 : College Park, Md.) Conceptual structures, current practices : Second International Conference on Conceptual Structures, ICCS'94, College Park, Maryland, USA, August 16–20, 1994 : proceedings. William M. Tepfenhart, Judith P. Dick, John F. Sowa, eds. Ellis, Gerard; Levinson, Robert; Rich, William; Sowa, John F, eds. (1995). Conceptual Structures: Applications, Implementation and Theory. LNCS. Vol. 954. doi:10.1007/3-540-60161-9. ISBN 978-3-540-60161-6. S2CID 27300281. Lukose, Dickson; Delugach, Harry; Keeler, Mary; Searle, Leroy; Sowa, John, eds. (1997). Conceptual Structures: Fulfilling Peirce's Dream. LNCS. Vol. 1257. doi:10.1007/BFb0027865. ISBN 3-540-63308-1. S2CID 1934069. 2000. Knowledge representation : logical, philosophical, and computational foundations, Brooks Cole Publishing Co., Pacific Grove Articles, a selection Sowa, J. F. (July 1976). "Conceptual Graphs for a Data Base Interface". IBM Journal of Research and Development. 20 (4): 336–357. doi:10.1147/rd.204.0336. Sowa, J. F.; Zachman, J. A. (1992). "Extending and formalizing the framework for information systems architecture". IBM Systems Journal. 31 (3): 590–616. doi:10.1147/sj.313.0590. 1992. "Conceptual Graph Summary"; In: T.E. Nagle et al. (Eds.). Conceptual Structures: Current Research and Practice. Chichester: Ellis Horwood. 1995. "Top-level ontological categories." in: International journal of human-computer studies. Vol. 43, Iss. 5–6, Nov. 1995, pp. 669–685 2006. "Semantic Networks". In: Encyclopedia of Cognitive Science.. John Wiley & Sons.

    Read more →
  • BeHafizh

    BeHafizh

    BeHafizh is a mobile application to assist in the effort to memorize Qur'anic verses. The software runs on the Android operating system. This application was made by a team from Gadjah Mada University (UGM) consisting of Farid Amin Ridwanto, Rian Adam Rajagede and Alfian Try Putranto in order to participate in the National Student Musabaqoh Tilawatil Quran (MTQ) held at University of Indonesia (UI) on 1- August 8, 2015. This application then won a gold medal in the branch of Computer Application Design in the competition. == Features == === Audio Player === Audio player, paragraph can be played repeatedly, with pause, and can be done on a certain range of Quranic verses. === Memorization Test === Memorization testing continues users to improve their memorization. Memorization Recorders improves user's ability to recite Quran. === Colour indicators === === Achievements === === Reminders ===

    Read more →
  • Procedural reasoning system

    Procedural reasoning system

    In artificial intelligence, a procedural reasoning system (PRS) is a framework for constructing real-time reasoning systems that can perform complex tasks in dynamic environments. It is based on the notion of a rational agent or intelligent agent using the belief–desire–intention software model. A user application is predominately defined, and provided to a PRS system is a set of knowledge areas. Each knowledge area is a piece of procedural knowledge that specifies how to do something, e.g., how to navigate down a corridor, or how to plan a path (in contrast with robotic architectures where the programmer just provides a model of what the states of the world are and how the agent's primitive actions affect them). Such a program, together with a PRS interpreter, is used to control the agent. The interpreter is responsible for maintaining beliefs about the world state, choosing which goals to attempt to achieve next, and choosing which knowledge area to apply in the current situation. How exactly these operations are performed might depend on domain-specific meta-level knowledge areas. Unlike traditional AI planning systems that generate a complete plan at the beginning, and replan if unexpected things happen, PRS interleaves planning and doing actions in the world. At any point, the system might only have a partially specified plan for the future. PRS is based on the BDI or belief–desire–intention framework for intelligent agents. Beliefs consist of what the agent believes to be true about the current state of the world, desires consist of the agent's goals, and intentions consist of the agent's current plans for achieving those goals. Furthermore, each of these three components is typically explicitly represented somewhere within the memory of the PRS agent at runtime, which is in contrast to purely reactive systems, such as the subsumption architecture. == History == The PRS concept was developed by the Artificial Intelligence Center at SRI International during the 1980s, by many workers including Michael Georgeff, Amy L. Lansky, and François Félix Ingrand. Their framework was responsible for exploiting and popularizing the BDI model in software for control of an intelligent agent. The seminal application of the framework was a fault detection system for the reaction control system of the NASA Space Shuttle Discovery. Development on this PRS continued at the Australian Artificial Intelligence Institute through to the late 1990s, which led to the development of a C++ implementation and extension called dMARS. == Architecture == The system architecture of SRI's PRS includes the following components: Database for beliefs about the world, represented using first order predicate calculus. Goals to be realized by the system as conditions over an interval of time on internal and external state descriptions (desires). Knowledge areas (KAs) or plans that define sequences of low-level actions toward achieving a goal in specific situations. Intentions that include those KAs that have been selected for current and eventual execution. Interpreter or inference mechanism that manages the system. == Features == SRI's PRS was developed for embedded application in dynamic and real-time environments. As such it specifically addressed the limitations of other contemporary control and reasoning architectures like expert systems and the blackboard system. The following define the general requirements for the development of their PRS: asynchronous event handling guaranteed reaction and response types procedural representation of knowledge handling of multiple problems reactive and goal-directed behavior focus of attention reflective reasoning capabilities continuous embedded operation handling of incomplete or inaccurate data handling of transients modeling delayed feedback operator control == Applications == The seminal application of SRI's PRS was a monitoring and fault detection system for the reaction control system (RCS) on the NASA space shuttle. The RCS provides propulsive forces from a collection of jet thrusters and controls altitude of the space shuttle. A PRS-based fault diagnostic system was developed and tested using a simulator. It included over 100 KAs and over 25 meta level KAs. RCS specific KAs were written by space shuttle mission controllers. It was implemented on the Symbolics 3600 Series LISP machine and used multiple communicating instances of PRS. The system maintained over 1000 facts about the RCS, over 650 facts for the forward RCS alone and half of which are updated continuously during the mission. A version of the PRS was used to monitor the reaction control system on the Space Shuttle Discovery. PRS was tested on Shakey the robot including navigational and simulated jet malfunction scenarios based on the space shuttle. Later applications included a network management monitor called the Interactive Real-time Telecommunications Network Management System (IRTNMS) for Telecom Australia. == Extensions == The following list the major implementations and extensions of the PRS architecture. UM-PRS OpenPRS (formerly C-PRS and Propice) AgentSpeak Distributed multi-agent reasoning system (dMARS) GORITE JAM JACK Intelligent Agents SRI Procedural Agent Realization Kit (SPARK) PRS-CL

    Read more →
  • AlphaEvolve

    AlphaEvolve

    AlphaEvolve is an evolutionary coding agent for designing advanced algorithms based on large language models such as Gemini. It was developed by Google DeepMind and unveiled in May 2025. == Design == AlphaEvolve aims to autonomously discover and refine algorithms through a combination of large language models (LLMs) and evolutionary computation. AlphaEvolve needs an evaluation function with metrics to optimize, and an initial algorithm. At each step, AlphaEvolve uses the LLM to produce variants of the existing algorithms, and then selects the most effective ones. Unlike domain-specific predecessors like AlphaFold or AlphaTensor, AlphaEvolve is designed as a general-purpose system. It can operate across a wide array of scientific and engineering tasks by automatically modifying code and optimizing for multiple objectives. Its architecture allows it to evaluate code programmatically, reducing reliance on human input and mitigating risks such as hallucinations common in standard LLM outputs. == Achievements == According to Google, across a selection of 50 open mathematical problems, the model was able to rediscover state-of-the-art solutions 75% of the time and discovered improved solutions 20% of the time, for example advancing the kissing number problem. AlphaEvolve was also used to optimize Google's computing ecosystem. Improved data center scheduling heuristics, enabled the recovery of 0.7% of stranded resources. It was also used to optimize TPU circuit design and Gemini's training matrix multiplication kernel. == Open source implementations == Following the publication of AlphaEvolve, several open source implementations have been developed by the research community. One such implementation is OpenEvolve, which implements distributed evolutionary algorithms, multi-language support, integration with various large language model providers, and automated discovery of high-performance GPU kernels that outperform expert-engineered baselines.

    Read more →
  • Integrated Operations in the High North

    Integrated Operations in the High North

    Integrated Operations in the High North (IOHN, IO High North or IO in the High North) is a unique collaboration project that during a four-year period starting May 2008 is working on designing, implementing and testing a Digital Platform for what in the upstream oil and gas industry is called the next or second generation of Integrated Operations. The work on the Digital platform is focussed on capture, transfer and integration of real-time data from the remote production installations to the decision makers. A risk evaluation across the whole chain is also included. The platform is based on open standards and enables a higher degree of interoperability. Requirements for the digital platform come from use cases defined within the Drilling and Completion, Reservoir and Production and Operations and Maintenance domains. The platform will subsequently be demonstrated through pilots within these three domains. The project was a sidecar initiative for Statoil’s Global Operations Data Integration Project. This was part of a very ambitious Master Plan IT (MapIT), which also included the Real Time Visualization (RTV) tender. The RTV tender aimed to be an ontology-aware information workspace for a wide range of disciplines, as per the IO Capability Stack. Additionally, the sidecar project aimed to increase the semantic web knowledge among suppliers in the industry. This new platform is considered an important enabler for safe and sustainable operations in remote, vulnerable and hazardous areas such as the High North, but the technology is clearly also applicable in more general applications. The IOHN project consortium consists of 23 participants, including operators, service providers, software vendors, technology providers, research institutions and universities. In addition, the Norwegian Defence Force is working with the project to resolve common infrastructural and interoperability challenges. The project is managed by Det Norske Veritas (DNV). Nils Sandsmark was the project manager during the initiation and start-up phase. Frédéric Verhelst took over as project manager from the beginning of 2009. Financing comes from the participants and the Research Council of Norway (RCN) for parts of the project (GOICT and AutoConRig). == Participants == The consortium consists of the following 22 participants (in alphabetical order):

    Read more →
  • Algorithm selection

    Algorithm selection

    Algorithm selection (sometimes also called per-instance algorithm selection or offline algorithm selection) is a meta-algorithmic technique to choose an algorithm from a portfolio on an instance-by-instance basis. It is motivated by the observation that on many practical problems, different algorithms have different performance characteristics. That is, while one algorithm performs well in some scenarios, it performs poorly in others and vice versa for another algorithm. If we can identify when to use which algorithm, we can optimize for each scenario and improve overall performance. This is what algorithm selection aims to do. The only prerequisite for applying algorithm selection techniques is that there exists (or that there can be constructed) a set of complementary algorithms. == Definition == Given a portfolio P {\displaystyle {\mathcal {P}}} of algorithms A ∈ P {\displaystyle {\mathcal {A}}\in {\mathcal {P}}} , a set of instances i ∈ I {\displaystyle i\in {\mathcal {I}}} and a cost metric m : P × I → R {\displaystyle m:{\mathcal {P}}\times {\mathcal {I}}\to \mathbb {R} } , the algorithm selection problem consists of finding a mapping s : I → P {\displaystyle s:{\mathcal {I}}\to {\mathcal {P}}} from instances I {\displaystyle {\mathcal {I}}} to algorithms P {\displaystyle {\mathcal {P}}} such that the cost ∑ i ∈ I m ( s ( i ) , i ) {\displaystyle \sum _{i\in {\mathcal {I}}}m(s(i),i)} across all instances is optimized. == Examples == === Boolean satisfiability problem (and other hard combinatorial problems) === A well-known application of algorithm selection is the Boolean satisfiability problem. Here, the portfolio of algorithms is a set of (complementary) SAT solvers, the instances are Boolean formulas, the cost metric is for example average runtime or number of unsolved instances. So, the goal is to select a well-performing SAT solver for each individual instance. In the same way, algorithm selection can be applied to many other N P {\displaystyle {\mathcal {NP}}} -hard problems (such as mixed integer programming, CSP, AI planning, TSP, MAXSAT, QBF and answer set programming). Competition-winning systems in SAT are SATzilla, 3S and CSHC === Machine learning === In machine learning, algorithm selection is better known as meta-learning. The portfolio of algorithms consists of machine learning algorithms (e.g., Random Forest, SVM, DNN), the instances are data sets and the cost metric is for example the error rate. So, the goal is to predict which machine learning algorithm will have a small error on each data set. == Instance features == The algorithm selection problem is mainly solved with machine learning techniques. By representing the problem instances by numerical features f {\displaystyle f} , algorithm selection can be seen as a multi-class classification problem by learning a mapping f i ↦ A {\displaystyle f_{i}\mapsto {\mathcal {A}}} for a given instance i {\displaystyle i} . Instance features are numerical representations of instances. For example, we can count the number of variables, clauses, average clause length for Boolean formulas, or number of samples, features, class balance for ML data sets to get an impression about their characteristics. === Static vs. probing features === We distinguish between two kinds of features: Static features are in most cases some counts and statistics (e.g., clauses-to-variables ratio in SAT). These features ranges from very cheap features (e.g. number of variables) to very complex features (e.g., statistics about variable-clause graphs). Probing features (sometimes also called landmarking features) are computed by running some analysis of algorithm behavior on an instance (e.g., accuracy of a cheap decision tree algorithm on an ML data set, or running for a short time a stochastic local search solver on a Boolean formula). These feature often cost more than simple static features. === Feature costs === Depending on the used performance metric m {\displaystyle m} , feature computation can be associated with costs. For example, if we use running time as performance metric, we include the time to compute our instance features into the performance of an algorithm selection system. SAT solving is a concrete example, where such feature costs cannot be neglected, since instance features for CNF formulas can be either very cheap (e.g., to get the number of variables can be done in constant time for CNFs in the DIMACs format) or very expensive (e.g., graph features which can cost tens or hundreds of seconds). It is important to take the overhead of feature computation into account in practice in such scenarios; otherwise a misleading impression of the performance of the algorithm selection approach is created. For example, if the decision which algorithm to choose can be made with perfect accuracy, but the features are the running time of the portfolio algorithms, there is no benefit to the portfolio approach. This would not be obvious if feature costs were omitted. == Approaches == === Regression approach === One of the first successful algorithm selection approaches predicted the performance of each algorithm m ^ A : I → R {\displaystyle {\hat {m}}_{\mathcal {A}}:{\mathcal {I}}\to \mathbb {R} } and selected the algorithm with the best predicted performance a r g min A ∈ P m ^ A ( i ) {\displaystyle arg\min _{{\mathcal {A}}\in {\mathcal {P}}}{\hat {m}}_{\mathcal {A}}(i)} for an instance i {\displaystyle i} . === Clustering approach === A common assumption is that the given set of instances I {\displaystyle {\mathcal {I}}} can be clustered into homogeneous subsets and for each of these subsets, there is one well-performing algorithm for all instances in there. So, the training consists of identifying the homogeneous clusters via an unsupervised clustering approach and associating an algorithm with each cluster. A new instance is assigned to a cluster and the associated algorithm selected. A more modern approach is cost-sensitive hierarchical clustering using supervised learning to identify the homogeneous instance subsets. === Pairwise cost-sensitive classification approach === A common approach for multi-class classification is to learn pairwise models between every pair of classes (here algorithms) and choose the class that was predicted most often by the pairwise models. We can weight the instances of the pairwise prediction problem by the performance difference between the two algorithms. This is motivated by the fact that we care most about getting predictions with large differences correct, but the penalty for an incorrect prediction is small if there is almost no performance difference. Therefore, each instance i {\displaystyle i} for training a classification model A 1 {\displaystyle {\mathcal {A}}_{1}} vs A 2 {\displaystyle {\mathcal {A}}_{2}} is associated with a cost | m ( A 1 , i ) − m ( A 2 , i ) | {\displaystyle |m({\mathcal {A}}_{1},i)-m({\mathcal {A}}_{2},i)|} . == Requirements == The algorithm selection problem can be effectively applied under the following assumptions: The portfolio P {\displaystyle {\mathcal {P}}} of algorithms is complementary with respect to the instance set I {\displaystyle {\mathcal {I}}} , i.e., there is no single algorithm A ∈ P {\displaystyle {\mathcal {A}}\in {\mathcal {P}}} that dominates the performance of all other algorithms over I {\displaystyle {\mathcal {I}}} (see figures to the right for examples on complementary analysis). In some application, the computation of instance features is associated with a cost. For example, if the cost metric is running time, we have also to consider the time to compute the instance features. In such cases, the cost to compute features should not be larger than the performance gain through algorithm selection. == Application domains == Algorithm selection is not limited to single domains but can be applied to any kind of algorithm if the above requirements are satisfied. Application domains include: hard combinatorial problems: SAT, Mixed Integer Programming, CSP, AI Planning, TSP, MAXSAT, QBF and Answer Set Programming combinatorial auctions in machine learning, the problem is known as meta-learning software design black-box optimization multi-agent systems numerical optimization linear algebra, differential equations evolutionary algorithms vehicle routing problem power systems For an extensive list of literature about algorithm selection, we refer to a literature overview. == Variants of algorithm selection == === Online selection === Online algorithm selection refers to switching between different algorithms during the solving process. This is useful as a hyper-heuristic. In contrast, offline algorithm selection selects an algorithm for a given instance only once and before the solving process. === Computation of schedules === An extension of algorithm selection is the per-instance algorithm scheduling problem, in which we do not select only one solver, but we select a time budget for each algorithm

    Read more →
  • Political Declaration on Responsible Military Use of Artificial Intelligence and Autonomy

    Political Declaration on Responsible Military Use of Artificial Intelligence and Autonomy

    The Political Declaration on Responsible Military Use of Artificial Intelligence and Autonomy is an international norms and arms control proposal by the U.S. government for artificial intelligence in the military. It was announced at the Summit on Responsible Artificial Intelligence in the Military Domain by Bonnie Jenkins, Under Secretary of State for Arms Control. As of January 2024, fifty-one countries have signed the declaration. The US government sees it as an extension of the Department of Defense Directive 3000.09 which is the current US policy on autonomous weapons. It covers areas such as Lethal autonomous weapons and weapons decision-making.

    Read more →
  • Minion (solver)

    Minion (solver)

    Minion is a solver for satisfaction problems. Unlike constraint programming toolkits, which expect users to write programs in a traditional programming language like C++, Java or Prolog, Minion takes a text file which specifies the problem, and solves using only this. This makes using Minion much simpler, at the cost of much less customization. Minion has been shown to be faster than major commercial constraint solvers including CPLEX (formerly IBM ILOG). == Overview == Minion was introduced in 2006 by researchers at the University of St Andrews as a “fast, scalable” solver for large and hard CSP instances. The project provides a compact input language and a low-overhead C++ implementation aimed at throughput and memory efficiency. == Design and features == Minion implements a range of variable and constraint types commonly used in CSP modelling, plus search heuristics and optimisation support. The solver architecture prioritises cache-friendly data structures and specialised propagators. Notably, the developers adapted watched literal techniques from SAT solving to speed up constraint propagation for, among others, Boolean sums, the element global constraint, and table constraints. The modelling approach relies on a plain-text format (parsed by Minion) rather than embedding models into a host programming language. This reduces overhead and supports rapid “model-and-run” experimentation for large benchmark sets. == Performance == In the original evaluation on standard benchmarks, the authors reported that Minion often ran between one and two orders of magnitude faster than state-of-the-art toolkits of the time (including ILOG Solver and Gecode) on large, hard instances, with smaller gains—or slowdowns—on easier problems. Subsequent research has used Minion as a baseline solver in empirical studies and test generation tasks, reflecting its adoption within parts of the constraint programming community. == Applications == Minion has been applied in academic work on combinatorial search, scheduling and test generation, and is available to other environments via wrappers (for example, from the R language).

    Read more →