A Vulnerability Discovery Model (VDM) uses discovery event data with software reliability models for predicting the same. A thorough presentation of VDM techniques is available in. Numerous model implementations are available in the MCMCBayes open source repository. Several VDM examples include: Alhazmi-Malaiya: Time based model (Alhazmi-Malaiya Logistic (AML) model) Alhazmi-Malaiya: Effort based model Rescorla: Quadratic Model and Exponential Model Anderson: Thermodynamic Model Kim: Weibull Model Linear Model Hump-Shaped Model Independent and Dependent Model Vulnerability Discovery Modeling using Bayesian model averaging Multivariate Vulnerability Discovery Models
GazoPa
GazoPa was an image search engine that used features from an image to search for and identify similar images which closed in 2011. GazoPa began in TechCrunch50 in 2008 before launching into a state of open beta in 2009. GazoPa branched out and released a flower photo community site called "GazoPa Bloom" in 2010. This site was for exploring flower images and, if users need help identifying a flower, uploading images for other people try to identify them. Both sites closed to the public in 2011 when the company decided to focus on other areas of their business.
AI Action Summit 2025
The Artificial Intelligence (AI) Action Summit (French: Sommet pour l'action sur l'intelligence artificielle or Sommet pour l'action sur l'IA, SAIA) was held at the Grand Palais in Paris, France, from 10 to 11 February 2025. The summit was co-chaired by French President Emmanuel Macron and Indian Prime Minister Narendra Modi. The 2025 AI Action Summit followed the 2023 AI Safety Summit hosted at Bletchley Park in the UK, and the 2024 AI Seoul Summit in South Korea. This series of AI summits continued with the AI Impact Summit in Delhi, which was hosted by India in February 2026. Whereas the 2023 AI Safety Summit was attended by representatives from 29 governments and executives from only a handful of AI companies, over 1,000 participants from more than 100 countries attended the 2025 Paris AI Summit, representing government leaders, international organisations, the academic and research community, the private sector, and civil society. == Background == The First International AI Safety Report was published on 29 January 2025. Commissioned after the Bletchley Park AI Safety Summit, the report focused on the risks and threats posed by general-purpose AI, and was slated for discussion at the Paris summit as part of the "Trust in AI" pillar. Whereas the first summit was focused on the catastrophic risks of AI and their mitigation, the Paris meeting was recast as an "AI Action Summit" emphasising innovation, practical implementation, and potential economic opportunities of AI, while also exploring a broader range of risks including its environmental impact and disruptions to the labour market. In the weeks leading up to the Paris summit, government leaders had also started to rally around "national champions" in AI, partly in response to Chinese AI startup DeepSeek, which had released a new model rivalling OpenAI o1. On Sunday 9 February, French President Emmanuel Macron posted a compilation of AI-generated deepfake video clips of himself on Instagram to help publicise the start of the 2025 AI Action Summit the following day. While acknowledging the humour of the deepfakes, the real Macron states in the video that using artificial intelligence, "we can do some very big things: change healthcare, energy, life in our society". == Proceedings == === Day 1 === In her opening address, French special envoy Anne Bouverot discussed the environmental impact of AI, acknowledging the technology's "current trajectory is unsustainable". General secretary Christy Hoffman of the UNI Global Union said that "AI-driven productivity gains risk turning the technology into yet another engine of inequality, further straining our democracies". Chinese Vice Premier Zhang Guoqing made a speech expressing China's willingness "to work with other countries to promote development, safeguard security, and share achievements in the field of artificial intelligence". Google CEO Sundar Pichai said in his speech that while the rise of AI brings many risks, "The biggest risk is missing out". He discussed Google's long track record of AI research and said that the company is investing further into "deep research" agents that can autonomously search the Internet and compile a full analysis for users. A new coalition, the Robust Open Online Safety Tools (ROOST) initiative, debuted at the summit. Supported by Google, Discord, OpenAI, and Roblox, and incubated at the Institute of Global Politics at Columbia University, the organisation is developing free, open-source tools to detect and report child sexual abuse material (CSAM). In his speech closing the first day, President Emmanuel Macron emphasized that France has the capability to deliver the power required by AI companies, thanks to its production of nuclear energy. While declaring that Europe was "back in the race" for AI, Macron said that the region was "too slow" for investors, and called on the EU to "simplify regulation" and "resynchronize with the rest of the world". === Day 2 === On 11 February 2025, the French government announced its $400 million endowment of Current AI, a new foundation to support the creation of AI "public goods" including high-quality datasets and open-source tools and infrastructure. Launched by President Macron, Current AI is backed by nine governments – Finland, France, Germany, Chile, India, Kenya, Morocco, Nigeria, Slovenia, and Switzerland – plus various philanthropic organisations such as the Omidyar Group and the McGovern Foundation, and private companies such as Google and Salesforce. Another initiative launched at the summit was the Coalition for Sustainable AI. Led by France, the UN Environment Programme (UNEP), and the International Telecommunication Union (ITU), the coalition has the support of 11 countries, five international organisations, and 37 tech companies including EDF, IBM, Nvidia, and SAP. The Summit of Heads of State and Government took place with a plenary session in the Grand Palais. Prime Minister Narendra Modi of India stressed the need to "democratise technology" and "[ensure] access to all, especially in the Global South". Vice President JD Vance of the United States used his speech to warn against "excessive regulation of the AI" which "could kill a transformative sector just as it's taking off". Vance also warned other leaders against cooperating with "authoritarian regimes" on AI, a comment widely interpreted as a reference to China. == Investments == At the summit, the European Union made several announcements related to planned investments supporting AI development. President Ursula von der Leyen of the European Commission launched InvestAI, a €200 billion initiative, including €20 billion to build four AI gigafactories to train highly complex, very large models. In addition, a coalition of more than 60 European companies launched the EU AI Champions Initiative. Led by venture capital firm General Catalyst, the coalition plans to invest €150 billion in AI-related businesses and infrastructure in Europe over five years. President Emmanuel Macron announced that private investors had pledged to invest nearly €110 billion in the AI sector in France. Financing of between €30 and €50 billion is expected from the United Arab Emirates to build a very large data centre campus, with another €20 billion from the Canadian investment firm Brookfield Corporation. French startup Mistral AI and Helsing, a German-British company, announced their partnership in developing vision-language-action models helping soldiers use AI on the battlefield. == Reactions == The Financial Times editorial board noted that the Paris summit "highlighted a shift in the dynamics towards geopolitical competition", which it characterised as "a new AI arms race" between the US and China, with Europe "trying to carve out its role". Fortune.com AI editor Jeremy Kahn described the 2025 Paris Summit as an "AI festival, complete with glitzy corporate side events and even a late night dance party", contrasting it with the "decidedly sober" mood of the inaugural AI Safety Summit at Bletchley Park. Many experts of the AI Safety Community expressed disappointment that the Paris Summit did not do enough to address AI risks, with Anthropic CEO Dario Amodei calling it a "missed opportunity". Others voicing similar concerns included David Leslie of the Alan Turing Institute and Max Tegmark of the Future of Life Institute. Reporting from Paris, technology columnist Kevin Roose of The New York Times wrote, "The biggest surprise of the Paris summit, for me, has been that policymakers can't seem to grasp how soon powerful AI systems could arrive, or how disruptive they could be." == Statement on inclusive and sustainable AI == At the summit, 58 countries, including France, China, and India, signed a joint declaration, the Statement on Inclusive and Sustainable Artificial Intelligence for People and the Planet. The statement outlines general principles such as accessibility and overcoming the digital divide; developing AI that is open, transparent, ethical, safe, and trustworthy; avoiding market concentration of AI development to encourage innovation; positive outcomes for labour markets; making AI sustainable; and promoting international cooperation and governance. The US and UK refused to sign the declaration on inclusive and sustainable AI. The UK government said in a brief statement that the international agreement did not go far enough in defining global governance of AI and addressing concerns about its impact on national security. === Signatories === The list of signatory countries to the statement for inclusive and sustainable AI in alphabetical order: Additional signatories included the following international bodies and research institutes: ALAI (Latin American Association on Internet) African Union (AU) Commission BEUC The European Consumer Organisation Center for Democracy and Technology Council of Europe European Commission (and the 27 member states) Hugging Face INRIA Institute of Advanced Study OEC
Model collapse
Model collapse, also known by other names such as "AI inbreeding", "AI cannibalism", "Habsburg AI", and "model autophagy disorder" or "MAD" is a phenomenon noted in artificial intelligence studies, where machine learning models gradually degrade due to errors coming from uncurated synthetic data, or due to training on the outputs of another model such as prior versions of itself. It is unclear to what extent the phenomenon threatens the long-term development of such models, and some techniques have been proposed to mitigate the effect. == Characteristics == Shumailov et al. coined the term to describe two specific stages to the degradation of machine learning models: early model collapse and late model collapse: In early model collapse, the model begins losing information about the tails of the distribution – mostly affecting minority data. Later work highlighted that early model collapse is hard to notice, since overall performance may appear to improve, while the model loses performance on minority data. In late model collapse, the model loses a significant proportion of its performance, confusing concepts and losing most of its variance. == Mechanism == Using synthetic data as training data can lead to issues with the quality and reliability of the trained model. Model collapse occurs for three main reasons: functional approximation errors sampling errors learning errors Importantly, it happens in even the simplest of models, where not all of the error sources are present. In more complex models the errors often compound, leading to faster collapse. == Disagreement over real-world impact == Some researchers and commentators on model collapse warn that the phenomenon could fundamentally threaten future generative AI development: As AI-generated data is shared on the Internet, it will inevitably end up in future training datasets, which are often crawled from the Internet. If training on "slop" (large quantities of unlabeled synthetic data) inevitably leads to model collapse, this could therefore pose a difficult problem. However, recently, other researchers have disagreed with this argument, showing that if synthetic data accumulates alongside human-generated data, model collapse is avoided. The researchers argue that data accumulating over time is a more realistic description of reality than deleting all existing data every year, and that the real-world impact of model collapse may not be as catastrophic as feared. An alternative branch of the literature investigates the use of machine learning detectors and watermarking to identify model generated data and filter it out. == Mathematical models of the phenomenon == === 1D Gaussian model === In 2024, a first attempt has been made at illustrating collapse for the simplest possible model — a single dimensional normal distribution fit using unbiased estimators of mean and variance, computed on samples from the previous generation. To make this more precise, we say that original data follows a normal distribution X 0 ∼ N ( μ , σ 2 ) {\displaystyle X^{0}\sim {\mathcal {N}}(\mu ,\sigma ^{2})} , and we possess M 0 {\displaystyle M_{0}} samples X j 0 {\displaystyle X_{j}^{0}} for j ∈ { 1 , … , M 0 } {\displaystyle j\in {\{\,1,\dots ,M_{0}\,{}\}}} . Denoting a general sample X j i {\displaystyle X_{j}^{i}} as sample j ∈ { 1 , … , M i } {\displaystyle j\in {\{\,1,\dots ,M_{i}\,{}\}}} at generation i {\displaystyle i} , then the next generation model is estimated using the sample mean and variance: μ i + 1 = 1 M i ∑ j X j i ; σ i + 1 2 = 1 M i − 1 ∑ j ( X j i − μ i + 1 ) 2 . {\displaystyle \mu _{i+1}={\frac {1}{M_{i}}}\sum _{j}X_{j}^{i};\quad \sigma _{i+1}^{2}={\frac {1}{M_{i}-1}}\sum _{j}(X_{j}^{i}-\mu _{i+1})^{2}.} Leading to a conditionally normal next generation model X j i + 1 | μ i + 1 , σ i + 1 ∼ N ( μ i + 1 , σ i + 1 2 ) {\displaystyle X_{j}^{i+1}|\mu _{i+1},\;\sigma _{i+1}\sim {\mathcal {N}}(\mu _{i+1},\sigma _{i+1}^{2})} . In theory, this is enough to calculate the full distribution of X j i {\displaystyle X_{j}^{i}} . However, even after the first generation, the full distribution is no longer normal: It follows a variance-gamma distribution. To continue the analysis, instead of writing the probability density function at each generation, it is possible to explicitly construct them in terms of independent random variables using Cochran's theorem. To be precise, μ 1 {\displaystyle \mu _{1}} and σ 1 {\displaystyle \sigma _{1}} are independent, with μ 1 ∼ N ( μ , σ 2 M 0 ) {\displaystyle \mu _{1}\sim {\mathcal {N}}\left(\mu ,{\frac {\sigma ^{2}}{M_{0}}}\right)} and ( M 0 − 1 ) σ 1 2 ∼ σ 2 Γ ( M 0 − 1 2 , 1 2 ) {\displaystyle (M_{0}-1)\,\sigma _{1}^{2}\sim \sigma ^{2}\,\Gamma \left({\frac {M_{0}-1}{2}},{\frac {1}{2}}\right)} , following a Gamma distribution. Denoting with Z {\displaystyle Z} Gaussian random variables distributed according to N ( 0 , 1 ) {\displaystyle {\mathcal {N}}(0,1)} and with S i {\displaystyle S^{i}} random variables distributed with 1 M i − 1 − 1 Γ ( M i − 1 − 1 2 , 1 2 ) {\displaystyle {\frac {1}{M_{i-1}-1}}\Gamma \left({\frac {M_{i-1}-1}{2}},{\frac {1}{2}}\right)} , it turns out to be possible to write samples at each generation as X j 0 = μ + σ Z j 0 , {\textstyle X_{j}^{0}=\mu +\sigma Z_{j}^{0},} X j 1 = μ + σ M 0 Z 1 + σ S 1 Z j 1 , {\textstyle X_{j}^{1}=\mu +{\frac {\sigma }{\sqrt {M_{0}}}}Z^{1}+\sigma {\sqrt {S^{1}}}Z_{j}^{1},} and more generally X j n = μ + σ M 0 Z 1 + σ M 1 S 1 Z 2 + ⋯ + σ M n − 1 S 1 × ⋯ × S n − 1 Z n + σ S 1 × ⋯ × S n Z j n . {\displaystyle X_{j}^{n}=\mu +{\frac {\sigma }{\sqrt {M_{0}}}}Z^{1}+{\frac {\sigma }{\sqrt {M_{1}}}}{\sqrt {S^{1}}}Z^{2}+\dots +{\frac {\sigma }{\sqrt {M_{n-1}}}}{\sqrt {S^{1}\times \dots \times S^{n-1}}}Z^{n}+\sigma {\sqrt {S^{1}\times \dots \times S^{n}}}Z_{j}^{n}.} Note, that these are not joint distributions, as Z n {\displaystyle Z^{n}} and S n {\displaystyle S^{n}} depend directly on Z j n − 1 {\displaystyle Z_{j}^{n-1}} , but when considering X j n {\displaystyle X_{j}^{n}} on its own the formula above provides all the information about the full distribution. To analyse the model collapse, we can first calculate variance and mean of samples at generation n {\displaystyle n} . This would tell us what kind of distributions we expect to arrive at after n {\displaystyle n} generations. It is possible to find its exact value in closed form, but the mean and variance of the square root of gamma distribution are expressed in terms of gamma functions, making the result quite clunky. Following, it is possible to expand all results to second order in each of 1 / M i {\displaystyle 1/M_{i}} , assuming each sample size to be large. It is then possible to show that 1 σ 2 Var ( X j n ) = 1 M 0 + 1 M 1 + ⋯ + 1 M n − 1 + 1 + O ( M i − 2 ) . {\displaystyle {\frac {1}{\sigma ^{2}}}\operatorname {Var} (X_{j}^{n})={\frac {1}{M_{0}}}+{\frac {1}{M_{1}}}+\dots +{\frac {1}{M_{n-1}}}+1+{\mathcal {O}}\left(M_{i}^{-2}\right).} And if all sample sizes M i = M {\displaystyle M_{i}=M} are constant, this diverges linearly as n → ∞ {\displaystyle n\to \infty } : Var ( X j n ) = σ 2 ( 1 + n M ) ; E ( X j n ) = μ . {\displaystyle \operatorname {Var} (X_{j}^{n})=\sigma ^{2}\left(1+{\frac {n}{M}}\right);\quad \mathbb {E} (X_{j}^{n})=\mu .} This is the same scaling as for a single dimensional Gaussian random walk. However, divergence of the variance of X j n {\displaystyle X_{j}^{n}} does not directly provide any information about the corresponding estimates of μ n + 1 {\displaystyle \mu _{n+1}} and σ n + 1 {\displaystyle \sigma _{n+1}} , particularly how different they are from the original μ {\displaystyle \mu } and σ {\displaystyle \sigma } . It turns out to be possible to calculate the distance between the true distribution and the approximated distribution at step n + 1 {\displaystyle n+1} , using the Wasserstein-2 distance (which is also sometimes referred to as risk): E [ W 2 2 ( N ( μ , σ 2 ) , N ( μ n + 1 , σ n + 1 2 ) ) ] = 3 2 σ 2 ( 1 M 0 + 1 M 1 + ⋯ + 1 M n ) + O ( M i − 2 ) , {\displaystyle \mathbb {E} \left[\mathbb {W} _{2}^{2}\left({\mathcal {N}}(\mu ,\sigma ^{2}),{\mathcal {N}}(\mu _{n+1},\sigma _{n+1}^{2})\right)\right]={\frac {3}{2}}\sigma ^{2}\left({\frac {1}{M_{0}}}+{\frac {1}{M_{1}}}+\dots +{\frac {1}{M_{n}}}\right)+{\mathcal {O}}\left(M_{i}^{-2}\right),} Var [ W 2 2 ( N ( μ , σ 2 ) , N ( μ n + 1 , σ n + 1 2 ) ) ] = 1 2 σ 4 ( 3 M 0 2 + 3 M 1 2 + ⋯ + 3 M n 2 + ∑ i ≠ j 4 M i M j ) + O ( M i − 3 ) . {\displaystyle \operatorname {Var} \left[\mathbb {W} _{2}^{2}\left({\mathcal {N}}(\mu ,\sigma ^{2}),{\mathcal {N}}(\mu _{n+1},\sigma _{n+1}^{2})\right)\right]={\frac {1}{2}}\sigma ^{4}\left({\frac {3}{M_{0}^{2}}}+{\frac {3}{M_{1}^{2}}}+\dots +{\frac {3}{M_{n}^{2}}}+\sum _{i\neq j}{\frac {4}{M_{i}M_{j}}}\right)+{\mathcal {O}}\left(M_{i}^{-3}\right).} This directly shows why model collapse occurs in this simple model. Due to errors from re-sampling the approximated distribution, each generation ends up corresponding to a
Fuzzy concept
A fuzzy concept is an idea of which the boundaries of application can vary considerably according to context or conditions, instead of being fixed once and for all. That means the idea is somewhat vague or imprecise. Yet it is not unclear or meaningless. It has a definite meaning, which can often be made more exact with further elaboration and specification — including a closer definition of the context in which the concept is used. The inverse of a "fuzzy concept" is a "crisp concept" (i.e. a precise concept). Fuzzy concepts are often used to navigate imprecision in the real world, when precise information is not available and an approximate indication is sufficient to be helpful. Although the linguist George Philip Lakoff already defined the semantics of a fuzzy concept in 1973 (inspired by an unpublished 1971 paper by Eleanor Rosch,) the term "fuzzy concept" rarely received a standalone entry in dictionaries, handbooks and encyclopedias. Sometimes it was defined in encyclopedia articles on fuzzy logic, or it was simply equated with a mathematical “fuzzy set”. A fuzzy concept can be "fuzzy" for many different reasons in different contexts. This makes it harder to provide a precise definition that covers all cases. Paradoxically, the definition of fuzzy concepts may itself be somewhat "fuzzy". Lotfi A. Zadeh, known as "the father of fuzzy logic", claimed that "vagueness connotes insufficient specificity, whereas fuzziness connotes unsharpness of class boundaries". Not all scholars agree. With increasing academic literature on the subject, the term "fuzzy concept" is now more widely recognized as a philosophical, linguistic or scientific category, and the study of the characteristics of fuzzy concepts and fuzzy language is known as fuzzy semantics. “Fuzzy logic” has become a generic term for many different kinds of many-valued logics, and is applied in many different areas of research, computer programming and industrial design. For engineers, "Fuzziness is imprecision or vagueness of definition." For computer scientists, a fuzzy concept is an idea which is "to an extent applicable" in a situation. It means that the concept can have gradations of significance or unsharp (variable) boundaries of application — a "fuzzy statement" is a statement which is true "to some extent", and that extent can often be represented by a scaled value (a score). For mathematicians, a "fuzzy concept" is usually a fuzzy set or a combination of such sets (see fuzzy mathematics and fuzzy set theory). In cognitive linguistics, the things that belong to a "fuzzy category" exhibit gradations of family resemblance, and the borders of the category are not clearly defined. Through most of the 20th century, the idea of reasoning with fuzzy concepts faced considerable resistance from Western academic elites. They did not want to endorse the use of imprecise concepts in research or argumentation, and they often regarded fuzzy logic with suspicion, derision or even hostility. That may partly explain why the idea of a "fuzzy concept" did not get a separate entry in encyclopedias, handbooks and dictionaries. Yet although people might not be aware of it, the use of fuzzy concepts has risen gigantically in all walks of life from the 1970s onward. That is mainly due to advances in electronic engineering, fuzzy mathematics and digital computer programming. The new technology allows very complex inferences about "variations on a theme" to be anticipated and fixed in a program. The Perseverance Mars rover, a driverless NASA vehicle used to explore the Jezero crater on the planet Mars, features fuzzy logic programming that steers it through rough terrain. Similarly, to the North, the Chinese Mars rover Zhurong used fuzzy logic algorithms to calculate its travel route in Utopia Planitia from sensor data. New neuro-fuzzy computational methods make it possible for machines to identify, measure, adjust and respond to fine gradations of significance with great precision. It means that practically useful concepts can be coded, sharply defined, and applied to all kinds of tasks, even if ordinarily these concepts are never exactly defined. Nowadays engineers, statisticians and programmers often represent fuzzy concepts mathematically, using fuzzy logic, fuzzy values, fuzzy variables and fuzzy sets (see also fuzzy set theory). Fuzzy logic is not "woolly thinking", but a "precise logic of imprecision" which reasons with graded concepts and gradations of truth. Fuzzy concepts and fuzzy logic often play a significant role in artificial intelligence programming, for example because they can model human cognitive processes more easily than other methods. == Origins == Vagueness and fuzziness have probably always been a part of human experience. In the West, ancient texts show that philosophers and scientists were already thinking critically about this in classical antiquity. Most often, they regarded vagueness as a problem: as an obstacle to clear thinking, as a source of confusion, or as an evasive tactic. It got in the way of providing clear orientation, guidance, direction and leadership. Therefore, vagueness became associated with a hermeneutic of suspicion — it was considered as something to avoid, as something undesirable. By contrast, in the ancient Chinese tradition of Daoist thought of Laozi and Zhuang Zhou, "vagueness is not regarded with suspicion, but is simply an acknowledged characteristic of the world around us" — a subject for meditation and a source of insight. === Sorites paradox === The ancient Sorites paradox raised the logical problem, of how we could exactly define the threshold at which a change in quantitative gradation turns into a qualitative or categorical difference. With some physical processes, this threshold seems relatively easy to identify. For example, water turns into steam at 100 °C or 212 °F. Of course, the boiling point depends partly on atmospheric pressure, which decreases at higher altitudes; it is also affected by the level of humidity — in that sense, the boiling point is "somewhat fuzzy", because it can vary under different conditions. Nevertheless, for every altitude, level of air pressure and degree of humidity, we can predict accurately what the boiling point will be, if we know the relevant conditions. With many other processes and gradations, however, the point of change is much more difficult to locate, and remains somewhat vague. Thus, the boundaries between qualitatively different things may be unsharp: we know that there are boundaries, but we cannot define them exactly. For example, to identify "the oldest city in the world", we have to define what counts as a city, and at what point a growing human settlement becomes a city. === The continuum fallacy and Loki's wager === According to the modern idea of the continuum fallacy, the fact that a statement is to an extent vague, does not automatically mean that it has no validity. The question then arises, of how (by what method or approach) we could ascertain and define the validity that the fuzzy statement does have. The Nordic myth of Loki's wager suggested that concepts that lack precise meanings or lack precise boundaries of application cannot be operated with, because they evade any clear definition. However, the 20th-century idea of "fuzzy concepts" proposes that "somewhat vague terms" can be operated with, because we can explicate and define the variability of their application — by assigning numbers to gradations of applicability. This idea sounds simple enough, but it had large implications. === Precursors and pioneers === In Western civilization, the intellectual recognition of fuzzy concepts has been traced back to a diversity of famous and less well-known thinkers, including (among many others) Eubulides, Epicurus, Plato, Cicero, William Ockham and John Buridan, Georg Wilhelm Friedrich Hegel, Karl Marx and Friedrich Engels, Friedrich Nietzsche, William James, Hugh MacColl, Charles S. Peirce, Hans Reichenbach, Carl Gustav Hempel, Max Black, Arto Salomaa, Ludwig Wittgenstein, Jan Łukasiewicz, Emil Leon Post, Alfred Tarski, Georg Cantor, Nicolai A. Vasiliev, Kurt Gödel, Stanisław Jaśkowski, Willard Van Orman Quine, George J. Klir, Petr Hájek, Joseph Goguen, Ronald R. Yager, Enrique Héctor Ruspini, Jan Pavelka, Didier Dubois, Bernadette Bouchon-Meunier, and Donald Knuth. Across at least two and a half millennia, all of them had something to say about graded concepts with unsharp boundaries. This suggests at least that the awareness of the existence of concepts with "fuzzy" characteristics, in one form or another, has a very long history in human thought. Quite a few 20th century logicians, mathematicians and philosophers also tried to analyze the characteristics of fuzzy concepts as a recognized species, sometimes with the aid of some kind of many-valued logic or substructural logic. An early attempt in the post-WW2 era to create a mathematical theory of sets with gradations of
Scikit-learn
scikit-learn (formerly scikits.learn and also known as sklearn) is a free and open-source machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support-vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. Scikit-learn is a NumFOCUS fiscally sponsored project. == Overview == The scikit-learn project started as scikits.learn, a Google Summer of Code project by French data scientist David Cournapeau. The name of the project derives from its role as a "scientific toolkit for machine learning", originally developed and distributed as a third-party extension to SciPy. The original codebase was later rewritten by other developers. In 2010, contributors Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort and Vincent Michel, from the French Institute for Research in Computer Science and Automation in Saclay, France, took leadership of the project and released the first public version of the library on February 1, 2010. In November 2012, scikit-learn as well as scikit-image were described as two of the "well-maintained and popular" scikits libraries. In 2019, it was noted that scikit-learn is one of the most popular machine learning libraries on GitHub. At that time, the project had over 1,400 contributors and the documentation received 42 million visits in 2018. According to a 2022 Kaggle survey of nearly 24,000 respondents from 173 countries, scikit-learn was identified as the most widely used machine learning framework. == Features == Large catalogue of well-established machine learning algorithms and data pre-processing methods (i.e. feature engineering) Utility methods for common data-science tasks, such as splitting data into train and test sets, cross-validation and grid search Consistent way of running machine learning models (estimator.fit() and estimator.predict()), which libraries can implement Declarative way of structuring a data science process (the Pipeline), including data pre-processing and model fitting == Examples == Fitting a random forest classifier: == Implementation == scikit-learn is largely written in Python, and uses NumPy extensively for high-performance linear algebra and array operations. Furthermore, some core algorithms are written in Cython to improve performance. Support vector machines are implemented by a Cython wrapper around LIBSVM; logistic regression and linear support vector machines by a similar wrapper around LIBLINEAR. In such cases, extending these methods with Python may not be possible. scikit-learn integrates well with many other Python libraries, such as Matplotlib and plotly for plotting, NumPy for array vectorization, Pandas dataframes, SciPy, and many more. == History == scikit-learn was initially developed by David Cournapeau as a Google Summer of Code project in 2007. Later that year, Matthieu Brucher joined the project and started to use it as a part of his thesis work. In 2010, INRIA, the French Institute for Research in Computer Science and Automation, got involved and the first public release (v0.1 beta) was published in late January 2010. The project released its first stable version, 1.0.0, on September 24, 2021. The release was the result of over 2,100 merged pull requests, approximately 800 of which were dedicated to improving documentation. Development continues to focus on bug fixes, efficiency and feature expansion. The latest version, 1.8, was released on December 10, 2025. This update introduced native Array API support, enabling the library to perform GPU computations by directly using PyTorch and CuPy arrays. This version also included bug fixes, improvements and new features, such as efficiency improvements to the fit time of linear models. == Applications == Scikit-learn is widely used across industries for a variety of machine learning tasks such as classification, regression, clustering, and model selection. The following are real-world applications of the library: === Finance and Insurance === AXA uses scikit-learn to speed up the compensation process for car accidents and to detect insurance fraud. Zopa, a peer-to-peer lending platform, employs scikit-learn for credit risk modelling, fraud detection, marketing segmentation, and loan pricing. BNP Paribas Cardif uses scikit-learn to improve the dispatching of incoming mail and manage internal model risk governance through pipelines that reduce operational and overfitting risks. J.P. Morgan reports broad usage of scikit-learn across the bank for classification tasks and predictive analytics in financial decision-making. === Retail and E-Commerce === Booking.com uses scikit-learn for hotel and destination recommendation systems, fraudulent reservation detection, and workforce scheduling for customer support agents. HowAboutWe uses it to predict user engagement and preferences on a dating platform. Lovely leverages the library to understand user behaviour and detect fraudulent activity on its platform. Data Publica uses it for customer segmentation based on the success of past partnerships. Otto Group integrates scikit-learn throughout its data science stack, particularly in logistics optimization and product recommendations. === Media, Marketing, and Social Platforms === Spotify applies scikit-learn in its recommendation systems. Betaworks uses the library for both recommendation systems (e.g., for Digg) and dynamic subspace clustering applied to weather forecasting data. PeerIndex used scikit-learn for missing data imputation, tweet classification, and community clustering in social media analytics. Bestofmedia Group employs it for spam detection and ad click prediction. Machinalis utilizes scikit-learn for click-through rate prediction and relational information extraction for content classification and advertising optimization. Change.org applies scikit-learn for targeted email outreach based on user behaviour. === Technology === AWeber uses scikit-learn to extract features from emails and build pipelines for managing large-scale email campaigns. Solido applies it to semiconductor design tasks such as rare-event estimation and worst-case verification using statistical learning. Evernote, Dataiku, and other tech companies employ scikit-learn in prototyping and production workflows due to its consistent API and integration with the Python ecosystem. === Academia === Télécom ParisTech integrates scikit-learn in hands-on coursework and assignments as part of its machine learning curriculum. == Awards == 2019 Inria-French Academy of Sciences-Dassault Systèmes Innovation Prize: Awarded in recognition of scikit-learn's impact as a major free software breakthrough in machine learning and its role in the digital transformation of science and industry. 2022 Open Science Award for Open Source Research Software: Awarded by the French Ministry of Higher Education and Research as part of the second National Plan for Open Science. The project was recognized in the "Community" category for its technical quality, its large international contributor network, and the quality of its documentation.
Supreme Commander (video game)
Supreme Commander (sometimes SupCom) is a 2007 real-time strategy video game designed by Chris Taylor and developed by his company, Gas Powered Games. The game is considered to be a spiritual successor, not a direct sequel, to Taylor's 1997 game Total Annihilation. First announced in the August 2005 edition of PC Gamer magazine, the game was released in Europe on February 16, 2007, and in North America on February 20. The standalone expansion Supreme Commander: Forged Alliance was released on November 6 of the same year. The sequel, Supreme Commander 2, was released in 2010. Nowadays, the original Supreme Commander is played through the community client called Forged Alliance Forever; the game has been further developed and balanced, and offers a wide variety of community mods. The gameplay of Supreme Commander focuses on using a giant bipedal mech called an Armored Command Unit (ACU), the so-called "Supreme Commander", to build a base, upgrading units to reach higher technology tiers, and conquering opponents. The player can command one of three factions: the Aeon Illuminate, the Cybran Nation, or the United Earth Federation (UEF). The expansion game added the Seraphim faction. Supreme Commander was highly anticipated in pre-release previews, and was well received by critics, with a Metacritic average of 86 out of 100. == Gameplay == Supreme Commander, like its spiritual predecessors, Total Annihilation and Spring, begins with the player solely possessing a single, irreplaceable construction unit called the "Armored Command Unit," or ACU, the titular Supreme Commander. Normally the loss of this unit results in the loss of the game (Skirmish missions can be set for a variety of victory conditions). These mech suits are designed to be transported through quantum gateways across the galaxy and contain all the materials and blueprints necessary to create an army from a planet's native resources in hours. All standard units except Commanders and summoned Support Commanders (sACU) are self-sufficient robots. All units and structures belong to one of four technology tiers, or "Tech" levels, each tier being stronger and/or more efficient than the previous. Certain lower-tier structures can be upgraded into higher ones without having to rebuild them. The first tier is available at the start of the game and consists of small, relatively weak units and structures. The second tier expands the player's abilities greatly, especially in terms of stationary weapons and shielding, and introduces upgraded versions of tier one units. The third tier level has very powerful assault units designed to overcome the fortifications of the most entrenched player. The fourth tier is a limited range of "experimental" technology. These are usually massive units which take a lot of time and energy to produce, but provide a significant tactical advantage. Supreme Commander features a varied skirmish AI. The typical Easy' and Normal modes are present, but the Hard difficulty level has four possible variants. Horde AI will swarm the player with hordes of lower level units, Tech AI will upgrade its units as fast as possible and assault the player with advanced units, the Balanced AI attempts to find a balance between the two, and the Supreme AI decides which of the three hard strategies is best for the map. The single player campaign consists of eighteen missions, six for each faction. The player is an inexperienced Commander who plays a key role in their faction's campaign to bring the "Infinite War" to an end. Despite the low number of campaign missions, each mission can potentially last hours. At the start of a mission, objectives are assigned for the player to complete. Once the player accomplishes them, the map is expanded, sometimes doubling or tripling in size, and new objectives are assigned. As the mission is commonly divided into three segments, the player will often have to overcome several enemy positions to achieve victory. === Resource management === Because humans have developed replication technology, making advanced use of rapid prototyping and nanotechnology, only two types of resources are required to wage war: Energy and Mass. Energy is obtained by constructing power generators on any solid surface (except fuel generators, which can only be built on fuel deposits), while Mass is obtained either by placing mass extractors on limited mass deposit spots (the most efficient method, although it requires map control) or by building mass fabricators to convert energy into mass. Constructor units can gather energy by "reclaiming" it from organic debris such as trees and mass from rocks and wrecked units. Each player has a certain amount of resource storage, which can be expanded by the construction of storage structures. This gives the player reserves in times of shortage or allows them to stockpile resources. If the resource generation exceeds the player's capacity, the material is wasted. On the contrary, if the storages are depleted and the demand of one of the resources exceeds the production, then all the productions speed is reduced. In addition, if an energy deficit occurs, shields will stop working. An adjacency system allows certain structures to benefit from being built directly adjacent to others. Energy-consuming structures will use less energy when built adjacent to power generators and power generators will produce more energy when built adjacent to power storage structures. The same applies to their mass-producing equivalents. Likewise, factories will consume less energy and mass when built adjacent to power generators and mass fabricators/extractors, respectively. However, by placing structures in close proximity, they become more vulnerable to collateral damage if an adjacent structure is destroyed. Furthermore, most resource generation structures can cause chain reactions when destroyed (especially Tier III structures, which produce large amounts of resources but often have large detonations that can wipe out a nearby army). === Warfare === Supreme Commander uses a "strategic zoom" system that allows the player to seamlessly zoom from a detailed close up view of an individual unit all the way out to a view of the entire map, at which point it resembles a fullscreen version of the minimap denoting individual units with icons. The camera also has a free movement mode and can be slaved to track a selected unit and there is a split screen mode which also supports multiple monitors. This system allows Supreme Commander to use vast maps up to 80 km x 80 km, with players potentially controlling a thousand units each. Units in Supreme Commander are built to scale as they would be in the real world. For example, battleships dwarf submarines. Late into the game, the larger "experimental" units, such as the Cybran Monkeylord, an enormous spider-shaped assault unit, can actually crush smaller enemy units by stepping on them. Because of the wide range of planets colonized by humanity in the setting, the theatres of war range from desert to arctic, and all battlespaces are employed. Technologies emerging in modern warfare are frequently employed in Supreme Commander. For example, stealth technology and both tactical and strategic missile and missile defense systems can be used. Supreme Commander introduced several innovations designed to reduce the amount of micromanagement inherent in many RTS games. Engineers units have the command "assist", that will help follow other engineers and help them finish their orders or improve production rate of factories. In addition, engineers with the order "patrol" will repair units, buildings and recycle wrecks in their along their patrol route. Holding the shift key causes any orders given to a unit (or group of units) to be queued. In this manner a unit may be ordered to attack several targets in succession, or to make best speed to a given point on the map and then attack towards a specified location engaging any hostiles it encounters along the way. After orders have been issued, holding the shift key causes all issued orders to be displayed on the map where they can be subsequently modified to accommodate a change of plan. Further, when a unit is ordered to attack a target, the player can issue an order to perform a coordinated attack to another unit. This order coordinates the arrival time of the units at the target automatically by adjusting the speed of the units involved. As in other RTS games, air transports can be used to convey units to specified destinations, in Supreme Commander though by shift queuing orders a transport containing several units can be ordered to drop specific units at subsequent waypoints. An air transport can also be ordered to create a ferry route, an airbridge wherein any land units ordered to the start of the ferry route will be conveyed by the air transport to the specified destination. The output from a production factory can be routed to a ferry route causing all units co