title: Component Object Model

text: Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime. The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separated from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Type conversion casting between different interfaces of an object is achieved through the codice_1 method. The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.


title: Component Object Model

text: COM is an interface technology defined and implemented as standard only on Microsoft Windows and Apple's Core Foundation 1.3 and later plug-in application programming interface (API). The latter only implements a subset of the whole COM interface. For some applications, COM has been replaced at least to some extent by the Microsoft .NET framework, and support for Web Services through the Windows Communication Foundation (WCF). However, COM objects can be used with all .NET languages through .NET COM Interop. Networked DCOM uses binary proprietary formats, while WCF encourages the use of XML-based SOAP messaging. COM is very similar to other component software interface technologies, such as CORBA and Enterprise JavaBeans, although each has its own strengths and weaknesses. Unlike C++, COM provides a stable application binary interface (ABI) that does not change between compiler releases. This makes COM interfaces attractive for object-oriented C++ libraries that are to be used by clients compiled using different compiler versions.


title: Component Object Model

text: One of the first methods of interprocess communication in Windows was Dynamic Data Exchange (DDE), first introduced in 1987, that allowed sending and receiving messages in so-called "conversations" between applications. Antony Williams, who was involved in the creation of the COM architecture, later distributed two internal papers in Microsoft that embraced the concept of software components: "Object Architecture: Dealing With the Unknown – or – Type Safety in a Dynamically Extensible Class Library" in 1988 and "On Inheritance: What It Means and How To Use It" in 1990. These provided the foundation of many of the ideas behind COM. Object Linking and Embedding (OLE), Microsoft's first object-based framework, was built on top of DDE and designed specifically for compound documents. It was introduced with Word for Windows and Excel in 1991, and was later included with Windows, starting with version 3.1 in 1992. An example of a compound document is a spreadsheet embedded in a Word for Windows document: as changes are made to the spreadsheet within Excel, they appear automatically inside the Word document.


title: Component Object Model

text: In 1991, Microsoft introduced Visual Basic Extensions (VBX) with Visual Basic 1.0. A VBX is a packaged extension in the form of a dynamic-link library (DLL) that allows objects to be graphically placed in a form and manipulated by properties and methods. These were later adapted for use by other languages such as Visual C++. In 1992, when version 3.1 of Windows was released, Microsoft released OLE 2 with its underlying object model. The COM Application binary interface (ABI) was the same as the MAPI ABI (released in 1992), and like it was based on MSRPC and ultimately on the Open Group's DCE/RPC. While OLE 1 was focused on compound documents, COM and OLE 2 were designed to address software components in general. Text conversations and Windows messages had proved not to be flexible enough to allow sharing application features in a robust and extensible way, so COM was created as a new foundation, and OLE changed to OLE2. In 1994 OLE custom controls (OCXs) were introduced as the successor to VBX controls. At the same time, Microsoft stated that OLE 2 would just be known as "OLE", and that OLE was no longer an acronym, but a name for all of the company's component technologies. In early 1996, Microsoft found a new use for OLE Custom Controls, expanding their Web browser's capability to present content, renamed some parts of OLE relating to the Internet "ActiveX", and gradually renamed all OLE technologies to ActiveX, except the compound document technology that was used in Microsoft Office. Later that year, Microsoft extended COM to work across the network with DCOM.


title: Component Object Model

text: COM was the major software development platform for Windows and, as such, influenced development of a number of supporting technologies. It was likewise heavily influenced by earlier technologies.


title: Component Object Model

text: As a cross-language component model, COM relies on an interface definition language, or IDL, to describe the objects and associated functions. The COM IDL is based heavily on the feature-rich DCE/RPC IDL, with object-oriented extensions. Microsoft's own implementation of DCE/RPC, known as MSRPC, is heavily used as the primary inter-process communication mechanism for Windows NT services and internal components, making it an obvious choice of foundation.


title: Component Object Model

text: DCOM ("Distributed COM") extended the reach of COM from merely supporting a single user with separate applications communicating on the Windows desktop, to activating objects running under different security contexts, and on different machines across the network. With this were added necessary features for configuring which users have authority to create, activate and call objects, for identifying the calling user, as well as specifying required encryption for security of calls.


title: Component Object Model

text: In order for Microsoft to provide developers with support for distributed transactions, resource pooling, disconnected applications, event publication and subscription, better memory and processor (thread) management, as well as to position Windows as an alternative to other enterprise-level operating systems, Microsoft introduced a technology called Microsoft Transaction Server (MTS) on Windows NT 4. With Windows 2000, that significant extension to COM was incorporated into the operating system (as opposed to the series of external tools provided by MTS) and renamed COM+. At the same time, Microsoft de-emphasized DCOM as a separate entity. Components that made use of COM+ services were handled more directly by the added layer of COM+, in particular by operating system support for interception. In the first release of MTS, interception was tacked on - installing an MTS component would modify the Windows Registry to call the MTS software, and not the component directly. Windows 2000 also revised the Component Services control panel application used to configure COM+ components.


title: Component Object Model

text: An advantage of COM+ was that it could be run in "component farms". Instances of a component, if coded properly, could be pooled and reused by new calls to its initializing routine without unloading it from memory. Components could also be distributed (called from another machine). COM+ and Microsoft Visual Studio provided tools to make it easy to generate client-side proxies, so although DCOM was used to make the remote call, it was easy to do for developers. COM+ also introduced a subscriber/publisher event mechanism called COM+ Events, and provided a new way of leveraging MSMQ (a technology that provides inter-application asynchronous messaging) with components called Queued Components. COM+ events extend the COM+ programming model to support late-bound (see Late binding) events or method calls between the publisher or subscriber and the event system.


title: Component Object Model

text: Microsoft .NET provides means both to provide component technology, and to interact with COM+ (via COM-interop-assemblies); .NET provides wrappers to most of the commonly used COM controls. Microsoft .NET hides most detail from component creation and therefore eases development. .NET can leverage COM+ via the System.EnterpriseServices namespace, and several of the services that COM+ provides have been duplicated in recent releases of .NET. For example, the System.Transactions namespace in .NET provides the TransactionScope class, which provides transaction management without resorting to COM+. Similarly, queued components can be replaced by Windows Communication Foundation with an MSMQ transport. (MSMQ is a native COM component, however.) There is limited support for backward compatibility. A COM object may be used in .NET by implementing a Runtime Callable Wrapper (RCW). NET objects that conform to certain interface restrictions may be used in COM objects by calling a "COM callable wrapper" (CCW). From both the COM and .NET sides, objects using the other technology appear as native objects. See COM Interop.


title: Component Object Model

text: WCF (Windows Communication Foundation) eases a number of COM's remote execution challenges. For instance, it allows objects to be transparently marshalled by value across process or machine boundaries more easily.


title: Component Object Model

text: Microsoft's Windows Runtime (or WinRT, not to be confused with Windows RT) programming and application model is essentially a COM-based API, although it relies on an enhanced COM. Because of its COM-like basis, Windows Runtime allows relatively easy interfacing from multiple languages, just as COM does, but it is essentially an unmanaged, native API. The API definitions are, however, stored in ".winmd" files, which are encoded in ECMA 335 metadata format, the same CLI metadata format that .NET uses with a few modifications. This common metadata format allows for significantly less overhead than P/Invoke when WinRT is invoked from .NET applications, and its syntax is much simpler.


title: Component Object Model

text: Nano-COM is an extremely small subset of the Component Object Model that is focused exclusively on the Application Binary Interface (ABI) aspects of COM to that enable function and method calls across independently compiled modules/components. Nano-COM can be expressed easily in a single C++ header file that is portable to all C++ compilers. Nano-COM extends the native ABI of the underlying instruction architecture and OS to add support for typed object references (typical ABIs focus only on atomic types, structures, arrays and function calling conventions). The basis of Nano-COM was used by Mozilla to bootstrap Firefox (called XPCOM), and is currently in use as the base ABI technology for DirectX/Direct3D/DirectML.


title: Component Object Model

text: Many uses of Nano-COM also define two functions to address callee-allocated memory buffers as results


title: Component Object Model

text: Some implementations of Nano-COM such as Direct3D eschew the allocator functions and restrict themselves to only use caller-allocated buffers.


title: Component Object Model

text: Nano-COM has no notion of classes, apartments, marshaling, registration, etc. Rather, object references are simply passed across function boundaries and allocated via standard language constructs (e.g., C++ new operator).


title: Component Object Model

text: COM and ActiveX components are run as native code on the user's machine, with no sandboxing. There are therefore few restrictions on what the code can do. The prior practice of embedding ActiveX components on web pages with Internet Explorer did therefore lead to problems with malware infections. Microsoft recognized the problem with ActiveX as far back as 1996 when Charles Fitzgerald said, "We never made the claim up front that ActiveX is intrinsically secure". Recent versions of Internet Explorer prompt the user before installing ActiveX controls, enabling the user to disallow installation of controls from sites that the user does not trust. The ActiveX controls are signed with digital signatures to guarantee their authenticity. It is also possible to disable ActiveX controls altogether, or to allow only a selected few. The transparent support for out-of-process COM servers still promotes software safety in terms of process isolation. This can be useful for decoupling subsystems of large application into separate processes. Process isolation limits state corruption in one process from negatively affecting the integrity of the other processes, since they only communicate through strictly defined interfaces. Thus, only the affected subsystem needs to be restarted in order to regain valid state. This is not the case for subsystems within the same process, where a "rogue pointer" in one subsystem can randomly corrupt other subsystems.


title: Component Object Model

text: COM programmers build their software using COM-aware components. Different component types are identified by class IDs (CLSIDs), which are Globally Unique Identifiers (GUIDs). Each COM component exposes its functionality through one or more interfaces. The different interfaces supported by a component are distinguished from each other using interface IDs (IIDs), which are GUIDs too. COM interfaces have bindings in several languages, such as C, C++, Visual Basic, Delphi, Python and several of the scripting languages implemented on the Windows platform. All access to components is done through the methods of the interfaces. This allows techniques such as inter-process, or even inter-computer programming (the latter using the support of DCOM).


title: Component Object Model

