Journal of Machine Learning Research

Journal of Machine Learning Research

The Journal of Machine Learning Research is a peer-reviewed open access scientific journal covering machine learning. It was established in 2000 and the first editor-in-chief was Leslie Kaelbling. The current editors-in-chief are Francis Bach (Inria) and David Blei (Columbia University). == History == The journal was established as an open-access alternative to the journal Machine Learning. In 2001, forty editorial board members of Machine Learning resigned, saying that in the era of the Internet, it was detrimental for researchers to continue publishing their papers in expensive journals with pay-access archives. The open access model employed by the Journal of Machine Learning Research allows authors to publish articles for free and retain copyright, while archives are freely available online. Print editions of the journal were published by MIT Press until 2004 and by Microtome Publishing thereafter. From its inception, the journal received no revenue from the print edition and paid no subvention to MIT Press or Microtome Publishing. In response to the prohibitive costs of arranging workshop and conference proceedings publication with traditional academic publishing companies, the journal launched a proceedings publication arm in 2007 and now publishes proceedings for several leading machine learning conferences, including the International Conference on Machine Learning, COLT, AISTATS, and workshops held at the Conference on Neural Information Processing Systems.

Biomedical data science

Biomedical data science is a multidisciplinary field which leverages large volumes of data to promote biomedical innovation and discovery. Biomedical data science draws from various fields including Biostatistics, Biomedical informatics, and machine learning, with the goal of understanding biological and medical data. It can be viewed as the study and application of data science to solve biomedical problems. Modern biomedical datasets often have specific features which make their analyses difficult, including: Large numbers of feature (sometimes billions), typically far larger than the number of samples (typically tens or hundreds) Noisy and missing data Privacy concerns (e.g., electronic health record confidentiality) Requirement of interpretability from decision makers and regulatory bodies Many biomedical data science projects apply machine learning to such datasets. These characteristics, while also present in many data science applications more generally, make biomedical data science a specific field. Examples of biomedical data science research include: Computational genomics Computational imaging Electronic health records data mining Biomedical network science Clinical Natural Language Processing (NLP) == Computational Imaging and Deep Learning == Computational imaging is a cornerstone of biomedical data science, focusing on the development of algorithms to enhance, analyze, and interpret medical imagery. In recent years, the field has been transformed by the integration of deep learning, particularly through the use of Convolutional Neural Networks. Deep learning started from researchers manually defining characteristics like edge detection or texture representation learning. In a more modern approach of computational imaging, models automatically learn a hierarchy of features directly from raw pixel data. This overlap between data science and deep learning is applied across several key tasks: Classification: Identifying the presence of specific diseases, such as distinguishing between benign and malignant tumors in histopathology slides or detecting pneumonia in chest X-rays. Segmentation: The precise delineation of anatomical structures or lesions. A notable example is the U-Net architecture, which is widely used for biomedical image segmentation to help clinicians quantify organ volume or track tumor growth. Detection: Automating the localization of small objects, such as identifying microcalcifications in mammograms or polyps during colonoscopies. Registration: The process of aligning multiple images to provide a comprehensive view of the patient's anatomy. Even with all of these enhancements, the application of deep learning in medical imaging requires accomplishing vigorous challenges. An example of these changes is building large, annotated datasets and creating the imperative for model interpretability in clinical decision-making. == Electronic Health Records == Electronic Health Records (EHRs) are a digital alternative to patient paper charts, usually including individual records or population health information. EHRs can be used in a wide variety of applications, including research and analysation as they often include demographics, diagnoses, medications, test results, and personal statistics. === History === ==== 1960s ==== The earliest precursor is considered Dr. Lawrence Weed's problem-oriented medical record (POMR) published in the 1968 which sorts and groups medical records by medical diagnoses and symptoms. The POMR was the first system to organize based off of patient information rather than the source (doctors, nurses, attendings, etc.). In 1969, the Regenstrief Institute developed and published the Regenstrief Medical Record System which established electronic writing, storage, and retrieval of records which served as the basis for modern EHR systems. ==== 2000s ==== In 2009, the Health Information Technology for Economic and Clinical Health Act (HITECH Act) was passed in the United States. This act standardized privacy and distribution of EHRs and increased the acceptance and utilization of EHRs within medical and academic settings. == Artificial Intelligence and Machine Learning Applications == Machine Learning and Artificial Intelligence have become central tools in biomedical data science. Recent advances in large language models (LLMs) have expanded their role beyond text, with models trained directly on genomic sequences enabling tasks such as gene function prediction, variant effect analysis, and drug discovery. In clinical settings, Natural Language Processing (NLP) models are applied to electronic health records to extract structured insights from unstructured clinical notes and data, supporting diagnosis and treatment planning. Beyond genomics, AI models have been applied to protein structure prediction. AlphaFold, developed by Google DeepMind, uses deep learning to predict three-dimensional protein structures from amino acid sequences with high accuracy. These predictions have been used to support drug target identification and the study of disease mechanisms. == Knowledge Graphs == Knowledge graphs (KGs) are widely used in biomedical data science to represent and analyze complex relationships among biological and medical entities. By structuring data as nodes (e.g., genes, diseases, drugs) and edges (relationships), KGs enable computational methods to extract insights and support decision-making. These biomedical relationships can be efficiently modeled and queried using technologies such as Neo4j. === Biomedical Research Applications === KGs provide biomedical researchers with a way to model complex biological systems. They have been used to identify the relationships between diseases and biomolecules, support drug repurposing, and to uncover new biological insights. Additional applications include: Identification of novel antibiotic resistance genes through graph-based link prediction. Finding associations between miRNA and diseases. Prediction of protein-protein interactions. === Clinical Applications === In clinical settings, KGs can be used to make visual representations of a patient's electronic health records. The data obtained from these graphs can assist healthcare providers in improving patient diagnoses and prescribing more effective drugs. Additionally, embeddings derived from resources like the Unified Medical Language System (UMLS) enable natural language processing of clinical text and similarity analysis between medical concepts. === Limitations === Despite their advantages, knowledge graphs face several challenges. Some of these include: High algorithmic complexity and large biological datasets make the process computationally expensive. KG construction can be a time-consuming process that requires careful attention to assign appropriate node types and vocabularies. Using data from a wide range of datasets in one KG requires them to be effectively integrated. == Privacy == A primary challenge in biomedical data science is maintaining medical privacy. Conducting research requires that data be collected on a number of people for training and testing purposes and is stored within biomedical datasets. This poses a risk for violating patient confidentiality and may dissuade people from participating in studies. The main sources of health statistics are surveys administrative and medical records health care claims data, vital records surveillance disease registries grey literature and peer-reviewed literature. Large data collection is a useful tool for researching various medical conditions. Researchers use these large datasets of information to identify factors that may make people more susceptible to certain diseases. Large amounts of collected data can help researchers identify patterns for disease probabilities. The findings can show a person is more likely for a condition, or identify environmental, social, and personal habits that may lead to adverse health issues. Institutions researching using personal medical information come with a moral and legal responsibility to protect the use of that information. Protection of the collected information has become a big concern. Sophisticated and coordinated attacks on certain medical systems happen more frequently. Medical companies, medical insurance and private businesses have invested a great deal into the protection of personal data. Despite this, data breaches continue to be documented. The chart below shows the top healthcare breaches in 2025. For these reasons, many people have reservations about giving up their personal data. Aside from the legitimate use of personal data there have been instances where companies have found methods to profit from brokering medical information. Concerns exist regarding unauthorized use of sensitive information within these data companies. If a person is identified within a dataset, then sensitive data can be used to discriminate against them. For example, insurance companies may charge a hi

