A clinical decision support system (CDSS) is a form of health information technology that provides clinicians, staff, patients, or other individuals with knowledge and person-specific information to enhance decision-making in clinical workflows. CDSS tools include alerts and reminders, clinical guidelines, condition-specific order sets, patient data summaries, diagnostic support, and context-aware reference information. They often leverage artificial intelligence to analyze clinical data and help improve care quality and safety. CDSSs constitute a major topic in artificial intelligence in medicine. == Characteristics == A clinical decision support system is an active knowledge system that uses variables of patient data to produce advice regarding health care. This implies that a CDSS is simply a decision support system focused on using knowledge management. === Purpose === The main purpose of modern CDSS is to assist clinicians at the point of care. This means that clinicians interact with a CDSS to help to analyze and reach a diagnosis based on patient data for different diseases. In the early days, CDSSs were conceived to make decisions for the clinician in a literal manner. The clinician would input the information and wait for the CDSS to output the "right" choice, and the clinician would simply act on that output. However, the modern methodology of using CDSSs to assist means that the clinician interacts with the CDSS, utilizing both their knowledge and the CDSS's, better to analyse the patient's data than either a human or a CDSS could do on their own. Typically, a CDSS makes suggestions for the clinician to review, and the clinician is expected to pick out useful information from the presented results and discount erroneous CDSS suggestions. The two main types of CDSS are knowledge-based systems and non-knowledge-based (machine learning–based) systems: An example of how a clinician might use a clinical decision support system is a diagnosis decision support system (DDSS). DDSS requests some of the patient's data and, in response, proposes a set of possible diagnoses. The physician then takes the output of the DDSS and determines which diagnoses are likely and which are not, and, if necessary, orders further tests to narrow down the diagnosis. Another example of a CDSS would be a case-based reasoning (CBR) system. A CBR system might use previous case data to help determine the appropriate amount of beams and the optimal beam angles for use in radiotherapy for brain cancer patients; medical physicists and oncologists would then review the recommended treatment plan to determine its viability. Another important classification of a CDSS is based on the timing of its use. Physicians use these systems at the point of care to help them as they are dealing with a patient, with the timing of use being either pre-diagnosis, during diagnosis, or post-diagnosis. Pre-diagnosis CDSS systems help the physician prepare the diagnoses. CDSSs help review and filter the physician's preliminary diagnostic choices to improve outcomes. Post-diagnosis CDSS systems are used to mine data to derive connections between patients and their past medical history and clinical research to predict future events. Early speculation that AI-based decision support would replace clinicians in common tasks has largely given way to a consensus around assistive models, in which AI augments rather than supplants clinical judgment. Contemporary deep learning-based systems, unlike earlier rule-based tools, can be trained directly on clinical data without manual rule authoring and integrated into electronic health record workflows at the point of care. Another approach, used by the National Health Service in England, is to use a CDSS to triage medical conditions out of hours by suggesting a suitable next step to the patient (e.g. call an ambulance, or see a general practitioner on the next working day). The suggestion, which may be disregarded by either the patient or the phone operative if common sense or caution suggests otherwise, is based on the known information and an implicit conclusion about what the worst-case diagnosis is likely to be; it is not always revealed to the patient because it might well be incorrect and is not based on a medically-trained person's opinion - it is only used for initial triage purposes. === Knowledge-based === Most CDSSs consist of three parts: the knowledge base, an inference engine, and a mechanism to communicate. The knowledge base contains the rules and associations of compiled data which most often take the form of IF-THEN rules. If this was a system for determining drug interactions, then a rule might be that IF drug X is taken AND drug Y is taken THEN alert the user. Using another interface, an advanced user could edit the knowledge base to keep it up to date with new drugs. The inference engine combines the rules from the knowledge base with the patient's data. The communication mechanism allows the system to show the results to the user as well as have input into the system. An expression language such as GELLO or CQL (Clinical Quality Language) is needed for expressing knowledge artefacts in a computable manner. For example: if a patient has diabetes mellitus, and if the last haemoglobin A1c test result was less than 7%, recommend re-testing if it has been over six months, but if the last test result was greater than or equal to 7%, then recommend re-testing if it has been over three months. The current focus of the HL7 CDS WG is to build on the Clinical Quality Language (CQL). The U.S. Centers for Medicare & Medicaid Services (CMS) has announced that it plans to use CQL for the specification of Electronic Clinical Quality Measures (eCQMs). === Non-knowledge-based === CDSSs which do not use a knowledge base use a form of artificial intelligence called machine learning, which allow computers to learn from past experiences and/or find patterns in clinical data. This eliminates the need for writing rules and expert input. However, since systems based on machine learning cannot explain the reasons for their conclusions, most clinicians do not use them directly for diagnoses, reliability and accountability reasons. Nevertheless, they can be useful as post-diagnostic systems, for suggesting patterns for clinicians to look into in more depth. As of 2012, three types of non-knowledge-based systems are support-vector machines, artificial neural networks and genetic algorithms. Artificial neural networks use nodes and weighted connections between them to analyse the patterns found in patient data to derive associations between symptoms and a diagnosis. Genetic algorithms are based on simplified evolutionary processes using directed selection to achieve optimal CDSS results. The selection algorithms evaluate components of random sets of solutions to a problem. The solutions that come out on top are then recombined and mutated and run through the process again. This happens over and over until the proper solution is discovered. They are functionally similar to neural networks in that they are also "black boxes" that attempt to derive knowledge from patient data. Non-knowledge-based networks often focus on a narrow list of symptoms, such as symptoms for a single disease, as opposed to the knowledge-based approach, which covers the diagnosis of many diseases. An example of a non-knowledge-based CDSS is a web server developed using a support vector machine for the prediction of gestational diabetes in Ireland. == Regulations == === History, United States === The IOM had published a report in 1999, To Err is Human, which focused on the patient safety crisis in the United States, pointing to the incredibly high number of deaths. This statistic attracted great attention to the quality of patient care. The Institute of Medicine (IOM) promoted the usage of health information technology, including clinical decision support systems, to advance the quality of patient care. With the enactment of the American Recovery and Reinvestment Act of 2009 (ARRA), there was a push for widespread adoption of health information technology through the Health Information Technology for Economic and Clinical Health Act (HITECH). Through these initiatives, more hospitals and clinics were integrating electronic medical records (EMRs) and computerized physician order entry (CPOE) within their health information processing and storage. Despite the absence of laws, the CDSS vendors would almost certainly be viewed as having a legal duty of care to both the patients who may adversely be affected due to CDSS usage and the clinicians who may use the technology for patient care. However, duties of care legal regulations are not explicitly defined yet. With the enactment of the HITECH Act included in the ARRA, encouraging the adoption of health IT, more detailed case laws for CDSS and EMRs were still being defined by the Office of National Coordinator for Health Informati
Discrete skeleton evolution
Discrete Skeleton Evolution (DSE) describes an iterative approach to reducing a morphological or topological skeleton. It is a form of pruning in that it removes noisy or redundant branches (spurs) generated by the skeletonization process, while preserving information-rich "trunk" segments. The value assigned to individual branches varies from algorithm to algorithm, with the general goal being to convey the features of interest of the original contour with a few carefully chosen lines. Usually, clarity for human vision (aka. the ability to "read" some features of the original shape from the skeleton) is valued as well. DSE algorithms are distinguished by complex, recursive decision-making processes with high computational requirements. Pruning methods such as by structuring element (SE) convolution and the Hough transform are general purpose algorithms which quickly pass through an image and eliminate all branches shorter than a given threshold. DSE methods are most applicable when detail retention and contour reconstruction are valued. == Methodology == === Pre-processing === Input images will typical contain more data than is necessary to generate an initial skeleton, and thus must be reduced in some way. Reducing the resolution, converting to grayscale, and then binary by masking or thresholding are common first steps. Noise removal may occur before and/or after converting an image to binary. Morphological operations such as closing, opening, and smoothing of the binary image may also be part of pre-processing. Ideally, the binarized contour should be as noise-free as possible before the skeleton is generated. === Skeletonization === DSE techniques may be applied to an existing skeleton or incorporated as part of the skeleton growing algorithm. Suitable skeletons may be obtained using a variety of methods: Thinning algorithms, such as the Grassfire transform Voronoi diagram Medial Axis Transform or Symmetry Axis Transform Distance Mapping === Significance Measures === DSE and related methods remove entire spurious branches while leaving the main trunk intact. The intended result is typically optimized for visual clarity and retention of information, such that the original contour can be reconstructed from the fully pruned skeleton. The value of various properties must be weighted by the application, and improving the efficiency is an ongoing topic of research in computer vision and image processing. Some significance measures include: Discrete Bisector Function Contour length Bending Potential Ratio Discrete Curve Evolution === Iteration === Each branch is evaluated during a pass through the skeletonized image according to the specific algorithm being used. Low value branches are removed and the process is repeated until a desired threshold of simplicity is reached. === Reconstruction === If all points on the output skeleton are the center points of maximal disks of the image and the radius information is retained, a contour image can be reconstructed == Applications == === Handwriting and text parsing === Variability in hand-written text is an ongoing challenge, simplification makes it somewhat easier for computer vision algorithms to make judgements about intended characters. === Soft body classification (animals) === The maximal disks centered on the skeleton imply roughly spherical masses, the features of the extracted skeleton are relatively unchanged even as the soft body deforms or self-occludes. Skeleton information is one facet of determining whether two animals are the "same" some way, though it must usually be paired with another technique to effectively identify a target. === Medical uses === Investigation of organs, tissue damage and deformation caused by disease.
Diagnosis (artificial intelligence)
As a subfield in artificial intelligence, diagnosis is concerned with the development of algorithms and techniques that are able to determine whether the behaviour of a system is correct. If the system is not functioning correctly, the algorithm should be able to determine, as accurately as possible, which part of the system is failing, and which kind of fault it is facing. The computation is based on observations, which provide information on the current behaviour. The expression diagnosis also refers to the answer of the question of whether the system is malfunctioning or not, and to the process of computing the answer. This word comes from the medical context where a diagnosis is the process of identifying a disease by its symptoms. == Example == An example of diagnosis is the process of a garage mechanic with an automobile. The mechanic will first try to detect any abnormal behavior based on the observations on the car and his knowledge of this type of vehicle. If he finds out that the behavior is abnormal, the mechanic will try to refine his diagnosis by using new observations and possibly testing the system, until he discovers the faulty component; the mechanic plays an important role in the vehicle diagnosis. == Expert diagnosis == The expert diagnosis (or diagnosis by expert system) is based on experience with the system. Using this experience, a mapping is built that efficiently associates the observations to the corresponding diagnoses. The experience can be provided: By a human operator. In this case, the human knowledge must be translated into a computer language. By examples of the system behaviour. In this case, the examples must be classified as correct or faulty (and, in the latter case, by the type of fault). Machine learning methods are then used to generalize from the examples. The main drawbacks of these methods are: The difficulty acquiring the expertise. The expertise is typically only available after a long period of use of the system (or similar systems). Thus, these methods are unsuitable for safety- or mission-critical systems (such as a nuclear power plant, or a robot operating in space). Moreover, the acquired expert knowledge can never be guaranteed to be complete. In case a previously unseen behaviour occurs, leading to an unexpected observation, it is impossible to give a diagnosis. The complexity of the learning. The off-line process of building an expert system can require a large amount of time and computer memory. The size of the final expert system. As the expert system aims to map any observation to a diagnosis, it will in some cases require a huge amount of storage space. The lack of robustness. If even a small modification is made on the system, the process of constructing the expert system must be repeated. A slightly different approach is to build an expert system from a model of the system rather than directly from an expertise. An example is the computation of a diagnoser for the diagnosis of discrete event systems. This approach can be seen as model-based, but it benefits from some advantages and suffers some drawbacks of the expert system approach. == Model-based diagnosis == Model-based diagnosis is an example of abductive reasoning using a model of the system. In general, it works as follows: We have a model that describes the behaviour of the system (or artefact). The model is an abstraction of the behaviour of the system and can be incomplete. In particular, the faulty behaviour is generally little-known, and the faulty model may thus not be represented. Given observations of the system, the diagnosis system simulates the system using the model, and compares the observations actually made to the observations predicted by the simulation. The modelling can be simplified by the following rules (where A b {\displaystyle Ab\,} is the Abnormal predicate): ¬ A b ( S ) ⇒ I n t 1 ∧ O b s 1 {\displaystyle \neg Ab(S)\Rightarrow Int1\wedge Obs1} A b ( S ) ⇒ I n t 2 ∧ O b s 2 {\displaystyle Ab(S)\Rightarrow Int2\wedge Obs2} (fault model) The semantics of these formulae is the following: if the behaviour of the system is not abnormal (i.e. if it is normal), then the internal (unobservable) behaviour will be I n t 1 {\displaystyle Int1\,} and the observable behaviour O b s 1 {\displaystyle Obs1\,} . Otherwise, the internal behaviour will be I n t 2 {\displaystyle Int2\,} and the observable behaviour O b s 2 {\displaystyle Obs2\,} . Given the observations O b s {\displaystyle Obs\,} , the problem is to determine whether the system behaviour is normal or not ( ¬ A b ( S ) {\displaystyle \neg Ab(S)\,} or A b ( S ) {\displaystyle Ab(S)\,} ). This is an example of abductive reasoning. == Diagnosability == A system is said to be diagnosable if whatever the behavior of the system, we will be able to determine without ambiguity a unique diagnosis. The problem of diagnosability is very important when designing a system because on one hand one may want to reduce the number of sensors to reduce the cost, and on the other hand one may want to increase the number of sensors to increase the probability of detecting a faulty behavior. Several algorithms for dealing with these problems exist. One class of algorithms answers the question whether a system is diagnosable; another class looks for sets of sensors that make the system diagnosable, and optionally comply to criteria such as cost optimization. The diagnosability of a system is generally computed from the model of the system. In applications using model-based diagnosis, such a model is already present and doesn't need to be built from scratch.
17776
17776 (also known as What Football Will Look Like in the Future) is a serialized speculative fiction multimedia narrative by Jon Bois, published online through SB Nation. Set in the distant future in which all humans have become immortal and infertile, the series follows three sapient space probes that watch humanity play an evolved form of American football in which games can be played for millennia over distances of thousands of miles. The series debuted on July 5, 2017, and new chapters were published daily until the series concluded with its twenty-fifth chapter on July 15, 2017. Bois began developing 17776 in 2016. Because the story incorporates text, animated GIFs, still images, and videos hosted on YouTube, new tools were developed to allow it to be hosted efficiently on the SB Nation website. The work explores themes of consciousness, hope, despair, and why humans play sports. 17776 was well received by critics, who praised it for its innovative use of its medium and for the depth of emotion it evoked. In 2018, the story won a National Magazine Award for Digital Innovation and was longlisted for both the Hugo Awards for Best Novella and Best Graphic Story. It is followed by a sequel series: 20020, released from September to October 2020. The sequel series follows a 111-team game of college football on fields spanning 130,000 miles (210,000 km) across the United States. Bois originally intended to follow up with a further series entitled 20021; however, it was postponed indefinitely. In May 2025, Bois announced that the series would be continued with a novel titled 50007: An American Football Odyssey. == Premise == The story takes place on a future Earth where humans stopped dying, aging, and being born on April 7, 2026. All social ills were subsequently eliminated, and technology preventing humans from any injury was developed. In the United States, American football evolved to include new rules, including those that allow fields thousands of miles long, hundreds of in-game players, and games millennia long. Over time, computers gained sentience due to constant exposure to broadcast human data. By the year 17776, the space probe Pioneer 9 (called Nine) has gained sentience and made contact with Pioneer 10 (called Ten) and the Jupiter Icy Moons Explorer (called Juice). As Nine adjusts to a world radically different from that of the 20th century, the three space probes watch multiple football games occurring across the United States: a game using the entirety of Nebraska as a field in which the next point scored wins the game; a game in which players strive to possess every existing football autographed by obscure NFL player Koy Detmer; a game played between the Canadian border and the Mexican border deadlocked for 13,000 years at the bottom of a gorge in Arizona; an NFL regulation game between the Denver Broncos and the Pittsburgh Steelers that changed over 15,000 years into 58 playing teams owning and capitalizing upon portions of Sports Authority Field at Mile High while the ball is lost; a 500 game that results in the destruction of the Centennial Light; and a game in which the possessing player is attempting to score an automatic win by hiding in his team's end zone for 10,000 years. == Format == 17776 is read by scrolling through web pages occupied by large GIF images and colored dialogue text, interspersed with occasional YouTube videos. The story is divided into chapters, which were originally published in daily installments between July 5 and 15, 2017. Much of the GIF and video content of the series uses Google Earth satellite imagery, 3D buildings, and other tools within Google Earth to create animations and visual effects. == Development == Bois wrote and illustrated 17776 for Vox Media's sports news website SB Nation, of which he is creative director. Aside from 17776, Bois produces two other recurring, humorous video essay programs for the site: Pretty Good, which focuses on unusual sports topics and stories, and Chart Party, which focuses on statistics and has an emphasis on Bois' use of visual art in his journalism and storytelling. Bois is also known for the Breaking Madden series, in which he attempted unusual scenarios in the Madden NFL series of video games. In early 2016, Bois began developing an "anti-sci fi" project as a possible sequel to The Tim Tebow CFL Chronicles, an earlier work for SB Nation, and set the story in a year far enough in the future that "nobody ever thinks about it." Although he liked the concept and the visuals, he believed the project would not connect with readers and shelved it. Later, he realized that the story needed a centering character; he wrote one in the form of a small town, AM radio talk show host before coming up with the characters of the probes. Development renewed in May 2016, and the project solidified after SB Nation published its article "The Future of Football." Bois described it as the biggest project he ever attempted. The series was developed by Graham MacAree, who used a Vox Media tool that creates custom packages from standard article sets to give Bois creative leeway and to accommodate the series' weight on the SB Nation website. MacAree found that there were few resources online for achieving the desired effects. == Themes == Bois has stated that he had "conceived [17776] to give the reader a good time," asserting that this "was literally the whole point." William Hughes writing for The A.V. Club described 17776 as concerned with why humans play sports: "That is, given the massive resources, time, and information at our disposal (not to mention those available to our descendants), why does communal game-playing still hold such an important place in society?" He also listed consciousness, hope, and despair as among the work's themes. Beth Elderkin of io9 described it as "a deep thought experiment into what we consider humanly possible". She also felt that Ten and Juice take on the role of angel and devil, and she suggested the two may be unreliable narrators. Ian Crouch of The New Yorker felt that the work had a "tonal echo" of Don DeLillo's 1972 novel End Zone due to thematic similarities "with the way that the order and logic of football might act as a counterbalance to the chaos of the real world". == Reception == According to the communications director at Vox Media, 17776 garnered over 2.3 million pageviews by July 10. Two days later, it had received more than 2.9 million pageviews. Average engagement time was over nine minutes, and 43 percent of readers finished each installment of the series published by July 7. On July 19, Bois claimed that 17776 received 700,000 unique visitors and 4 million total pageviews, with an average engagement time of 11 minutes. Thu-Huong Ha for Quartz described 17776 as "part Italo Calvino, part Peter Heller [author of The Dog Stars], with humor seemingly from within the depths of Reddit," saying that the story would appeal to fans of both sports and literature. Tor.com described the first chapter as full of tension and felt that receiving answers is a "surprisingly heartbreaking" experience "lessened by a gleeful bouncing immaturity" one would not expect from the characters. Beth Elderkin at io9 said the series is "akin to Homestuck" and described it as "weird, complex, and pretty spectacular". William Hughes writing for The A.V. Club felt that 17776 is a "truly innovative piece of work". After reading the first three chapters, Agatha French of the Los Angeles Times stated that she was "impressed and excited by the innovation" of what she saw, and that she was intrigued despite not knowing what the work is or is saying. She felt the work took full advantage of its online medium and suggested that it "may also be a glimpse into the future of reading on the Internet". Ian Crouch of The New Yorker described the series as, "despite its seemingly meagre parts, a thing of startling beauty". Of the chapters published by July 12, he felt "the most striking chapter" to be one that used audio of Verne Lundquist calling the end of a 2013 game between the University of Alabama and Auburn University over a video panning over Earth. He also noted that the series was compared to Homestuck and relayed additional comparisons to Thomas Pynchon novels and "a Reddit thread hijacked by robot trolls". The series won the inaugural National Magazine Award for Digital Innovation from the American Society of Magazine Editors; this was the first National Magazine Award nomination and win for SB Nation. It was described by the judges as "an extraordinary combination of art, fiction and technology, an online acid trip that had to be experienced to be believed." It was also longlisted for the Hugo Awards for Best Novella and Best Graphic Story in 2018, ultimately finishing in 11th place in both categories. == Sequel series == On September 28, 2020, a sequel titled 20020 was launched on Secret Base, a branch of SB Nation; on October 13, it was revea
Blackboard system
A blackboard system is an artificial intelligence approach based on the blackboard architectural model, where a common knowledge base, the "blackboard", is iteratively updated by a diverse group of specialist knowledge sources, starting with a problem specification and ending with a solution. Each knowledge source updates the blackboard with a partial solution when its internal constraints match the blackboard state. In this way, the specialists work together to solve the problem. The blackboard model was originally designed as a way to handle complex, ill-defined problems, where the solution is the sum of its parts. == Metaphor == The following scenario provides a simple metaphor that gives some insight into how a blackboard functions: A group of specialists are seated in a room with a large blackboard. They work as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution. The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply their expertise, the second specialist records their contribution on the blackboard, hopefully enabling other specialists to then apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved. == Components == A blackboard-system application consists of three major components The software specialist modules, which are called knowledge sources (KSs). Like the human experts at a blackboard, each knowledge source provides specific expertise needed by the application. The blackboard, a shared repository of problems, partial solutions, suggestions, and contributed information. The blackboard can be thought of as a dynamic "library" of contributions to the current problem that have been recently "published" by other knowledge sources. The control shell, which controls the flow of problem-solving activity in the system. Just as the eager human specialists need a moderator to prevent them from trampling each other in a mad dash to grab the chalk, KSs need a mechanism to organize their use in the most effective and coherent fashion. In a blackboard system, this is provided by the control shell. === Learnable Task Modeling Language === A blackboard system is the central space in a multi-agent system. It's used for describing the world as a communication platform for agents. To realize a blackboard in a computer program, a machine readable notation is needed in which facts can be stored. One attempt in doing so is a SQL database, another option is the Learnable Task Modeling Language (LTML). The syntax of the LTML planning language is similar to PDDL, but adds extra features like control structures and OWL-S models. LTML was developed in 2007 as part of a much larger project called POIROT (Plan Order Induction by Reasoning from One Trial), which is a Learning from demonstrations framework for process mining. In POIROT, Plan traces and hypotheses are stored in the LTML syntax for creating semantic web services. Here is a small example: A human user is executing a workflow in a computer game. The user presses some buttons and interacts with the game engine. While the user interacts with the game, a plan trace is created. That means the user's actions are stored in a logfile. The logfile gets transformed into a machine readable notation which is enriched by semantic attributes. The result is a textfile in the LTML syntax which is put on the blackboard. Agents (software programs in the blackboard system) are able to parse the LTML syntax. == Implementations == We start by discussing two well known early blackboard systems, BB1 and GBB, below and then discuss more recent implementations and applications. The BB1 blackboard architecture was originally inspired by studies of how humans plan to perform multiple tasks in a trip, used task-planning as a simplified example of tactical planning for the Office of Naval Research. Hayes-Roth & Hayes-Roth found that human planning was more closely modeled as an opportunistic process, in contrast to the primarily top-down planners used at the time: While not incompatible with successive-refinement models, our view of planning is somewhat different. We share the assumption that planning processes operate in a two-dimensional planning space defined on time and abstraction dimensions. However, we assume that people's planning activity is largely opportunistic. That is, at each point in the process, the planner's current decisions and observations suggest various opportunities for plan development. The planner's subsequent decisions follow up on selected opportunities. Sometimes, these decision-sequences follow an orderly path and produce a neat top-down expansion as described above. However, some decisions and observations might also suggest less orderly opportunities for plan development. A key innovation of BB1 was that it applied this opportunistic planning model to its own control, using the same blackboard model of incremental, opportunistic, problem-solving that was applied to solve domain problems. Meta-level reasoning with control knowledge sources could then monitor whether planning and problem-solving were proceeding as expected or stalled. If stalled, BB1 could switch from one strategy to another as conditions – such as the goals being considered or the time remaining – changed. BB1 was applied in multiple domains: construction site planning, inferring 3-D protein structures from X-ray crystallography, intelligent tutoring systems, and real-time patient monitoring. BB1 also allowed domain-general language frameworks to be designed for wide classes of problems. For example, the ACCORD language framework defined a particular approach to solving configuration problems. The problem-solving approach was to incrementally assemble a solution by adding objects and constraints, one at a time. Actions in the ACCORD language framework appear as short English-like commands or sentences for specifying preferred actions, events to trigger KSes, preconditions to run a KS action, and obviation conditions to discard a KS action that is no longer relevant. GBB focused on efficiency, in contrast to BB1, which focused more on sophisticated reasoning and opportunistic planning. GBB improves efficiency by allowing blackboards to be multi-dimensional, where dimensions can be either ordered or not, and then by increasing the efficiency of pattern matching. GBB1, one of GBB's control shells implements BB1's style of control while adding efficiency improvements. Other well-known of early academic blackboard systems are the Hearsay II speech recognition system and Douglas Hofstadter's Copycat and Numbo projects. Some more recent examples of deployed real-world applications include: The PLAN component of the Mission Control System for RADARSAT-1, an Earth observation satellite developed by Canada to monitor environmental changes and Earth's natural resources. The GTXImage CAD software by GTX Corporation was developed in the early 1990s using a set of rulebases and neural networks as specialists operating on a blackboard system. Adobe Acrobat Capture (now discontinued), as it used a blackboard system to decompose and recognize image pages to understand the objects, text, and fonts on the page. This function is currently built into the retail version of Adobe Acrobat as "OCR Text Recognition". Details of a similar OCR blackboard for Farsi text are in the public domain. Blackboard systems are used routinely in many military C4ISTAR systems for detecting and tracking objects. Another example of current use is in Game AI, where they are considered a standard AI tool to help with adding AI to video games. == Recent developments == Blackboard-like systems have been constructed within modern Bayesian machine learning settings, using agents to add and remove Bayesian network nodes. In these 'Bayesian Blackboard' systems, the heuristics can acquire more rigorous probabilistic meanings as proposal and acceptances in Metropolis Hastings sampling though the space of possible structures. Conversely, using these mappings, existing Metropolis-Hastings samplers over structural spaces may now thus be viewed as forms of blackboard systems even when not named as such by the authors. Such samplers are commonly found in musical transcription algorithms for example. Blackboard systems have also been used to build large-scale intelligent systems for the annotation of media content, automating parts of traditional social science research. In this domain, the problem of integrating various AI algorithms into a single intelligent system arises spontaneously, with blackboards providing a way for a collection of distributed, modular natural language processing algorithm
Path tracing
Path tracing is a rendering algorithm in computer graphics that simulates how light interacts with objects and participating media to generate realistic (physically plausible) images. It is based on earlier, more limited, ray tracing algorithms. Path tracing is used to create photorealistic images for artistic purposes, and for applications such as architectural rendering and product design. It is also used to render frames for animated films, and visual effects for film and television. Because it can be very accurate and unbiased, it is commonly used to generate reference images when testing the quality of other rendering algorithms. The technique uses the Monte Carlo method to compute estimates of global illumination and simulate the ways different materials reflect (or scatter), transmit, absorb, and emit light. It can incorporate simple modeling of the effects of aperture and lens (depth of field, and bokeh) and shutter speed (motion blur), or more realistic simulation of the optical components in a camera. The algorithm works by describing illumination in a scene using the rendering equation, or light transport equation, and finding an approximate solution using Monte Carlo integration. An inefficient (but accurate) version of the algorithm can be very simple, and involves tracing a ray from the camera, allowing this ray to bounce in random directions as it hits different objects in the scene, and computing the amount of light transmitted along the path to the camera whenever the path encounters a light source. This process is repeated many times for each pixel (each repetition, with generated path and transmitted light, is called a sample), and the results are averaged. One main difference between this algorithm and standard ray tracing is that a single unbranching path is traced each time, while "Whitted-style" or "Cook-style" ray tracing recursively samples branching paths (e.g. when light is both reflected and refracted by a glass object). More practical versions incorporate improvements such as quasi-Monte Carlo methods (techniques that distribute samples more evenly), importance sampling (take more samples of paths that are likely to transport more light), and next event estimation (allow a very limited form of branching, and sample additional paths that connect to the lights more directly). Because path tracing uses random samples there is noise in the final image, which decreases as more samples are taken. Images commonly require many thousands of samples per pixel (spp) to reduce noise to an acceptable level, and denoising techniques (e.g. based on neural networks) are often used. Denoising is usually necessary when path tracing is used for real-time rendering in video games, because relatively few samples can be taken. Many alternative algorithms for path tracing have been developed, although they do not always outperform more straightforward implementations. These include bidirectional path tracing (which traces paths forwards from the light source as well as backwards from the camera), Metropolis light transport, and ways of combining path tracing with photon mapping. Video games often use biased versions of path tracing to improve performance (e.g. limiting the number of bounces in each path). A family of techniques called ReSTIR has been developed that can help real-time path tracing by sharing data between nearby pixels and consecutive frames. == History == Like all ray tracing methods, path tracing is based on ray casting, which Arthur Appel used for computer graphics rendering in the late 1960s. In 1980, John Turner Whitted published a recursive ray tracing algorithm that allows rendering images of scenes containing mirrored surfaces and refractive transparent objects. In 1984, Cook et al. described a form of ray tracing called distributed ray tracing, which uses Monte Carlo integration to render effects such as depth of field, motion blur, reflection from rough surfaces, and area lights. The same year, the radiosity method (not a ray tracing method) was published, which was the first physically based method for rendering diffuse global illumination. In 1986, Jim Kajiya published a paper exploring how to use distributed ray tracing to render physically-based global illumination, and this paper also introduced and named the method called "path tracing". Path tracing and other distributed ray tracing techniques were further refined in the late 1980s and early 1990s by researchers such as James Arvo and Peter Shirley, and by Greg Ward in the open source Radiance software. Despite being theoretically able to render any lighting, the original form of path tracing can sometimes be very inefficient (or noisy) for rendering light that is reflected or refracted before illuminating a visible surface, including diffuse global illumination where light enters an area through narrow gaps, because it traces paths only from the camera. To address this, variations of path tracing that trace paths from both the camera and from light sources, called bidirectional path tracing, were published in 1993 by Eric Lafortune and Yves Willems, and in 1997 by Eric Veach and Leonidas Guibas. In 1997 Veach and Guibas also published an alternative method called Metropolis light transport, which combines bidirectional path tracing with the Metropolis method. Veach's lengthy Ph.D. dissertation described both techniques, along with the theoretical background of path tracing; later, the book Physically Based Rendering (which won an Academy Award for Technical Achievement in 2014) helped to make information about path tracing more widely available. Path tracing requires tracing a large number of paths of light in order to produce an image with a visually acceptable amount of noise. This made path tracing very slow on computers available in the 1980s and 1990s, and noise remained a problem when trying to reproduce the style of earlier computer graphics animated films. Most animated films produced until around 2010, by studios such as Pixar, used rasterization-based rendering, with ray tracing used selectively for reflections (and later for precomputed or cached global illumination). However the speed of computers rapidly increased during the 1990s. Blue Sky Studios pioneered using Monte Carlo ray tracing for global illumination in animation, including in the 1998 short film "Bunny", but they did not disclose the precise techniques used. Path tracing gradually become more practical for film production in the early 2000s. The Arnold renderer, developed by Marcos Fajardo, was used by Sony Pictures Imageworks to produce the feature-length film Monster House, released in 2006. Pixar rewrote their RenderMan software to use path tracing, and released their first feature-length path-traced film Finding Dory in 2016. Although path tracing still had a large computational cost, animation studios discovered that less human labor was required when using it, for example because global illumination no longer needed to be faked by manually placing lights. The amount of noise present in path traced images still caused difficulties, particularly when rendering motion blur (which was used extensively by earlier animated films) but denoising techniques were developed to address this. New techniques were also needed for rendering hair and fur, and to handle the extremely large scenes sometimes required by films. Renderers such as Arnold, and Disney's Hyperion, originally only used CPUs for rendering, but as GPUs became more capable (and APIs such as CUDA, OpenCL, and OptiX were released) researchers and developers began adapting algorithms and implementations to use GPUs. GPUs can dramatically reduce rendering time: for example using a high-end GPU to accelerate portions of the rendering code can make it over 30 times faster than using only a high-end CPU. == Description == Kajiya's 1986 paper defined a recursive integral equation called the rendering equation, which describes a simplified form of light transport. Using Monte Carlo integration for the integral on the right side of the equation leads fairly directly to the path tracing algorithm: I ( x , x ′ ) = g ( x , x ′ ) [ ϵ ( x , x ′ ) + ∫ S ρ ( x , x ′ , x ″ ) I ( x ′ , x ″ ) d x ″ ] {\displaystyle I(x,x')=g(x,x')\left[\epsilon (x,x')+\int _{S}\rho (x,x',x'')I(x',x'')dx''\right]} This expresses I(x,x'), the light arriving at point x from point x', as the product of a geometry term, g(x,x'), which is 0 if there is something blocking the light between the two points and 1 otherwise, and the amount of light leaving point x' and traveling towards x. The light leaving point x' is the sum of the light emitted by the surface at x', and the integral of the light arriving at x' from all other points in the scene (the integration domain S) and being reflected towards x. The factor ρ(x,x',x''), which calculates how much light is reflected, must take into account the angles at which the light is arriving and leaving, and
Computer-assisted legal research
Computer-assisted legal research (CALR) or computer-based legal research is a mode of legal research that uses databases of court opinions, statutes, court documents, and secondary material. Electronic databases make large bodies of case law easily available. Databases also have additional benefits, such as Boolean searches, evaluating case authority, organizing cases by topic, and providing links to cited material. Databases are available through paid subscription or for free. Subscription-based services include Westlaw, LexisNexis, JustCite, HeinOnline, Bloomberg Law, Lex Intell, VLex and LexEur. As of 2015, the commercial market grossed $8 billion. Free services include OpenJurist, Google Scholar, AltLaw, Ravel Law, WIPO Lex, Law Delta and the databases of the Free Access to Law Movement. == Purposes == Computer-assisted legal research is undertaken by a variety of actors. It is taught as a topic in many law degrees and is used extensively by undergraduate and postgraduate law students in meeting the work requirements of their degree courses. Professors of Law rely on the digitization of primary and secondary sources of law when conducting their research and writing the material that they submit for publication. Professional lawyers rely on computer-assisted legal research in order to properly understand the status of the law and so to act effectively in the best interest of their client. They may also consult the text of case judgements and statutes specifically, as well as wider academic comment, in order to form the basis of (or response to) an appeal. The availability of legal information online differs by type, jurisdiction and subject matter. The types of information available include: Texts of statutes, statutory instruments, civil codes, etc. Explanatory notes and government publications relating to statutes and their operation Texts of governing documents such as constitutions and treaties Case judgements Journals on legal matters or legal theory Dictionaries and legal encyclopedia Legal texts and materials in the form of e-books Current affairs and market information Educational information on the law and its operation == Before the Internet == Prior to the advent and popularization of the World Wide Web, access to digital legal information was largely through the use of CD-ROMs, designed and sold by commercial organizations. Dial-up services were also available from the 1970s. As the use of the Internet spread in the early 1990s, companies such as LexisNexis and Westlaw incorporated Internet connectivity into their software packages. Browser-based legal information started to be published by Legal Information Institutes from 1992. == Publicly available information == The first effort to provide free computer access to legal information was made by two academics, Peter Martin and Tom Bruce, in 1992. Today, the Legal Information Institute freely publishes such resources as the text of the United States Constitution, judgements of the United States Supreme Court, and the text of the United States Code. The Australasian Legal Information Institute (AusLII) was established soon after in 1995. Other legal information institutes, such as those of Great Britain and Ireland (BAILII), Canada (CII) and South Africa (SAfLI) soon followed. LIIs were partially formalized in 2002 following the signing of the Declaration of Free Access to the Law, which has been signed by 54 countries. At the time of writing, the World Legal Information Institute contains in excess of 1800 databases from 123 jurisdictions. Many governments also publish legal information online. For example, UK legislation and statutory instruments have been publicly available online since 2010. Depending on the jurisdiction in question, the decisions of higher appellate courts may also be published online, either by the Legal Information Institute or by the court service directly. Sources of European Union Law are published for free by EUR-Lex in 23 languages, including judgments of the European Courts. Similarly, judgements of the European Court of Human Rights are published on its website.