text: All COM components implement the IUnknown ("custom") interface, which exposes methods for reference counting and type conversion (casting). A "custom" IUnknown interface consists of a pointer to a virtual method table that contains a list of pointers to the functions that implement the functions declared in the interface, in the same order that they are declared in the interface. The in-process invocation overhead is therefore comparable to virtual method calls in C++. In addition to "custom" interfaces, COM also supports "dispatch" interfaces inheriting from IDispatch. Dispatch interfaces support late binding for OLE Automation. This allows "dispatch" interfaces to be natively accessed from a wider range of programming languages than "custom" interfaces.


title: Component Object Model

text: A COM class ("coclass") is a concrete implementation of one or more interfaces, and closely resembles classes in object-oriented programming languages. Classes are created based on their class ID (CLSID) or based on their programmatic identifier string (ProgID). Like many object-oriented languages, COM provides a separation of interface from implementation. This distinction is especially strong in COM, where objects cannot be accessed directly, but only through their interfaces. COM also has support for multiple implementations of the same interface, so that clients at runtime can choose which implementation of an interface to instantiate.


title: Component Object Model

text: Type libraries contain metadata to represent COM types. These types are described using Microsoft Interface Definition Language (MSIDL/IDL). IDL files define object-oriented classes, interfaces, structures, enumerations and other user-defined types in a language independent manner. IDL is similar in appearance to C++ declarations with some additional keywords such as "interface" and "library" for defining interfaces and collections of classes. IDL also supports the use of bracketed attributes before declarations to provide additional information, such as interface GUIDs and the relationships between pointer parameters and length fields. IDL files are compiled by the MIDL compiler. For C/C++, the MIDL compiler generates a compiler-independent header file containing struct definitions to match the vtbls of the declared interfaces and a C file containing declarations of the interface GUIDs. C++ source code for a proxy module can also be generated by the MIDL compiler. This proxy contains method stubs for converting COM calls into remote procedure calls to enable DCOM for out-of-process communication. IDL files can also be compiled by the MIDL compiler into a type library (TLB). TLB files contain binary metadata that can be processed by different language compilers and runtime environments (e.g. VB, Delphi, .NET etc.) to generate language-specific constructs to represent the COM types defined in the TLB. For C++, this will convert the TLB back to its IDL representation.


title: Component Object Model

text: Because COM is a runtime framework, types have to be individually identifiable and specifiable at runtime. To achieve this, "globally unique identifiers" (GUIDs) are used. Each COM type is designated its own GUID for identification at runtime. In order for information on COM types to be accessible at both compile time and runtime, COM uses type libraries. It is through the effective use of "type libraries" that COM achieves its capabilities as a dynamic framework for the interaction of objects.


title: Component Object Model

text: The above code fragment declares a COM class named codice_4 which implements an interface named codice_5.


title: Component Object Model

text: The IDL files containing COM interfaces and classes are compiled into type libraries (TLB) files, which can later be parsed by clients at runtime to determine which interfaces an object supports, and invoke an object's interface methods.


title: Component Object Model

text: In C++, COM objects are instantiated with the codice_6 function that takes the class ID (CLSID) and interface ID (IID) as arguments. Instantiation of codice_4 can be implemented as follows:


title: Component Object Model

text: In this example, the COM sub-system is used to obtain a pointer to an object that implements codice_5 interface, and coclass CLSID_SomeClass's particular implementation of this interface is required.


title: Component Object Model

text: All COM objects utilize reference counting to manage object lifetimes. The reference counts are controlled by the clients through the "AddRef" and "Release" methods in the mandatory IUnknown interface that all COM objects implement. COM objects are then responsible for freeing their own memory when the reference count drops to zero. Certain languages (e.g. Visual Basic) provide automatic reference counting so that COM object developers need not explicitly maintain any internal reference counter in their source codes. In C++, a coder may either perform explicit reference counting or use smart pointers to automatically manage the reference counts.


title: Component Object Model

text: Not all reference count calls are sent to remote objects over the wire; a proxy keeps only one reference on the remote object and maintains its own local reference count. To simplify COM development, Microsoft introduced ATL (Active Template Library) for C++ developers. ATL provides for a higher-level COM development paradigm. It also shields COM client application developers from the need to directly maintain reference counting, by providing smart pointer objects. Other libraries and languages that are COM-aware include the Microsoft Foundation Classes, the VC Compiler COM Support, VBScript, Visual Basic, ECMAScript (JavaScript) and Borland Delphi.


title: Component Object Model

text: COM is a language agnostic binary standard that can be developed in any programming language capable of understanding and implementing its binary defined data types and interfaces. COM implementations are responsible for entering and leaving the COM environment, instantiating and reference-counting COM objects, querying objects for supported interfaces, as well as handling errors. The Microsoft Visual C++ compiler supports extensions to the C++ language referred to as "C++ Attributes". These extensions are designed to simplify COM development and remove much of the boilerplate code required to implement COM servers in C++.


title: Component Object Model

text: In Windows, COM classes, interfaces and type libraries are listed by GUIDs in the registry, under "HKEY_CLASSES_ROOT\CLSID" for classes and "HKEY_CLASSES_ROOT\Interface" for interfaces. COM libraries use the registry to locate either the correct local libraries for each COM object or the network location for a remote service.


title: Component Object Model

text: Registration-Free COM (RegFree COM) is a technology introduced with Windows XP that allows Component Object Model (COM) components to store activation metadata and CLSID (codice_9) for the component without using the registry. Instead, the metadata and CLSIDs of the classes implemented in the component are declared in an assembly manifest (described using XML), stored either as a resource in the executable or as a separate file installed with the component. This allows multiple versions of the same component to be installed in different directories, described by their own manifests, as well as XCOPY deployment. This technique has limited support for EXE COM servers and cannot be used for system-wide components such as MDAC, MSXML, DirectX or Internet Explorer.


title: Component Object Model

text: During application loading, the Windows loader searches for the manifest. If it is present, the loader adds information from it to the activation context. When the COM class factory tries to instantiate a class, the activation context is first checked to see if an implementation for the CLSID can be found. Only if the lookup fails, the registry is scanned.


title: Component Object Model

text: COM objects can also be created manually, given the path of the DLL file and GUID of the object. This does not require the DLL or GUID to be registered in the system registry, and does not make use of manifest files. A COM DLL exports a function named DllGetClassObject. Calling DllGetClassObject with the desired GUID and IID_IClassFactory provides an instance of a factory object. The Factory object has a CreateInstance method, which can create instances of an object given an interface GUID. This is the same process internally used when creating instances of registered COM components.


title: Component Object Model

text: If the created COM object instantiates another COM object using the generic CoCreateInstance API, it will try to do so in the usual generic way, using the registry or manifest files. But it can create internal objects (which may not be registered at all), and hand out references to interfaces to them, using its own private knowledge.


title: Component Object Model

text: COM objects can be transparently instantiated and referenced from within the same process (in-process), across process boundaries (out-of-process), or remotely over the network (DCOM). Out-of-process and remote objects use marshalling to serialize method calls and return values over process or network boundaries. This marshalling is invisible to the client, which accesses the object as if it were a local in-process object.


title: Component Object Model

text: In COM, threading is addressed through a concept known as "apartments". An individual COM object lives in exactly one apartment, which might either be single-threaded or multi-threaded. There are three types of apartments in COM: "Single-Threaded Apartment (STA)", "Multi-Threaded Apartment (MTA)", and "Thread Neutral Apartment" (NA). Each apartment represents one mechanism whereby an object's internal state may be synchronized across multiple threads. A process can consist of multiple COM objects, some of which may use STA and others of which may use MTA. All threads accessing COM objects similarly live in one apartment. The choice of apartment for COM objects and threads are determined at run-time, and cannot be changed.


title: Component Object Model

text: Threads and objects which belong to the same apartment follow the same thread access rules. Method calls which are made inside the same apartment are therefore performed directly without any assistance from COM. Method calls made across apartments are achieved via marshalling. This requires the use of proxies and stubs.


title: Component Object Model

text: Since COM has a fairly complex implementation, programmers can be distracted by some of the "plumbing" issues.


title: Component Object Model

text: When an STA is initialized it creates a hidden window that is used for inter-apartment and inter-process message routing. This window must have its message queue regularly "pumped". This construct is known as a "message pump". On earlier versions of Windows, failure to do so could cause system-wide deadlocks. This problem is complicated by some Windows APIs that initialize COM as part of their implementation, which causes a "leak" of implementation details.


title: Component Object Model

text: Reference counting within COM may cause problems if two or more objects are circularly referenced. The design of an application must take this into account so that objects are not left orphaned. Objects may also be left with active reference counts if the COM "event sink" model is used. Since the object that fires the event needs a reference to the object reacting to the event, the latter's reference count will never reach zero. Reference cycles are typically broken using either out-of-band termination or split identities. In the out-of-band termination technique, an object exposes a method which, when called, forces it to drop its references to other objects, thereby breaking the cycle. In the split identity technique, a single implementation exposes two separate COM objects (also known as identities). This creates a weak reference between the COM objects, preventing a reference cycle.


title: Component Object Model

text: Because in-process COM components are implemented in DLL files and registration only allows for a single version per CLSID, they might in some situations be subject to the "DLL Hell" effect. Registration-free COM capability eliminates this problem for in-process components; registration-free COM is not available for out-of-process servers.


title: Alt key

text: The Alt key (pronounced or ) on a computer keyboard is used to change (alternate) the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing "A" will type the letter 'a', but holding down the Alt key while pressing "A" will cause the computer to perform an function, which varies from program to program. The international standard ISO/IEC 9995-2 calls it "Alternate key". The key is located on either side of the space bar, but in non-US PC keyboard layouts, rather than a second Alt key, there is an 'Alt Gr' key to the right of the space bar. Both placements are in accordance with ISO/IEC 9995-2. With some keyboard mappings (such as US-International), the right Alt key can be reconfigured to function as an AltGr key although not engraved as such.


title: Alt key

text: The standardized keyboard symbol for the Alt key, (which may be used when the usual Latin lettering “Alt” is not preferred for labeling the key) is given in ISO/IEC 9995-7 as symbol 25, and in ISO 7000 "“Graphical symbols for use on equipment”" as symbol ISO-7000-2105. This symbol is encoded in Unicode as U+2387 (⎇). Macintosh keyboards equate the Alt key with the key, which has its own symbol, similar to that of the ISO standard.


title: Alt key

text: The Alt key should not be confused with the Altmode key (sometimes also labelled Alt) on some Teletype and ASCII terminals, which is a synonym for the ASCII escape character.


title: Alt key