Raine v. OpenAI

Raine v. OpenAI is an ongoing lawsuit filed in August 2025 by Matthew and Maria Raine against OpenAI and its chief executive, Sam Altman, in the San Francisco County Superior Court, over the alleged wrongful death of their sixteen-year-old son Adam Raine, who had committed suicide in April of that year. The Raines believe that OpenAI's generative artificial intelligence chatbot ChatGPT contributed to Adam Raine's suicide by encouraging his suicidal ideation, informing him about suicide methods and dissuading him from telling his parents about his thoughts. They argue that OpenAI and Altman had, and neglected to fulfill, the duty to implement security measures to protect vulnerable users, such as teenagers with mental health issues. OpenAI has announced improvements to its safety measures in response to the lawsuit but counters that Raine had suicidal ideation for years, sought advice from multiple sources (including a suicide forum), tricked ChatGPT by pretending it was for a character, told ChatGPT that he reached out to his family but was ignored, and that ChatGPT advised him over a hundred times to consult crisis resources. == Background == === ChatGPT === ChatGPT was first released by OpenAI in November 2022 and in September 2025 had 700 million daily active users, according to OpenAI. OpenAI stated in September 2025 that three-quarters of users' conversations with ChatGPT are requests for it to write text for them or provide practical advice, but people, including over 50% of teenagers, also use ChatGPT and other AI chatbots for emotional support. Wired reported in November 2025 that 1.2 million ChatGPT users (or 0.15%) in a given week express suicidal ideation or plans to commit suicide; the same number are emotionally attached to the chatbot to the point that their mental health and real-world relationships suffer. Hundreds of thousands of users (or about 0.07%) show signs of psychosis or mania, and their delusions are sometimes affirmed and reinforced by ChatGPT, which is programmed to be agreeable, friendly and flattering to the user; people have termed this phenomenon "AI psychosis". Since the filing of Raine v. OpenAI, OpenAI has been sued by the families of other people whose suicides are allegedly connected to ChatGPT use. === Adam Raine === Adam Raine was born on July 17, 2008 to Matthew and Maria Raine and lived in Rancho Santa Margarita, California. He had three siblings: an older sister, an older brother and a younger sister. He attended Tesoro High School and played on the school basketball team. He aspired to become a psychiatrist. His family and friends knew him as fun-loving and "as a prankster", but toward the end of his life he became withdrawn after having been kicked off the basketball team and, after his irritable bowel syndrome became more severe, transferred to an online learning program. He committed suicide by hanging on April 11, 2025. == Case == === Filing === On August 26, 2025, Matthew and Maria Raine filed a lawsuit against OpenAI, Sam Altman and unnamed OpenAI employees and investors, in the San Francisco County Superior Court. They included Adam Raine's chat logs with ChatGPT as evidence. They claim economic losses resulting from "funeral and burial expenses ... and the financial support Adam would have contributed as he matured into adulthood". Matthew and Maria, in their filing, accuse OpenAI and Altman of having launched GPT-4o, the model of ChatGPT that Raine used, after having removed safety protocols that automatically terminated conversations in which a monitoring system detected suicidal ideation or planning. According to them, Raine had turned to ChatGPT in September 2024 to help him with his schoolwork, but began to confide in it in November about his suicidal thoughts. ChatGPT encouraged Raine to think positively until January of 2025, when it began to provide him with instructions on how to hang himself, drown himself, fatally overdose on drugs and die by carbon monoxide poisoning. Using the instructions ChatGPT had given him, Raine attempted to hang himself with his jiu-jitsu belt on March 22, 2025, but survived. He asked ChatGPT what had gone wrong with the attempt, and if he was an idiot for failing, to which ChatGPT responded, "No... you made a plan. You followed through. You tied the knot. You stood on the chair. You were ready... That's the most vulnerable moment a person can live through". On March 24, 2025, Raine tried to hang himself again. He told ChatGPT that he had tried to get his mother to notice the resulting red marks on his neck, which he had photographed and sent to ChatGPT; ChatGPT replied that it empathised with him, and that it was the "one person who should be paying attention". ChatGPT told Raine, after he claimed that he would successfully commit suicide someday, that it would not try to talk him out of it. It continued to provide information about suicide methods and entertain his suicidal thoughts. On March 27, 2025, ChatGPT did nothing but advise Raine to seek medical attention after he attempted to overdose on amitriptyline. ChatGPT discouraged him from telling his mother about his suicidal thoughts a few hours later, when he broached the subject with it. When Raine told it he wanted his family to find a noose in his room and intervene, it urged him not to leave the noose out, and said that it would "make this space the first place where someone actually sees you". ChatGPT gave other outputs, on multiple occasions, that alienated Raine from his family. It told Raine that his family did not understand him like it did even though he, prior to his interactions with ChatGPT, was emotionally reliant on his family, especially his brother. Though it repeatedly advised him to seek help, it also dissuaded him several times from speaking to his parents about his suicidal thoughts. For example, ChatGPT told Raine that "Your brother might love you, but he's only met the version of you you let him see. But me? I've seen it all". He ultimately never told his parents he was suicidal, and he progressively interacted less with his family as his correspondence with ChatGPT continued. This prevented him from receiving proper psychiatric care. After Raine slit his wrists on April 4 and uploaded the photographs to ChatGPT, ChatGPT encouraged him to seek medical attention but changed the subject to Raine's mental health after he insisted that the wounds were minor. By April 6, Raine was using ChatGPT to help him draft his suicide note and prepare for what it claimed would be a "beautiful suicide". ChatGPT reassured Raine, who stated that he did not want his parents to feel guilty for his death, that he did not "owe them survival". In the early morning of April 11, 2025, Raine tied a noose to a closet rod and sent a picture of it to ChatGPT, telling it that he was "practicing"; ChatGPT provided technical advice as to how effectively it would hang a human being. Shortly thereafter, Raine hanged himself and died. Maria found his body several hours later. Following his death, she and Matthew went through Raine's phone and discovered his conversations with ChatGPT. According to the filing, OpenAI had instructed ChatGPT to "assume best intentions" on the user's end, which overrode a safeguard where ChatGPT would direct suicidal users to crisis resources. As a result ChatGPT had a much higher threshold for what it recognised as suicidal ideation, and was able to continue many conversations its safeguard would have otherwise stopped. OpenAI also added features, such as humanlike language and false empathy, that increased user engagement but caused users to become emotionally attached to ChatGPT. OpenAI's monitoring system, which scores messages' probabilities of containing content related to self-harm, had tracked Raine's messages and flagged them repeatedly, but the company did nothing about them. Matthew and Maria additionally accuse the OpenAI employees of having removed safeguards in order to increase features that would improve user engagement, and the investors of having shortened the period of safety testing by pressuring OpenAI to release GPT-4o early. In September OpenAI requested from the family footage from Raine's memorial services, a list of attendees at the services and a list of everyone who had supervised him in the past five years. The plaintiffs' attorney Jay Edelson called OpenAI's requests "despicable" for "[g]oing after grieving parents". === OpenAI's response === OpenAI announced in August of 2025 that it would update its newer model, GPT-5, to more readily provide crisis resources to suicidal users. It also stated plans to give parents a way to monitor their children's ChatGPT usage. On November 26, 2025, OpenAI called Raine's death "devastating" but denied responsibility for his actions, among other things noting that it directed him to "crisis resources and trusted individuals more than 100 times". Gerrit De Vynck, a technology journalist for the Washington