text: The Alt key has come to replace the Meta key of the old MIT keyboards. In their original function, both Alt and Meta would set the high bit of the signal generated by the key to 1 (for example, A generates 01000001 while generates 11000001). However, in modern software, due to the requirement of the high bit for internationalization, Alt no longer works in such a way.


title: Alt key

text: Since the 1990s Alt has been printed on the Option key () on most Mac keyboards. As of 2017, the newest Apple keyboards do not contain the Alt label. Alt is used in non-Mac software, such as non-macOS Unix and Windows programs, but in macOS it is always referred to as the Option key. The Option key's behaviour in macOS differs slightly from that of the Windows Alt key (it is used as a modifier rather than to access pull-down menus, for example).


title: Alt key

text: In Microsoft Windows, holding down the Alt key while typing in numbers (often referred to as Alt codes) on the numeric keypad allows the user to type special characters not normally available on the keyboard. For example, holding down Alt while typing 0225 () on the numeric keypad will result in á, the character at 225 in the codepage. These extended keyboard characters are useful for persons using foreign languages, mathematics, currency symbols, business use, etc. Some computers work the same if the Num Lock key is on.


title: Alt key

text: On a Macintosh, the Alt key is called the Option key. It is not used to enter numeric character codes. Instead, keyboard letters and numbers are used. The diagram below shows the special characters a US Mac keyboard will produce when the Option key is pressed.


title: Alt key

text: The highlighted orange keys show the accents available from the combination of the key and the keyboard characters (on the top letters row) and (on the bottom letters row). The accent then can be applied to associated letters both lower and uppercase. The additional characters a Mac will produce are a combination of both the key and the key pressed down together. With this combination pressed the keyboard will now produce a different set or an uppercase version of the previous set in some cases.


title: Alt key

text: When a user presses the key by itself on Microsoft Windows, that moves keyboard focus to the menu bar of the application having keyboard focus, and the key is not delivered to the application. In that state, another press of the key will be delivered to the application.


title: Alt key

text: On other platforms, for example Ubuntu, the key pressed by itself may invoke another application and not be delivered to the application having keyboard focus. In Ubuntu 16.04, pressing the key opens the HUD, which is an input field that lets the user perform menu commands such as opening a file, or creating a new file.


title: Dancing baby

text: The "Dancing Baby", also called "Baby Cha-Cha" or "the Oogachacka Baby", is a 3D-rendered animation of a baby performing a cha-cha type dance. It quickly became a media phenomenon and one of the first viral videos in the mid-late 1990s.


title: Dancing baby

text: Michael Girard, who has worked on "Rugrats" and "The Simpsons", travelled from Holland, Netherlands, to California, United States, in 1993 with his wife Susan Amkraut. There, the couple started the company Unreal Pictures Inc. and the team began the "Biped" animation project by developing sample 3D animated files. The samples would be released in Character Studio, a plug-in for the Autodesk 3ds Max application (known as "3D Studio Max" at the time) from a division of Autodesk, Kinetix.


title: Dancing baby

text: Robert Lurye, who was animating at Rhythm and Hues Studios, was hired by the company and was told to make more samples. Lurye started changing the choreography of a dancing adult skeleton that had been made by the team (the "chacha.bip" file). He added more dance moves, such as making it "play air guitar for a second and bend over and shake its shoulders." For the visuals, Unreal Pictures Inc. had multiple renderings of creatures that could be animated, including an alien, a dinosaur and a baby. The baby, made by modeler Tony Morrill, had been bought from a Viewpoint DataLabs listing. Team member John Chadwick, by using the Physique software, made the baby model perform the skeleton's dance. He stated that it was his idea to load the dancing animation on the baby. "Vulture", a pop culture website owned by "New York" magazine, reports that the animation was also developed by Paul Bloemink, John Hutchinson and Adam Felt.


title: Dancing baby

text: The result was a file with the name "sk_baby.max". Kinetix exhibited a demo of the Dancing Baby in the 1995 SIGGRAPH computer graphics conference. Character Studio was released in August 1996. According to "The New York Times", Girard had discarded the Dancing Baby, opining it was "disturbing" for its realistic nature, in contrast to Disney animations at the time.


title: Dancing baby

text: LucasArts animator and Autodesk customer Ron Lussier recovered the Dancing Baby by recombining the chacha.bip file with the baby model (which was commercially available), made some minor changes and posted it on a CompuServe Internet forum as an .avi format. He also reportedly sent the Dancing Baby to his colleagues by e-mail. Although Girar credits Lussier as being responsible for the meme's spread, news website "Vox" reports that the meme became viral after it was converted and posted as an animated GIF by developer John Woodell.


title: Dancing baby

text: Users and animators were able to render their own video clips of the 'original' animated dancing baby (sk_baby.max) and circulate these via the Compuserve (Internet) forums, World Wide Web (commercial and private websites), and in print ads and unrestricted e-mail. Such activity proliferated most significantly from mainstream (Windows users) royalty-free access to and user renderings of the 3D dancing baby source file for use on the Internet and in broadcast television via several news editorials, advertisements, and even comic programming in local, national (U.S.), and various international markets. Woodell's animated GIF then proliferated to numerous other websites, and later proceeded to show up in a broad array of mainstream media, including television dramas (e.g., "Ally McBeal"), commercial advertisements, and music videos between 1997 and 1998.


title: Dancing baby

text: Variations to the original animation were later produced by numerous animators by modifying the sk_baby.max sample file's animation or the baby model itself, including a "drunken baby", a "rasta baby", a "samurai baby", and others. However, none of these became as popular on the Internet as the original file, and most popular uses of Dancing Baby are virtually unchanged from the original character mesh and animation.


title: Dancing baby

text: In February 2020, Twitter user @JArmstrongArty not only rediscovered the original Dancing Baby file, but also converted the original animation into high definition.


title: Dancing baby

text: In June 2022, the original creator Team Michael Girard, Robert Lurye and John Chadwick teamed up with Viennese design boutique HFA-Studio to release a digitally restored, high definition version of the Original Dancing Baby as non-fungible-token. To set the original creation in perspective they invited contemporary 3D artists and animators like Chris Torres (creator of the famous "Nyan Cat"), Serwah Attafuah or Kid Eight to "remix" the dancing baby. The project appeared on various media outlets like CNN and gained a lot of attraction in the crypto scene.


title: Dancing baby

text: The Dancing Baby animation spread quickly on popular web forums, individual websites, international e-mail, demo videos, commercials, and eventually mainstream television. Awareness of the baby most significantly increased when it was featured on CBS, CNN, and Fox's comic drama series "Ally McBeal". The animation was shown on several episodes of "Ally McBeal" as a recurring hallucination, suggesting a metaphor for the ticking of Ally's biological clock. On the show, it was accompanied by Blue Swede's cover of the B. J. Thomas song "Hooked on a Feeling". Various commercial advertisements presented the Dancing Baby animation to international markets continuing the mainstream media attention. This particular manifestation of the video, bound to the song, is widely distributed and referred to as the "Ugachaka Baby" (or "Oogachaka Baby").


title: Dancing baby

text: The Dancing Baby made constant appearances in trade shows, worldwide marketing media, and of course in mainstream media such as television, music videos, and later in film too:


title: Dancing baby

text: The Dancing Baby is sometimes referenced as a symbol of 1990s culture, or as part of a tradition dating back to the time of its popularity.


title: Battle of Yultong

text: The Battle of Yultong (; ), also known as the Battle of Meiluodong (), Battle of Yuldong, or Battle of Yuldong-ri, was a battle of the Korean War. It was fought between elements of the Chinese People's Volunteer Army 34th Division (44th Division from Chinese sources) and the Filipino 10th Battalion Combat Team (BCT), north of Yeoncheon during April 22–23, 1951. The battle was part of the Chinese Spring Offensive.


title: Battle of Yultong

text: The Philippine 10th BCT was attached to the U.S. 3rd Infantry Division at the time of the offensive. Initially composed of 1,367 troops, the battalion was reduced to 900 men due to previous casualties and other losses. To prepare for the incoming Chinese offensive, the U.S. 65th Infantry Regiment deployed its 3rd and 2nd Battalions, facing west and northwest, respectively, along the Imjin River, while the attached Philippine 10th BCT held the regiment’s right flank near Route 33. The Turkish Brigade, was just east of the Filipino unit.


title: Battle of Yultong

text: Opposite the United Nations Command forces in the area were the PVA's III Army Group, composed of the 12th, 15th, and 60th Armies. The overall commander of the Chinese PVA forces, Peng Dehuai, planned to have the 12th and 15th Army attack and encircle the Turkish Brigade and the U.S. 3rd Infantry Division, respectively. Near the Imjin River, the 15th Army had a narrow zone between the river and Route 33 projecting through the area held by the 65th Regiment. Along Route 33 and east of it, the 12th Army and 60th Army were to attack through ground held by the Philippine 10th BCT on the right flank of the 3rd Division and through the Pogae-san ridges occupied by the Turkish Brigade and 24th Infantry Division.


title: Battle of Yultong

text: The assault began at 20:00 on 22 April when the enemy hit the Turkish Brigade with an artillery barrage. Shortly after midnight, an artillery and mortar barrage followed by intense small-arms and machine gun fire struck the entire 3rd Division line. While the Turks were engaged in fierce battle, the 10th BCT, deployed in the Yultong area on the left of the Turks, from 23:00 was assaulted in waves by the Chinese and fought a series of close combat engagements within its positions. Communication with the 65th Regiment was disconnected by enemy artillery and some friendly fire support but was restored at 00:30. Around midnight, the Turks were ordered to withdraw to a position on the Line Kansas south of the Hantan River. The 65th Regiment's 2nd Battalion was forced to fall back several hundred yards to regroup due to the intensity of the Chinese attack. At 01:00 of 23 April, the 29th and 44th Divisions of the Chinese 15th Army surrounded the 65th Regiment, cutting off its retreat. The battle forced the 10th BCT's drivers, typists, clerks, medics, cooks, and even the chaplain to join the active combatants. Each company was dispersed and fought in confusion without contact between the units. The battalion's Baker (B) Company, commanded by Lt. Jose Artiaga, Jr., was defending the strategic Yultong Hill when Chinese forces overran their position; the left platoon of B Company was pushed back from their position at 03:00 and, after four hours of furious combat, the enemy infiltrated as deeply as Charlie (C) Company position in the reserve area. The company suffered heavy casualties, including Lt. Artiaga. The battalion commander, Col. Dionisio S. Ojeda, received orders to withdraw. All units complied, except the Tank (renamed into Heavy Weapons) Company. Tank Company commander Capt. Conrado Yap led a counterattack towards the hill to rescue any survivors and recover the dead men of B Company. Although Capt. Yap lost his life in the counterattack, Tank Company succeeded in their objective and recovered a squad of survivors. The 10th BCT held their positions until early morning and covered the retreat of the U.S. 3rd Division. At first light, the Chinese offensive gradually declined, and the battalion launched a counterattack to restore the lost area of B Company. C Company supported by two M24 Chaffee light tanks of Recon Company and an allied artillery unit led the counterattack. At 09:00 on 23 April, Gen. James Van Fleet, commander of the U.S. Eighth Army, ordered a withdrawal to Line Kansas after concluding that many units in I and IX Corps were in danger of being enveloped by the Chinese forces. At 12:15, the 10th BCT finally received orders from Gen. Robert Soule to fall back to Line Kansas, withdrawing to a position in Anhung-ri.