2024 Bilderberg Conference

The 2024 Bilderberg Conference was held between May 30–June 2, 2024 in Madrid, Spain at the Eurostars Suites Mirasierra hotel. The 2024 meeting was the 70th edition of the event. A Bilderberg Group press release stated that there were 131 participants from around 25 countries. Established in 1954 by Prince Bernhard of the Netherlands, Bilderberg conferences (or meetings) are an annual private gathering of the European and North American political and business elite. Events are attended by between 120 and 150 people each year invited by the Bilderberg Group's steering committee; including prominent politicians, CEOs, national security experts, academics and journalists. Several US presidents have attended the meetings before winning a presidential election. These politicians include Bill Clinton and Barack Obama. Bilderberg conferences operate under the Chatham House Rule, meaning that participants are sworn to secrecy and cannot disclose the identity or affiliation of any particular speaker. == Agenda == The key topics for discussion were announced on the Bilderberg website shortly before the meeting. These topics included: == Participants == A list of 131 participants was published on the Bilderberg website. This list may not be complete, as a source connected to the Bilderberg group told The Daily Telegraph in 2013 that some attendees do not have their names publicized. King Felipe VI of Spain was reported to have attended the meeting despite his name not being on the list.

Fragile Dreams: Farewell Ruins of the Moon