title: Battle of Yultong

text: For their actions, Capt. Conrado D. Yap was posthumously awarded the Philippine Medal of Valor and the U.S. Distinguished Service Cross, while Lt. Jose Artiaga, Jr. was posthumously awarded the Philippine Distinguished Conduct Star. On July 27, 2018, Capt. Yap was awarded the First Class Taegeuk Cordon of the Order of Military Merit on the 65th anniversary of the Korean Armistice Agreement.


title: Battle of Yultong

text: The 10th Battalion Combat Team reported 12 killed, 38 wounded, and 6 missing in action. Chinese losses were reported to be more than 500 killed and 2 captured.


title: Battle of Yultong

text: On 24 April 1951, the 10th BCT was attached to the British 29th Brigade Group as a reserve force, and would later participate in the attempted rescue of the Gloucestershire Regiment during the Battle of the Imjin River.


title: Battle of Yultong

text: On 22 April 1966, the 15th anniversary of the Chinese Spring Offensive, a monument was erected to commemorate the battle in Yeoncheon, South Korea.


title: Backtrace (film)

text: Backtrace is a 2018 American action crime film directed by Brian A. Miller, and starring Sylvester Stallone, Matthew Modine and Ryan Guzman. The film was released as video on demand and limited theatrical release by Lionsgate Premiere on December 14, 2018 in the United States.


title: Backtrace (film)

text: After suffering a brain injury from a bank heist gone wrong, MacDonald (Matthew Modine) develops amnesia and is put into a prison psychiatric ward. Following his seventh year in evaluation, he is coerced by an inmate and a ward doctor (Ryan Guzman and Meadow Williams) to break out of prison and injected with a serum that forces him to relive the life he's forgotten. MacDonald must now elude a local detective (Sylvester Stallone), a toughened FBI agent (Christopher McDonald) and the drug's dangerous side effects in order to recover the stolen money all while confronting his past.


title: Backtrace (film)

text: "Backtrace" was officially announced in November 2018, co-starring Sylvester Stallone, Matthew Modine and Ryan Guzman. Brian A. Miller served as director, with a script written by Mike Maples, the story was detailed as an action crime-thriller involving Stallone's Det. Sykes pursuit of an escaped convicted psychotic bank robber.


title: Backtrace (film)

text: Miller described the project as a whodunit-styled crime mystery. The filmmaker described his experiences with the cast with high praise, noting his life-long fandom of Sylvester Stallone. Miller stated that Stallone's experiences in filmmaking enhanced the film, classifying Stallone as an auteur. The filmmaker additionally that though the final act is a plot-twist, clues and hints are scattered throughout the movie, intended for repeated viewings from the audience. The script underwent several rewrites, prior to production, with major plot changes; while McDonald, Guzman, and Egglesfield joined production immediately after receiving word that Stallone had signed on to co-star in the film.


title: Backtrace (film)

text: The film was shot in Savannah, Georgia and lasted 12 days. Production endured varied unexpected weather patterns, but quickly completed principal photography.


title: Backtrace (film)

text: "Backtrace" grossed $0 in North America and $488,148 in other countries, plus $717,998 with home video sales.


title: Backtrace (film)

text: The film received generally negative reviews with critics criticizing the plot, while giving praise to the performances of Stallone and Guzman. On Rotten Tomatoes, the film has an approval rating of , based on reviews, with an average rating of .


title: Backtrace (film)

text: Joe Leydon of "Variety" gave the film a positive review, stating: "Matthew Modine is outstanding as an amnesia-stricken bank robber in Brian A. Miller's VOD-centric thriller."


title: Backtrace (film)

text: Kevin L. Lee of "Film Inquiry" called the film a "cinematic...headache." The critic criticized the writing, and the film's tone. Similarly, Noel Murray of the "Los Angeles Times" critiqued the plot as unoriginal and familiar, stating: "A movie that very quickly becomes yet another story about people with guns chasing other people with guns, through featureless forests and abandoned buildings."


title: Junior Johnson

text: Robert Glenn Johnson Jr. (June 28, 1931 – December 20, 2019), better known as Junior Johnson, was an American NASCAR driver of the 1950s and 1960s. He won 50 NASCAR races in his career before retiring in 1966. In the 1970s and 1980s, he became a NASCAR racing team owner, winning the NASCAR championship with Cale Yarborough and Darrell Waltrip. He produced a line of fried pork skins and country ham. He is credited as the first to use the drafting technique in stock car racing. He was nicknamed "The Last American Hero," and his autobiography is of the same name. In May 2007, Johnson teamed with Piedmont Distillers of Madison, North Carolina, to introduce the company's second moonshine product, called "Midnight Moon Moonshine".


title: Junior Johnson

text: Johnson was born in Ronda, North Carolina, the fourth of seven children of Lora Belle (Money) and Robert Glenn Johnson, Sr. His family is of Ulster Scots descent, and settled in the foothills of North Carolina in the eighteenth century. The Johnson family was involved in the whiskey business before he was born. His maternal great-grandfather served as the second-highest-ranking Confederate general in North Carolina.


title: Junior Johnson

text: His father, a lifelong bootlegger, spent nearly twenty of his sixty-three years in prison, as their house was frequently raided by revenue agents. Junior was arrested and spent one year in prison in Ohio in 1956-57 for having an illegal still, although he was never caught in his many years of transporting bootleg liquor at high speed.


title: Junior Johnson

text: In 1955, Johnson began his career as a NASCAR driver. In his first full season, he won five races and finished sixth in the 1955 NASCAR Grand National points standings.


title: Junior Johnson

text: In 1959, Johnson won five more NASCAR Grand National races (including a win from the pole position at the 1959 Hickory 250); by this time he was regarded as one of the best short-track racers in the sport.


title: Junior Johnson

text: His first win at a "superspeedway" came at the Daytona 500 in 1960. Johnson and his crew chief, Ray Fox, were practicing for the race, trying to figure out how to increase their speed, which was slower than that of the top cars in the race. During a test run, a faster car passed Johnson. He noticed that, when he moved behind that car, his own car's speed increased because of the faster car's slipstream. Johnson was then able to stay close behind the other car until the final lap of the test run, when he used the "slipstream" effect to slingshot past it. By using this technique, Johnson went on to win the 1960 Daytona 500, despite that his car was slower than others in the field. Johnson's technique was quickly adopted by other drivers, and his practice of "drafting" has become a common tactic in NASCAR races.


title: Junior Johnson

text: In 1963 he had a two-lap lead in the World 600 at Charlotte before a spectator threw a bottle onto the track and caused a crash; Johnson suffered only minor injuries. Johnson also tried to qualify for the 1963 Indianapolis 500 but he failed to qualify.


title: Junior Johnson

text: He retired as a driver in 1966. In his career, Johnson claimed 50 victories, 11 at major speedway races. He retired as the winningest driver never to have a championship.


title: Junior Johnson

text: Johnson was a master of dirt track racing. "The two best drivers I've ever competed against on dirt are Junior Johnson and Dick Hutcherson," said two-time NASCAR champion Ned Jarrett.


title: Junior Johnson

text: As a team owner, he worked with many NASCAR drivers, including Darel Dieringer, LeeRoy Yarbrough, Cale Yarborough, Bobby Allison, Darrell Waltrip, Neil Bonnett, Terry Labonte, Geoffrey Bodine, Sterling Marlin, Jimmy Spencer and Bill Elliott. In all, his drivers won 132 races, which is fifth to Petty Enterprises, Hendrick Motorsports, Joe Gibbs Racing and Roush Fenway Racing. His drivers won six Winston Cup Championships—three with Yarborough (1976–1978) and Waltrip (1981–82, 1985).


title: Junior Johnson

text: In 2011, Johnson announced that he would restart a race team with son Robert as the driver. Junior Johnson Racing will be located in Hamptonville, North Carolina. Robert, the 2010 UARA Rookie of the Year, plans to run a 28–30 race schedule in 2011, which includes the entire K&N East Series schedule and some races in the UARA and Whelen All-American Series.


title: Junior Johnson

text: Johnson was briefly married in 1949 to Mary Gray. His marriage to childhood sweetheart Flossie Clark (1929–2020) ended in divorce in 1992; they were legally married in 1975, although they had been together since the early 1950s. (Racing Legends have them as married in 1958). His marriage to Lisa Day (b.1965) in 1992 resulted in two children: daughter Meredith Suzanne (b.1995) and son Robert Glenn Johnson III (b.1993), both of whom attended Duke University. Johnson built a new home for his family in 1997, selling in 2012 because of poor health. He resided in Charlotte, North Carolina, at the time of his death in 2019.


title: Junior Johnson

text: Until Flossie's death on April 9, 2020, she still resided in the family home, built by Junior in 1964 (next to Johnson's old Ingle Hollow race shop), which she kept as part of the divorce settlement.


title: Junior Johnson

text: On December 26, 1986, President Ronald Reagan granted Johnson a presidential pardon for his 1956 moonshining conviction. In response to the pardon, which restored his right to vote, Johnson said, "I could not have imagined anything better."


title: Junior Johnson