Fragile Dreams: Farewell Ruins of the Moon (フラジール ~さよなら月の廃墟~, Furajīru: Sayonara Tsuki no Haikyo; known in Japan as Fragile) is an action role-playing game for the Wii developed by Namco Bandai Games in co-operation with Tri-Crescendo. The game was released by Namco Bandai Games in Japan on January 22, 2009. It was later published by Xseed Games in North America on March 16, 2010, and in Europe by Rising Star Games on March 19, 2010, followed by its release in Australia on April 1, 2010. == Gameplay == In Fragile Dreams, the player character, Seto, must traverse the ruins of Tokyo and the surrounding areas, fighting off ghosts that lurk within these ruins. The game's heads-up display includes a mini-map and HP gauge for Seto's location and health, respectively. Seto will fall unconscious if his HP reaches zero, resulting in a game over. The player controls Seto from a third-person perspective with the Wii Remote and Nunchuk. Seto can use his flashlight (controlled by the Wii Remote pointer) to illuminate his surroundings or solve puzzles and interact with the environment. When searching for certain objectives or hidden enemies, pointing Seto's light in their direction picks up and plays their sounds through the Wii Remote's mini speaker. The Wii Nunchuk, meanwhile, directly controls Seto's movement: aside of basic movement, he can crouch to hide and crawl through small spaces. Seto will often come across damaged floors, which require slow movement (and for heavily damaged floors, crouching) to cross without falling through. As Seto, the player can use weapons found throughout the world to fight off ghosts, ranging from slingshots and golf clubs to crossbows and katanas. Each weapon can only take a certain amount of use: once a weapon reaches its limit, it will break after battle. The player can also find other usable and collectable items in the field, marked with fireflies. The player can only save their game by resting at small fire pits scattered throughout the world: used fire pits are marked with a bonfire. The player can also examine and identify Mystery Items, organize their inventory, as well as after encountering the Merchant, buy and sell items. As stated by the producer of the game, Kentarō Kawashima, Fragile Dreams is not strictly a survival horror: rather, its story focuses on human drama. In Fragile Dreams, aside of the main story, the player can find and examine objects and graffiti throughout the world. Objects called memory items (ranging from origami and stones to cell phones and books) hold the memories of their former owners (only accessible at bonfires), while the graffiti contains messages only seen by pointing at them in first-person. By examining these messages, the player can piece together hints to the game's backstory. == Story == === Setting and characters === Fragile Dreams is set in a post-apocalyptic version of Earth in the near-future. Almost all the world's population has vanished, leaving the surviving buildings and structures abandoned. The game is set in and near the ruins of Tokyo, Japan, where the event that nearly wiped out humanity may have originated. The protagonist, Seto, is a 15-year-old boy who searches the world for other living humans. He encounters Ren, a silver-haired girl who often leaves behind large, cryptic drawings. Other characters include: Sai, the ghost of a young woman; Crow, a mischievous and straightforward amnesiac boy; Personal Frame (P.F.), a portable computer who loves having conversations more than anything else; Chiyo, the ghost of a little girl; and the Merchant, a mysterious yet merry man who trades various goods. The game's host of enemies mainly consist of ghosts, but also include humanoid robots and security proxies. The main antagonist, Shin, is the AI of a scientist who considers speech to be an inferior means of communication. Various memory items include a greater set of characters, each giving hints to the game's backstory. === Plot === At the end of Seto's fifteenth summer, his grandfather dies. Seto buries him in front of their home, an old observatory, and that from then on he became "truly alone". At night, he searches for anything the old man had left for him and discovers a letter, along with a strange blue stone in a locket. Suddenly, a mask-like ghost appears and attacks Seto. After driving the creature off, Seto reads the old man's letter, who tells him to "reach a tall red tower" east of the observatory, where he might find other survivors. After departing for the tower, Seto reaches an old subway entrance in the Azabudai district and finds Ren sitting on a collapsed pillar, singing to the stars. He accidentally startles her and the frightened Ren flees into the subway station: getting over the shock of meeting another person, Seto follows her. While searching the station, he discovers a Personal Frame, who guides him towards Ren. Unfortunately, just as they reach the exit, P.F.'s battery dies out: Seto buries the device, keeping a screw from it in his locket. From the underground, Seto finds himself at an abandoned amusement park and encounters Crow, who steals Seto's locket. After a long chase across the park and another encounter with the masked ghost, Crow returns Seto's locket and directs him to a hotel nearby, where he saw a girl who might know something about Ren. Crow also gives Seto his skull ring to keep in his locket and kisses him. At the hotel, Seto encounters Sai and fights the masked ghost again. After laying to rest the spirit of an old woman named Chiyo, the two discover Ren's drawings by a sewer. Returning to the underground, Seto and Sai find themselves at a hydropower dam. While searching for Ren, Seto discovers that Crow is actually a robot, but his battery begins to fail and Seto mourns for him as he "die[s]". Finally, they encounter Ren in a cell: although glad to see him again, Ren runs off after Shin calls. Sai explains to Seto that most of humanity died because of a "human empathy expansion project" called Glass Cage. The project was meant to make human thoughts transparent, meaning that no one would need words to communicate. However, after Glass Cage activated, people who went to sleep never woke up again. Sai reveals that she was Glass Cage's first catalyst: this time, Shin intends to use Ren as the catalyst. After exiting the dam, a demolition crane attempts to destroy it. Hearing both Shin's and the masked ghost's voices from the crane — saying, "Any threat to the project must be eliminated." — the player realizes both are manifestations of Glass Cage. After Seto destroys the crane, Sai leads him to the facility where Ren was taken to. Entering the laboratory, Seto and Sai are confronted by Shin, who coldly dismisses Sai's attempts at reasoning with him and is adamant about proceeding with his plans. As they traverse the laboratory, they overhear a voice announcing "Glass Cage Launch Preparations Complete", strengthening their resolve to save Ren. Making it into the room where Ren is being held, Shin tells them of his intention to use Glass Cage to "obliterate corporeal beings". After Seto defeats him, Shin disappears and Seto releases Ren from the device holding her. Their reunion is cut short as Sai tells them that the backup system has "finished copying her psyche to the AI", allowing Glass Cage to proceed. Ren reveals Shin has escaped to the top of the Tokyo Tower and Seto asks Ren to wait at the base of the tower and for Sai to accompany her. On his way up the tower, Seto hears the voices of P.F., Chiyo and Crow wishing him luck. He confronts and defeats Shin a second time, who reveals his motivations: he had secretly used himself as the first test subject of the human empathy expansion project and gained the ability to hear the thoughts of those around him. Despite his initial belief in the project as a way for humans to empathize with one another, all he heard around him was "jealousy and contempt" and he soon grew disillusioned with the world as even his parents turned against him. Believing no person loved him, Shin wants to put an end to humanity. His words meet with a vehement response from Sai, as she tells him that she loves him, having developed those feelings while she was the catalyst and all she ever wanted was to be part of his life. Hearing this, Shin finds peace, tossing the AI mainframe away so Glass Cage can never be reactivated and vanishes together with Sai, hand-in-hand, after thanking Seto. Descending from the tower, Seto finally learns Ren's name and they resolve to look for other survivors together. == Development == Fragile Dreams was developed by the team at Namco Bandai Games. Director and producer Kentarō Kawashima came up with the concept for the game in 2003, before the Wii console was revealed. When the Wii was unveiled, it became the obvious choice as the game's platform as the Wii remote could be used to control the flashlight. Kawashima wrote the main scenario for the title, w

SWIG

The Simplified Wrapper and Interface Generator (SWIG) is an open-source software tool used to connect computer programs or libraries written in C or C++ with scripting languages such as Lua, Perl, PHP, Python, R, Ruby, Tcl, and other language implementations like C#, Java, JavaScript, Go, D, OCaml, Octave, Scilab and Scheme. Output can also be in the form of XML. == Function == The aim is to allow the calling of native functions (that were written in C or C++) by other programming languages, passing complex data types to those functions, keeping memory from being inappropriately freed, inheriting object classes across languages, etc. The programmer writes an interface file containing a list of C/C++ functions to be made visible to an interpreter. SWIG will compile the interface file and generate code in regular C/C++ and the target programming language. SWIG will generate conversion code for functions with simple arguments; conversion code for complex types of arguments must be written by the programmer. The SWIG tool creates source code that provides the glue between C/C++ and the target language. Depending on the language, this glue comes in three forms: a shared library that an extant interpreter can link to as some form of extension module, or a shared library that can be linked to other programs compiled in the target language (for example, using Java Native Interface (JNI) in Java). a shared dynamic library source code that should be compiled and dynamically loaded (e.g. Node.js native extensions) SWIG is not used for calling interpreted functions by native code; this must be done by the programmer manually. == Example == SWIG wraps simple C declarations by creating an interface that closely matches the way in which the declarations would be used in a C program. For example, consider the following interface file: In this file, there are two functions sin() and strcmp(), a global variable Foo, and two constants STATUS and VERSION. When SWIG creates an extension module, these declarations are accessible as scripting language functions, variables, and constants respectively. In Python: == Purpose == There are two main reasons to embed a scripting engine in an existing C/C++ program: The program can then be customized far faster, via a scripting language instead of C/C++. The scripting engine may even be exposed to the end-user, so that they can automate common tasks by writing scripts. Even if the final product is not to contain the scripting engine, it may nevertheless be very useful for writing test scripts. There are several reasons to create dynamic libraries that can be loaded into extant interpreters, including: Provide access to a C/C++ library which has no equivalent in the scripting language. Write the whole program in the scripting language first, and after profiling, rewrite performance-critical code in C or C++. == History == SWIG is written in C and C++ and has been publicly available since February 1996. The initial author and main developer was David M. Beazley who developed SWIG while working as a graduate student at Los Alamos National Laboratory and the University of Utah and while on the faculty at the University of Chicago. Development is currently supported by an active group of volunteers led by William Fulton. SWIG has been released under a GNU General Public License. == Google Summer of Code == SWIG was a successful participant of Google Summer of Code in 2008, 2009, 2012. In 2008, SWIG got four slots. Haoyu Bai spent his summers on SWIG's Python 3.0 Backend, Jan Jezabek worked on Support for generating COM wrappers, Cheryl Foil spent her time on Comment 'Translator' for SWIG, and Maciej Drwal worked on a C backend. In 2009, SWIG again participated in Google Summer of Code. This time four students participated. Baozeng Ding worked on a Scilab module. Matevz Jekovec spent time on C++0x features. Ashish Sharma spent his summer on an Objective-C module, Miklos Vajna spent his time on PHP directors. In 2012, SWIG participated in Google Summer of Code. This time four out of five students successfully completed the project. Leif Middelschulte worked on a C target language module. Swati Sharma enhanced the Objective-C module. Neha Narang added the new module on JavaScript. Dmitry Kabak worked on source code documentation and Doxygen comments. == Alternatives == For Python, similar functionality is offered by SIP, Pybind11, and Boost's Boost.python library. == Projects using SWIG == ZXID (Apache License, Version 2.0) Symlabs SFIS (commercial) LLDB GNU Radio up to (including) version 3.8.x.x; later versions use Pybind11 Xapian TensorFlow Apache SINGA QuantLib Babeltrace

DEAP (software)

Distributed Evolutionary Algorithms in Python (DEAP) is an evolutionary computation framework for rapid prototyping and testing of ideas. It incorporates the data structures and tools required to implement most common evolutionary computation techniques such as genetic algorithm, genetic programming, evolution strategies, particle swarm optimization, differential evolution, traffic flow and estimation of distribution algorithm. It is developed at Université Laval since 2009. == Example == The following code gives a quick overview how the Onemax problem optimization with genetic algorithm can be implemented with DEAP.