text: In the mid-1960s, writer Tom Wolfe researched and wrote an article about Johnson, published in March 1965 in "Esquire", and reprinted in Wolfe's The Kandy-Kolored Tangerine Flake Streamline Baby. This was eventually reprinted in "The Best American Sports Writing of the Century", ed. David Halberstam (1999). The article, originally entitled "Great Balls of Fire", turned Johnson into a national celebrity and led to fame beyond the circle of NASCAR fans. In turn, the article was made into a 1973 movie based on Johnson's career as a driver and moonshiner, "The Last American Hero" (a.k.a. "Hard Driver"). Jeff Bridges starred as a fictionalized Johnson, and Johnson himself served as technical advisor for the film. The movie was critically acclaimed and featured the Jim Croce hit song "I Got A Name".


title: Junior Johnson

text: Follow Your Dreams Productions' President and CEO, Fred Griffith, has signed a rights deal for a true-life story movie about Junior Johnson (Sports Illustrated Vault, 2006). Griffith, an American actor and producer from South Carolina, is currently adapting a screenplay based largely on the book, "Junior Johnson, Brave In Life", written by Tom Higgins and Steve Waid (Big West Racing, 2006). Veteran actor and producer Chris Mulkey is a writing producer for the film. According to Griffith, this film—unlike "The Last American Hero", which was about a fictionalized version of Johnson named Junior "Jackson"—will remain true to the real life of Junior Johnson.(Morris 2006, p. C-1) Johnson had a voice role in the animated film "Cars 3", as Junior "Midnight" Moon, a reference to his Moonshine Company.


title: Junior Johnson

text: In May 2007, Johnson teamed with Piedmont Distillers to introduce the company's second moonshine product, called Midnight Moon. Johnson became part owner of Piedmont Distillers, the only legal distiller in North Carolina at the time. Piedmont Distillers is located in Madison, N.C., in the town’s former train station built in 1915. Midnight Moon follows the Johnson family’s generations-old tradition of making moonshine and is available in all 50 states. Every batch is produced in an authentic copper still and handcrafted in small batches. The 'shine is a legal version of his locally famous family recipe and is available in eight varieties that range from 70–100 proof.


title: Junior Johnson

text: Johnson died at a hospice care facility in Charlotte on December 20, 2019, at age 88. He had Alzheimer's disease at the time.


title: Rodrigo Prieto

text: Rodrigo Prieto, ASC, AMC (born November 23, 1965), is a Mexican cinematographer. He has been closely associated as cinematographer for Martin Scorsese and Alejandro González Iñárritu, among other directors. He is a member of both the Mexican Society of Cinematographers and the American Society of Cinematographers. Throughout his career, Prieto has received many awards and nominations, including three Academy Award for Best Cinematography nominations for Ang Lee's "Brokeback Mountain" (2005) and Martin Scorsese's "Silence" (2016) and "The Irishman" (2019).


title: Rodrigo Prieto

text: Rodrigo Prieto was born in Mexico City, Mexico. His grandfather, Jorge Prieto Laurens, was the mayor of Mexico City and leader of the Chamber of Deputies of Mexico, but was later persecuted by the country's ruler because of political differences. Prieto's grandfather escaped with his family to Texas and then to Los Angeles. There, Prieto's father would spend most of his childhood. Prieto's father studied aeronautical engineering at New York University, where he met and married Prieto's mother, an artist. Rodrigo Prieto graduated from Centro de Capacitación Cinematográfica in Mexico City. Prieto became an established cinematographer, working with such names as Spike Lee ("25th Hour"), Curtis Hanson ("8 Mile"), Ang Lee ("Brokeback Mountain" and "Lust, Caution)" and Pedro Almodóvar "(Broken Embraces"). Nonetheless, his political legacy still has a visible effect on his career. In 2002, Prieto shot "Frida", a film about Frida Kahlo, a communist Mexican artist. In 2003, Prieto cooperated with Oliver Stone in two documentary projects: "Comandante", about Fidel Castro, and "Persona Non Grata", about Yasser Arafat. In 2004, Prieto shot "Alexander" for Stone. Prieto also worked with Alejandro González Iñárritu on the acclaimed "Amores perros", "21 Grams", "Babel" and "Biutiful".


title: Rodrigo Prieto

text: Prieto is noted for his unconventional use of the camera often combined with strong moody lighting. In "25th Hour", Prieto utilized overexposure and other techniques to create original dream-like images to signify that the events shown on screen are memories or visions. Similarly innovative photography could be spotted in "Frida", featuring strong colors and sharp imagery blended with atmospheric yellows and browns, as well as his experimental use of infrared during a battle scene in "Alexander". Prieto also is interested in evoking naturalism, most evident in "The Homesman" and "Brokeback Mountain". Prieto not only shot "Brokeback Mountain", for which he was nominated for an Academy Award for Best Cinematography, but appeared in a cameo role within the film as a Mexican gigolo whom Jake Gyllenhaal's character, Jack Twist, meets.


title: Rodrigo Prieto

text: Prieto has formed an artistic collaboration with Martin Scorsese; first on "The Wolf of Wall Street", "Silence", for which he garnered his second Academy Award nomination for Best Cinematography, and most recently "The Irishman", released in November 2019. In December 2019, Prieto announced he would be involved with Scorsese's upcoming film "Killers of the Flower Moon". He served as cinematographer for the music videos for the three Taylor Swift 2020 singles, "The Man", which references one of his previous films, "The Wolf of Wall Street", "Cardigan" and "Willow".


title: Rodrigo Prieto

text: Prieto resides in Los Angeles, California with his wife Monica and they have two daughters: Maria Fernanda and Ximena.


title: 2001–2002 India–Pakistan standoff

text: The 2001–2002 India–Pakistan standoff was a military standoff between India and Pakistan that resulted in the massing of troops on both sides of the border and along the Line of Control (LoC) in the region of Kashmir. This was the second major military standoff between India and Pakistan following the successful detonation of nuclear devices by both countries in 1998, the first being the Kargil War of 1999.


title: 2001–2002 India–Pakistan standoff

text: The military buildup was initiated by India responding to a terrorist attack on the Indian Parliament in New Delhi on 13 December 2001 (during which twelve people, including the five terrorists who attacked the building, were killed) and the Jammu and Kashmir Legislative Assembly on 1 October 2001 in which 38 people were killed. India claimed that the attacks were carried out by two Pakistan-based terror groups fighting in Indian-administered Kashmir—Lashkar-e-Taiba and Jaish-e-Mohammad, both of whom India has said are backed by Pakistan's ISI–a charge that Pakistan has denied. Farooq Abdullah the then chief minister of Jammu and Kashmir state urged India to launch a war against militant training camps across the border in Pakistan.


title: 2001–2002 India–Pakistan standoff

text: In Western media, coverage of the standoff focused on the possibility of a nuclear war between the two countries and the implications of the potential conflict on the American-led "Global War on Terrorism" in nearby Afghanistan. Tensions de-escalated following international diplomatic mediation which resulted in the October 2002 withdrawal of Indian and Pakistani troops from the international border.


title: 2001–2002 India–Pakistan standoff

text: The Indian codename for the military mobilization was Operation Parakram, which has been characterized by Sanjay Ahirwal of "NDTV" as a manifestation of India's "resolve to have an eyeball to eyeball confrontation" with Pakistan, and also an operation which led to attainment of some of its military and political objectives.


title: 2001–2002 India–Pakistan standoff

text: Towards the end of the protracted military standoff, in a surreptitious operation, India's Jat Regiment occupied a strategically important mountain peak Point 5070 on the Pakistani side of the LoC near Dras and subsequently rechristened it as "Balwan". This had implications for the Pakistani army, which was accustomed to occupying the peak during summer, as the peak gave India a vantage view of Gultari valley which sustained Pakistani posts in Dras. In consequence, the Pakistani army dispensed its entire chain of command, including the Pakistani Brigade Commander and GOC of the Northern Areas over the loss of this peak, while their Indian counterpart Lt. Gen. Deepak Summanwar was felicitated with an Uttam Yudh Seva Medal as a recognition of India's complete domination of the boundary area near Dras.


title: 2001–2002 India–Pakistan standoff

text: On the morning of 13 December 2001, a cell of five armed men attacked the Parliament of India by breaching the security cordon at Gate 12. The five men killed seven people before being shot dead by the Indian Security Forces.


title: 2001–2002 India–Pakistan standoff

text: World leaders and leaders in nearby countries strongly condemned the attack on the parliament, including Pakistan. On 14 December, the ruling Indian National Democratic Alliance blamed Pakistan-based Lashkar-e-Taiba (LeT) and Jaish-e-Mohammed (JeM) for the attack. Indian Home Minister L.K. Advani claimed, ""we have received some clues about yesterday's incident, which shows that a neighboring country, and some terrorist organizations active there are behind it"", in an indirect reference to Pakistan and Pakistan-based militant groups. The same day, in a démarche to Pakistan's High Commissioner to India, Ashraf Jehangir Qazi, India demanded that Pakistan stop the activities of LeT and JeM, apprehend the organisation's leaders and their access to all financial assets. Following the Indian Government's statements, Pakistan put its military into full combat readiness the same day.


title: 2001–2002 India–Pakistan standoff

text: The spokesman for the Pakistani military's public media wing (ISPR), Major-General Rashid Qureshi, said that the attack on the Indian parliament was a result of India's efforts to start a conflict with Pakistan, claiming that ""Those [Indians] who can kill thousands of defenseless people in Kashmir can resort to such tactics to gain international sympathy. We demand the international community probe this attack independently to know the truth"." while another senior official maintained that India's failure to solve internal problems have caused them to blame Pakistan for everything without cause, stating ""Why have the Indians rejected the U.S. government’s offer to send an FBI team to investigate the attack on the parliament?""


title: 2001–2002 India–Pakistan standoff

text: On 20 December, amid calls from the United States, Russia, and United Nations to exercise restraint, India mobilised and deployed its troops to Kashmir and Indian Punjab in what was India's largest military mobilisation since the 1971 conflict. The Indian codename for the mobilisation was Operation "Parakram" (Sanskrit: "Valour").


title: 2001–2002 India–Pakistan standoff

text: The troop deployment to India's western border was expected to take three to four weeks, accordingly, the military action involving a limited offensive against the terrorists' training camps in Pak administered Kashmir was planned by the Indian Cabinet Committee on Security for the second week of January 2002. It would start with an airstrike by the Indian Air Force's Tiger Squadron to attack zones with a large concentration of camps. Special forces of the Indian Army would then launch a limited ground offensive to further neutralize the terrorist camps and help to occupy the dominant positions on the LoC. 14 January 2002, was decided as the tentative D-day.


title: 2001–2002 India–Pakistan standoff

text: According to the Indian strategy, a limited strike in the Pakistan administered Kashmir was preferred as it would convey the Indian resolve to Pakistan and yet keep the international retribution levels that are manageable. Indian actions would then be comparable to the ongoing US offensive in Afghanistan against Osama bin Laden's Al-Qaida terrorists.


title: 2001–2002 India–Pakistan standoff

text: The CCS had weighed in the possibility of Pakistan launching an all-out offensive as a response to the Indian strikes. The intelligence assessment suggested that the Pakistani Army was not well prepared. This further minimized the chances of Pakistan launching a full-scale war. The Indian plans were strengthened by a strong economy with low inflation, high petroleum, and forex reserves. Finance minister Yashwant Sinha announced that the Indian economy was prepared for war, in spite of being the final option. The limited strike served as a tactical option. The troop build-up signaled "India's seriousness" to the international community. If Pakistan's strategy did not change then India would have no other option.


title: 2001–2002 India–Pakistan standoff

text: In late December, both countries moved ballistic missiles closer to each other's border, and mortar and artillery fire was reported in Kashmir. By January 2002, India had mobilized around 500,000 troops and three armored divisions on Pakistan's border, concentrated along the Line of Control in Kashmir. Pakistan responded similarly, deploying around 300,000 troops to that region. The tensions were partially diffused after Musharraf's speech on 12 January promising action on terror emanating from Pakistan.


title: 2001–2002 India–Pakistan standoff

text: Artillery duels were commonplace during the protracted military confrontations. In one such instance, well over 40 Pakistani soldiers perished on Point 5353 near Dras when Indian troops from nearby Point 5165, Point 5240 and Point 5100 commenced artillery fire on the Pakistani post, rendering the Pakistanis unable to reinforce their troops.


title: 2001–2002 India–Pakistan standoff

text: India initiated its diplomatic offensive by recalling Indian high commissioner and the civilian flights from Pakistan were banned.


title: 2001–2002 India–Pakistan standoff

text: Pakistan picked up the war signals and began mobilization of its military and initiated diplomatic talks with US President George W. Bush. American Secretary of State Colin Powell engaged with India and Pakistan to reduce tensions. In the first week of January, British Prime Minister Tony Blair visited India with a message that he was pressurizing Pakistani President Musharraf. The USA declared LeT and JeM as foreign terrorist groups.


title: 2001–2002 India–Pakistan standoff

text: On 8 January 2002, Indian Home Minister L. K. Advani visited the US, where he was informed about the contents of the upcoming landmark speech by Musharraf. On 12 January 2002, President Pervez Musharraf gave a speech intended to reduce tensions with India. He for the first time condemned the attack on Parliament as a terrorist attack and compared it with the 11 September attacks. He declared in his speech that terrorism was unjustified in the name of Kashmir and Pakistan would combat extremism on its own soil. Pakistan would resolve Kashmir with dialogue and no organization will be allowed to carry out terrorism "under the pretext of Kashmir". As demanded by India, he also announced plans for the regulation of madrasas and banning the known terrorist groups that were operating out of Pakistan. He announced a formal ban on five jihadi organizations, that included Jaish-e-Muhammad and Lashkar-e-Taiba engaged in militancy in Kashmir.


title: 2001–2002 India–Pakistan standoff

text: The Indian Prime Minister Atal B. Vajpayee though skeptic of the seriousness of Musharraf's pledges, decided not to carry out the military attack planned for 14 January.


title: 2001–2002 India–Pakistan standoff

text: Tensions escalated significantly in May 2002. On 14 May, three suicidal terrorists attacked an Army camp at Kaluchak near Jammu and killed 34 people and injured fifty more before getting killed, most of the victims were the wives and children of Indian soldiers serving in Kashmir. The terrorist incident again revived the chance of a full-blown war.


title: 2001–2002 India–Pakistan standoff

text: On 15 May, PM Vajpayee was quoted in the Indian Parliament saying ""Hamein pratikar karna hoga (We will have to counter it)."" American Deputy Secretary of State, Richard Armitage, quoted the incident as a trigger for further deterioration of the situation.


title: 2001–2002 India–Pakistan standoff

text: The Indian Cabinet had little belief that diplomatic pressure could stop Pakistan's support for the militants in Kashmir. India accused Pakistan that it was failing to keep its promise on ending the cross-border terrorism. Musharraf's follow-up to his speech on 12 January was observed by India as weak and disingenuous. Pakistan did not extradite the terrorist leaders demanded by India, and Lashkar was allowed to continue its operations in Pakistan as a charity with a new name. During the spring, jihadi militants started crossing the Line of Control again.


title: 2001–2002 India–Pakistan standoff

text: On 18 May, Vajpayee reviewed the preparedness with the Defence Minister Fernandes, Director-General Military Operations and Military Intelligence Chief. The CCS met and favored taking military action against terrorists in Pakistan. A limited military action similar to the one planned in January was not considered viable as Pakistan had strengthened its forces on the LoC. Any action limited to Pakistan administered Kashmir would only have limited military gains. Indian military favored an offensive along the Indo-Pak border that will stretch the Pakistani troops and provide India access to Pakistan administered Kashmir.


title: 2001–2002 India–Pakistan standoff

text: The Indian armed forces accordingly prepared the plan to target the war-waging capabilities of Pakistan and destroy the terrorist camps. The battle canvas planned for June was larger than the one planned in January. The Indian Air Force along with the 1 Strike Corps of India would initiate an attack in Shakargarh bulge to engage Pakistan's Army Reserve North (ARN) that was spread from Muzaffarabad to Lahore. This would engage Pakistan's key strike corp while Indian strike formations from Eastern Command would carry out the offensive at the Line of Control and capture the strategic positions used by the terrorists for infiltrations. The period considered was between 23 May and 10 June.


title: 2001–2002 India–Pakistan standoff

text: During the end of May 2002, the Indian and Pakistani armed forces continued to be fully mobilized. The tenor of statements published in the Indian press and intelligence information collected, pointed to an imminent invasion by India. An SOS sent to Israel by the Indian Defence Ministry for defense supplies during the month of June confirmed the intelligence.


title: 2001–2002 India–Pakistan standoff

text: On 18 May, India expelled the Pakistani High Commissioner. That same day, thousands of villagers had to flee Pakistani artillery fire in Jammu. On 21 May, clashes killed six Pakistani soldiers and 1 Indian soldier, as well as civilians from both sides. On 22 May, Indian Prime Minister Vajpayee announced to his troops to prepare for a "decisive battle".


title: 2001–2002 India–Pakistan standoff

text: Between 25 and 28 May, Pakistan conducted 3 missile tests. India reviewed its nuclear capability to strike back. On 7 June the Indian Air Force lost an unmanned aerial vehicle near Lahore, which Pakistan claimed to have shot down.


title: 2001–2002 India–Pakistan standoff

text: As both India and Pakistan are armed with nuclear weapons, the possibility a conventional war could escalate into a nuclear one was raised several times during the standoff. Various statements on this subject were made by Indian and Pakistani officials during the conflict, mainly concerning a no first use policy. Indian External Affairs Minister Jaswant Singh said on 5 June that India would not use nuclear weapons first, while Musharraf said on 5 June he would not renounce Pakistan's right to use nuclear weapons first. There was also concern that a 6 June 2002 asteroid explosion over Earth, known as the Eastern Mediterranean Event, could have caused a nuclear conflict had it exploded over India or Pakistan.


title: 2001–2002 India–Pakistan standoff

text: Vajpayee contacted the leaders of the global community including Bush, Blair, Russian President Vladimir Putin and French President Jacques Chirac and informed them Musharraf could not deliver on his 12 January speech and the patience of the country was running out. In the diplomacy that followed, Bush, Putin, Blair and Japanese Prime Minister Junichiro Koizumi requested Vajpayee to avoid taking the extreme step. The global community informed India that it would negotiate with Musharraf to clarify his position on stopping of the cross-border infiltration.


title: 2001–2002 India–Pakistan standoff

text: Attempts to defuse the situation continued. The Russian President Vladimir Putin tried to mediate a solution, but in vain.


title: 2001–2002 India–Pakistan standoff

text: Restraint was urged by the global community as there were fears that Pakistan would proceed to use its nuclear weapons in the face to counter its conventional asymmetry as compared to the Indian armed forces. In April, in an interview to German magazine Der Spiegel Musharraf had already hinted that he was willing to use nukes against India. Pakistan's nuclear threats led to US Secretary of State Powell contacting Musharraf at five occasions in the last week of May and reading the riot act.


title: 2001–2002 India–Pakistan standoff

text: On 5 June 2002, American Deputy Secretary of State Richard Armitage visited Pakistan. He asked Musharraf if he would "permanently" end cross-border infiltration and help to dismantle the infrastructure used for terrorism. On 6 June 2002, Musharraf 's commitment was conveyed to Powell, and to India after his arrival. On 10 June 2002, Powell announced Musharraf's promise to the global community, after which India called off its strike plans.


title: 2001–2002 India–Pakistan standoff

text: A full-frontal invasion would have translated into war. Political logic implied it was better to give another chance to Musharraf. The military build-up on the border by India in January and June had forced both the international community and Pakistan into action.


title: 2001–2002 India–Pakistan standoff

text: On 29 July 2002 for the first time after the end of the Kargil war, India used air power to attack positions held by the Pakistani forces at Loonda Post on the Indian side of the Line of Control in the Machil sector. Eight IAF Mirage 2000 H aircraft dropped precision-guided bombs weighing 1,000-pounds to destroy four bunkers that were occupied by Pakistan. The forward trenches prepared by Indian troops in earlier years were also occupied by the Pakistani forces and 155-millimetre Bofors howitzers were used to hit them. According to Indian military intelligence officials, at least 28 Pakistani soldiers were killed in the fighting. The air assault was conducted in daylight and to demonstrate India's willingness to escalate the conflict in response to provocations.


title: 2001–2002 India–Pakistan standoff

text: Pakistani army troops stationed near the post in the Kupwara sector's Kel area of the LoC had been shelling the Indian positions across the LoC. India suspected a troop build-up situation near the border post that was similar to Kargil. Indian army planned retaliation by sending troops to attack the Pakistani posts. The initial ground attack to retake the post failed, with the Indian army suffering 11 casualties. Later on, after deliberations with the then Army Chief, General Sundararajan Padmanabhan, the plan was modified and instead of only a ground assault, the decision was made to first attack Pakistani positions using the IAF jets followed by a ground assault by the Indian Special Forces. At 1:30 pm on 2 August, IAF's LGB capable Mirage 2000 H fighter aircraft loaded with laser-guided weapons bombed the Pakistani bunkers located in the Kel. The attack destroyed the bunkers with an unknown number of casualties.


title: 2001–2002 India–Pakistan standoff

text: While tensions remained high throughout the next few months, both governments began easing the situation in Kashmir. By October 2002, India had begun to demobilise their troops along her border and later Pakistan did the same, and in November 2003 a cease-fire between the two nations was signed.


title: 2001–2002 India–Pakistan standoff

text: The Indian cost for the buildup was $3 billion to $4 billion while Pakistan's was $1.4 billion. The standoff led to a total of 155,000 Indians and 45,000 Pakistanis displaced, per Pakistani media estimates.


title: 2001–2002 India–Pakistan standoff

text: One of the reasons for the failure of Operation Parakram is described to be the slow mobilisation of 500,000 troops. It took nearly three weeks for India to completely move 500,000 troops, 3 armoured divisions, and other supporting units to the border. The delay allowed Pakistan to move its own 300,000 troops along with the supporting units to the border. Lacking strategic surprise, Indian military decided to withdraw its troops.


title: 2001–2002 India–Pakistan standoff

text: On 5 November 2011 former Indian naval chief, Admiral Sushil Kumar, claimed that operation Parakram lacked clear objectives. He described the operation as a "punishing mistake" for India. Moreover, he said that Operation Parakram, may in fact have encouraged both Pakistan and China to increase cross-border violations. Had India tried a similar operation against China, it would have been a fatal blunder for India.


title: SsangYong Korando

text: The SsangYong Korando (Korean: 쌍용 코란도) is a mini SUV or compact crossover SUV built by the South Korean automobile manufacturer SsangYong from 1983 to 2006 and from 2010 onwards. The name Korando is a contraction of "Korea Can Do".


title: SsangYong Korando

text: In 1964, Ha Dong-hwan Motor Company began to assemble Jeeps, trucks, and buses for the US armed forces and for the United Nations Command.


title: SsangYong Korando

text: In November 1969, the CJ-5 entered production with the Willys Hurricane inline-four engine and in 1971, a ten-seater version and a pickup model were introduced. In April 1974, American Motors and Shinjin Motors formed a joint venture, Shinjin Jeep Motors, to build local Jeeps. Sold under the Asia Motors badge, military Jeeps were built (M38A1, M606) as the Asia KM410. This range eventually developed into the Asia Rocsta. The civilian CJ-5 Jeep was built as the Asia Landmaster from September 1974, with a long-wheelbase model added in 1977. These originally had a locally built AMC 258 ci straight-six engine with SAE, but after the oil crises of the seventies Isuzu's 2.8-liter 4BA1 diesel engine with SAE was introduced in July 1979.


title: SsangYong Korando

text: Troubled AMC withdrew from South Korea in August 1978. Shinjin Motors sold a shipment of Jeeps to Libya in 1979, in spite of the embargo, and this led to another ownership shakeup as it invalidated the license. Keohwa Co Ltd took over production in March 1981, and rotated the bars in the grille to minimize the resemblance to a Jeep. It remained available on two wheelbases of , with the AMC inline-six or the Isuzu 2.8-liter diesel. In November 1982, the nine-seater "Family Deluxe" was introduced, and the range was renamed "Korando" in March 1983.


title: SsangYong Korando

text: Keohwa was absorbed by Dong-A Motor in December 1984, and a facelift followed in March 1985. The new model had a changed interior and the large diesel was replaced by the 2238 cc Isuzu C223 engine. The pickup version was discontinued. In June, Isuzu's 2-liter G200Z petrol engine was added. In 1986, Korandos were exported to Japan; and in 1988, SsangYong began exporting them to Europe. In November 1986 Dong-A was integrated into the SsangYong Group, who changed the company's name to SsangYong Motor Company in March 1988.


title: SsangYong Korando

text: Unlike the CJ-7, a 9-seat extended version was also available, called the Korando K9. In late 1988 a new SUV on the chassis of the Isuzu Trooper was introduced, called the SsangYong Korando Family, but this car has no relation to the Jeep CJ-7 beyond the "Korando" nameplate. Production of the Jeep-based Korando ended in 1996.


title: SsangYong Korando

text: The second generation "New" Korando was released in Asia in 1996 to complement the SsangYong Musso (released in 1993), released in Europe in 1997 and in Australia in 1998 and was based on a shortened version of the Musso's chassis. The 1.8 tonne 3-door mini SUV was designed by Professor Ken Greenley.


title: SsangYong Korando

text: It features a choice of 2.3- and 3.2-liter gasoline engines, or 2.3- and 2.9-liter diesel engines, all produced on license from Mercedes-Benz, accompanied by a five-speed manual Borg-Warner gearbox. The interior of the second generation Korando was unique because it had a steering wheel arch on either side. This was to make converting to right-hand-drive easier and to cut down on production costs. On the passenger's side, a handle was fitted in the arch.


title: SsangYong Korando

text: This generation was sold as the Daewoo Korando from 1999 to 2001, as Daewoo bought a majority stake in SsangYong, but was later forced to sell its shares.


title: SsangYong Korando

text: Production of the second generation ended in 2006. Sales however in many markets continued through to 2007 due to remaining stock. It was available with a variety of petrol and diesel engines, including a 2.9-liter five-cylinder diesel from Mercedes-Benz. In 2008, Russian TagAZ, under license, began to assemble the Korando as the TagAZ Tager, not only three-door guise, but also in a specific five-door long-wheelbase version.


title: SsangYong Korando

text: The third generation Korando, codenamed the SsangYong C200 began production in late 2010. It is to be the first car to be released as part of SsangYong's revised lineup. It has slightly longer wheelbase than its rivals, the Hyundai ix35 and Kia Sportage. The decision to name the C200 the Korando was done so by SsangYong. The car will be sold in Russia as the SsangYong New Actyon.


title: SsangYong Korando

text: In 2013, SsangYong introduced facelift version of Korando. They re-designed front grille with new headlights include LED daytime running lamp, and rear combination lamp. In 2016, SsangYong replaced Korando's 2.0 liter diesel engine to 2.2 liter diesel engine with Euro 6 compliance. In 2017, 2nd facelift version revealed.


title: SsangYong Korando

text: The third generation Korando was initially released with a 6-speed manual transmission and a 6-speed M11 automatic transmission and is in production from May 2011 to 2015. Since 2015, SsangYong replaced Korando's automatic gearbox to Aisin 6-speed transmission. It is also to be offered as a front-wheel-drive or four-wheel-drive from launch. Its combined fuel consumption is 5.5 L/100 km and acceleration from 0–100 km takes less than 10 seconds. The engine available upon release was a 2.0 liter turbodiesel producing 175 horsepower. Petrol engine was introduced in 2012.


title: SsangYong Korando

text: The Korando comes with 6 airbags as standard. The trunk capacity is 480 liters; however this can be expanded to 1300 liters when the seats are folded down.


title: SsangYong Korando

text: The new Korando was well received from a design perspective with many reviewers noting design improvements over previous models. Interior space too, was praised, as was the all-new monocoque chassis.


title: SsangYong Korando

text: The original concept, the C200, debuted at the 2008 Paris Motor Show and has since been shown at many others. The concept received mostly positive feedback and was thought by many to be the vehicle that can turn SsangYong's reputation for having cars with questionable styling around.


title: SsangYong Korando

text: The concept car C200 Aero made its debut at the 2009 Seoul Motor Show. It was released one year later as Korando C with almost no modification of the original Giugiaro design.


title: SsangYong Korando

text: The C200 Eco made its debut at the 2009 Seoul Motor Show. It is a hybrid which uses both a diesel engine and an electric one (powered by a 340 volt battery). It also uses a stop-start system which shuts off the engine during stops. Fuel saving will be around 25%. The interior features a green trim and an airy cabin.


title: SsangYong Korando

text: Launched at the 2010 Busan International Motor Show, the new Korando C concept has stayed mostly the same as the previous concepts but has more aggressive styling and is said to be a representation of the production version. Performance-wise, the new concept has a 2.0-liter turbo-diesel engine and a confirmed power output of and of torque. The interior is similar to that of the C200 Eco. It was also displayed as an Actyon at the 2010 Moscow International Automobile Salon, wearing SsangYong's global logo instead of their domestic logo.


title: SsangYong Korando

text: Launched at the 2010 Busan International Motor Show, the Korando EV was a fully electric concept car based on the Korando C. It has a top speed of 150 km/h, and a range of 180 km.


title: SsangYong Korando

text: Launched at the 2010 Busan International Motor Show alongside the Korando C and Korando EV concepts was an Atomouse-themed art car, in collaboration with Korean pop artist Dongi Lee and the Gana Art Centre. It was also displayed as an Actyon at the 2010 Moscow International Automobile Salon, wearing SsangYong's global logo instead of their domestic logo.


title: SsangYong Korando

text: On January 28, 2019, SsangYong released a teaser image and video of the new Korando. The Korando was launched in South Korea on February 26, and debuted to the global market in Geneva Motor Show 2019.


title: SsangYong Korando

text: The Korando is offered with a choice of 163 horsepower 1.5-liter turbo petrol or 136 horsepower 1.6-liter diesel engine and is available in two or four-wheel drive. And it is equipped with 6-speed manual transmission or 6-speed AISIN automatic gearbox.


title: SsangYong Korando

text: The Korando E-motion is a fully electric version of the Korando and the first fully electric SsangYong. It was made available from the 2022 model year. The vehicle features a 61.5 kWh battery allowing for 339 km of WLTP range, which powers a , 360 Nm front-wheel driving electric motor.


title: SsangYong Korando

text: Euro NCAP test results for a SsangYong Korando 1.6 diesel, LHD, 5-door SUV variant with standard safety equipment on a 2019 registration:


title: Fuzzy set

text: In mathematics, fuzzy sets (a.k.a. uncertain sets) are sets whose elements have degrees of membership. Fuzzy sets were introduced independently by Lotfi A. Zadeh in 1965 as an extension of the classical notion of set.


title: Fuzzy set

text: At the same time, defined a more general kind of structure called an "L"-relation, which he studied in an abstract algebraic context. Fuzzy relations, which are now used throughout fuzzy mathematics and have applications in areas such as linguistics , decision-making , and clustering , are special cases of "L"-relations when "L" is the unit interval [0, 1].


title: Fuzzy set

text: In classical set theory, the membership of elements in a set is assessed in binary terms according to a bivalent condition—an element either belongs or does not belong to the set. By contrast, fuzzy set theory permits the gradual assessment of the membership of elements in a set; this is described with the aid of a membership function valued in the real unit interval [0, 1]. Fuzzy sets generalize classical sets, since the indicator functions (aka characteristic functions) of classical sets are special cases of the membership functions of fuzzy sets, if the latter only takes values 0 or 1. In fuzzy set theory, classical bivalent sets are usually called "crisp sets". The fuzzy set theory can be used in a wide range of domains in which information is incomplete or imprecise, such as bioinformatics.


title: Fuzzy set

text: A fuzzy set is a pair formula_1 where formula_2 is a set (often required to be non-empty) and formula_3 a membership function.


title: Fuzzy set

text: The reference set formula_2 (sometimes denoted by formula_5 or formula_6) is called universe of discourse, and for each formula_7 the value formula_8 is called the grade of membership of formula_9 in formula_10.


title: Fuzzy set

text: The (crisp) set of all fuzzy sets on a universe formula_2 is denoted with formula_20 (or sometimes just formula_21).


title: Fuzzy set

text: Although the complement of a fuzzy set has a single most common definition, the other main operations, union and intersection, do have some ambiguity.


title: Fuzzy set

text: By the definition of the t-norm, we see that the union and intersection are commutative, monotonic, associative, and have both a null and an identity element. For the intersection, these are ∅ and "U", respectively, while for the union, these are reversed. However, the union of a fuzzy set and its complement may not result in the full universe "U", and the intersection of them may not give the empty set ∅. Since the intersection and union are associative, it is natural to define the intersection and union of a finite family of fuzzy sets recursively.


title: Fuzzy set

text: In contrast to the general ambiguity of intersection and union operations, there is clearness for disjoint fuzzy sets:


title: Fuzzy set

text: Fuzzy sets are disjoint if and only if their supports are disjoint according to the standard definition for crisp sets.


title: Fuzzy set

text: For disjoint fuzzy sets formula_81 any intersection will give ∅, and any union will give the same result, which is denoted as


title: Fuzzy set

text: Given a family formula_117 of fuzzy sets with index set "I" (e.g. "I" = {1,2,3...,"n"}). This family is (pairwise) disjoint iff


title: Fuzzy set

text: A family of fuzzy sets formula_117 is disjoint, iff the family of underlying supports formula_120 is disjoint in the standard sense for families of crisp sets.


title: Fuzzy set

text: Independent of the t/s-norm pair, intersection of a disjoint family of fuzzy sets will give ∅ again, while the union has no ambiguity:


title: Fuzzy set

text: For a fuzzy set formula_33 with finite support formula_63 (i.e. a "finite fuzzy set"), its cardinality (aka scalar cardinality or sigma-count) is given by


title: Fuzzy set

text: This can be generalized for the divisor to be a non-empty fuzzy set: For fuzzy sets formula_129 with "G" ≠ ∅, we can define the relative cardinality by:


title: Fuzzy set

text: For any fuzzy set formula_33 the membership function formula_134 can be regarded as a family formula_135. The latter is a metric space with several metrics formula_136 known. A metric can be derived from a norm (vector norm) formula_137 via


title: Fuzzy set

text: Because fuzzy sets are unambiguously defined by their membership function, this metric can be used to measure distances between fuzzy sets on the same universe:


title: Fuzzy set

text: Again for infinite formula_2 the maximum must be replaced by a supremum. Other distances (like the canonical 2-norm) may diverge, if infinite fuzzy sets are too different, e.g., formula_148 and formula_2.


title: Fuzzy set

text: Similarity measures (here denoted by formula_150) may then be derived from the distance, e.g. after a proposal by Koczy:


title: Fuzzy set

text: Another definition for interval valued (rather 'fuzzy') similarity measures formula_159 is provided by Beg and Ashraf as well.


title: Fuzzy set

text: Sometimes, more general variants of the notion of fuzzy set are used, with membership functions taking values in a (fixed or variable) algebra or structure formula_160 of a given kind; usually it is required that formula_160 be at least a poset or lattice. These are usually called "L"-fuzzy sets, to distinguish them from those valued over the unit interval. The usual membership functions with values in [0, 1] are then called [0, 1]-valued membership functions. These kinds of generalizations were first considered in 1967 by Joseph Goguen, who was a student of Zadeh. A classical corollary may be indicating truth and membership values by {f, t} instead of {0, 1}.


title: Fuzzy set

text: An extension of fuzzy sets has been provided by Atanassov. An intuitionistic fuzzy set (IFS) formula_33 is characterized by two functions:


title: Fuzzy set

text: After all, we have a percentage of approvals, a percentage of denials, and a percentage of abstentions.


title: Fuzzy set

text: For this situation, special "intuitive fuzzy" negators, t- and s-norms can be defined. With formula_172 and by combining both functions to formula_173 this situation resembles a special kind of "L"-fuzzy sets.


title: Fuzzy set

text: Once more, this has been expanded by defining picture fuzzy sets (PFS) as follows: A PFS A is characterized by three functions mapping "U" to [0, 1]: formula_174, "degree of positive membership", "degree of neutral membership", and "degree of negative membership" respectively and additional condition formula_175


title: Fuzzy set

text: With formula_176 and special "picture fuzzy" negators, t- and s-norms this resembles just another type of "L"-fuzzy sets.


title: Fuzzy set

text: The concept of IFS has been extended into two major models. The two extensions of IFS are neutrosophic fuzzy sets and Pythagorean fuzzy sets.


title: Fuzzy set

text: Neutrosophic fuzzy sets were introduced by Smarandache in 1998. Like IFS, neutrosophic fuzzy sets have the previous two functions: one for membership formula_163 and another for non-membership formula_164. The major difference is that neutrosophic fuzzy sets have one more function: for indeterminate formula_179. This value indicates that the degree of undecidedness that the entity x belongs to the set. This concept of having indeterminate formula_179 value can be particularly useful when one cannot be very confident on the membership or non-membership values for item "x". In summary, neutrosophic fuzzy sets are associated with the following functions:


title: Fuzzy set

text: The other extension of IFS is what is known as Pythagorean fuzzy sets. Pythagorean fuzzy sets are more flexible than IFSs. IFSs are based on the constraint formula_184, which can be considered as too restrictive in some occasions. This is why Yager proposed the concept of Pythagorean fuzzy sets. Such sets satisfy the constraint formula_185, which is reminiscent of the Pythagorean theorem. Pythagorean fuzzy sets can be applicable to real life applications in which the previous condition of formula_184 is not valid. However, the less restrictive condition of formula_185 may be suitable in more domains.


title: Fuzzy set

text: As an extension of the case of multi-valued logic, valuations (formula_188) of propositional variables (formula_189) into a set of membership degrees (formula_190) can be thought of as membership functions mapping predicates into fuzzy sets (or more formally, into an ordered set of fuzzy pairs, called a fuzzy relation). With these valuations, many-valued logic can be extended to allow for fuzzy premises from which graded conclusions may be drawn.


title: Fuzzy set

text: This extension is sometimes called "fuzzy logic in the narrow sense" as opposed to "fuzzy logic in the wider sense," which originated in the engineering fields of automated control and knowledge engineering, and which encompasses many topics involving fuzzy sets and "approximated reasoning."


title: Fuzzy set

text: Industrial applications of fuzzy sets in the context of "fuzzy logic in the wider sense" can be found at fuzzy logic.


title: Fuzzy set

text: If these conditions are not satisfied, then A is not a fuzzy number . The core of this fuzzy number is a singleton; its location is:


title: Fuzzy set

text: When the condition about the uniqueness of formula_194 is not fulfilled, then the fuzzy set is characterised as a fuzzy interval. The core of this fuzzy interval is a crisp interval with:


title: Fuzzy set

text: Fuzzy numbers can be likened to the funfair game "guess your weight," where someone guesses the contestant's weight, with closer guesses being more correct, and where the guesser "wins" if he or she guesses near enough to the contestant's weight, with the actual weight being completely correct (mapping to 1 by the membership function).


title: Fuzzy set

text: The kernel formula_196 of a fuzzy interval formula_33 is defined as the 'inner' part, without the 'outbound' parts where the membership value is constant ad infinitum. In other words, the smallest subset of formula_198 where formula_163 is constant outside of it, is defined as the kernel.


title: Fuzzy set

text: However, there are other concepts of fuzzy numbers and intervals as some authors do not insist on convexity.


title: Fuzzy set

text: The use of set membership as a key component of category theory can be generalized to fuzzy sets. This approach, which began in 1968 shortly after the introduction of fuzzy set theory, led to the development of Goguen categories in the 21st century. In these categories, rather than using two valued set membership, more general intervals are used, and may be lattices as in "L"-fuzzy sets.


title: Fuzzy set

text: The fuzzy relation equation is an equation of the form , where "A" and "B" are fuzzy sets, "R" is a fuzzy relation, and stands for the composition of "A" with "R" .


title: Fuzzy set

text: A measure "d" of fuzziness for fuzzy sets of universe formula_2 should fulfill the following conditions for all formula_16:


title: Fuzzy set

text: and formula_219 is a constant depending on the measure unit and the logarithm base used (here we have used the natural base e).


title: Fuzzy set

text: There are many mathematical constructions similar to or more general than fuzzy sets. Since fuzzy sets were introduced in 1965, many new mathematical constructions and theories treating imprecision, inexactness, ambiguity, and uncertainty have been developed. Some of these constructions and theories are extensions of fuzzy set theory, while others try to mathematically model imprecision and uncertainty in a different way (; ; Deschrijver and Kerre, 2003).


title: Gro Harlem Brundtland

text: Gro Brundtland (; born Gro Harlem, 20 April 1939) is a Norwegian politician (Arbeiderpartiet), who served three terms as the 29th prime minister of Norway (1981, 1986–89, and 1990–96) and as the director-general of the World Health Organization from 1998 to 2003. She is also known for having chaired the Brundtland Commission which presented the Brundtland Report on sustainable development.