AI Academic Paraphrasing Tool

AI Academic Paraphrasing Tool — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Security of the Java software platform

    Security of the Java software platform

    The Java software platform provides a number of features designed for improving the security of Java applications. This includes enforcing runtime constraints through the use of the Java Virtual Machine (JVM), a security manager that sandboxes untrusted code from the rest of the operating system, and a suite of security APIs that Java developers can utilise. Despite this, criticism has been directed at the programming language, and Oracle, due to an increase in malicious programs that revealed security vulnerabilities in the JVM, which were subsequently not properly addressed by Oracle in a timely manner. == Security features == === The JVM === The binary form of programs running on the Java platform is not native machine code but an intermediate bytecode. The JVM performs verification on this bytecode before running it to prevent the program from performing unsafe operations such as branching to incorrect locations, which may contain data rather than instructions. It also allows the JVM to enforce runtime constraints such as array bounds checking. This means that Java programs are significantly less likely to suffer from memory safety flaws such as buffer overflow than programs written in languages such as C which do not provide such memory safety guarantees. The platform does not allow programs to perform certain potentially unsafe operations such as pointer arithmetic or unchecked type casts. It manages memory allocation and initialization and provides automatic garbage collection which in many cases (but not all) relieves the developer from manual memory management. This contributes to type safety and memory safety. === Security manager === The platform provides a security manager which allows users to run untrusted bytecode in a "sandboxed" environment designed to protect them from malicious or poorly written software by preventing the untrusted code from accessing certain platform features and APIs. For example, untrusted code might be prevented from reading or writing files on the local filesystem, running arbitrary commands with the current user's privileges, accessing communication networks, accessing the internal private state of objects using reflection, or causing the JVM to exit. The security manager also allows Java programs to be cryptographically signed; users can choose to allow code with a valid digital signature from a trusted entity to run with full privileges in circumstances where it would otherwise be untrusted. Users can also set fine-grained access control policies for programs from different sources. For example, a user may decide that only system classes should be fully trusted, that code from certain trusted entities may be allowed to read certain specific files, and that all other code should be fully sandboxed. === Security APIs === The Java Class Library provides a number of APIs related to security, such as standard cryptographic algorithms, authentication, and secure communication protocols. === The sun.misc.Unsafe class === sun.misc.Unsafe is an internal utility class in the Java programming language which is a collection of low-level unsafe operations. While it is not a part of the official Java Class Library, it is called internally by the Java libraries. It resides in an unofficial Java module named jdk.unsupported. Beginning in Java 11, it has been partially migrated to jdk.internal.misc.Unsafe (which resides in module java.base). Its primary feature is to allow direct memory management (similar to C memory management) and memory address manipulation, manipulating objects and fields, thread manipulation, and concurrency primitives. Its declaration is: public final class Unsafe;, and it is a singleton class with a private constructor. It contains the following methods, many of which are declared native (invoking Java Native Interface): static Unsafe getUnsafe(): retrieves the Unsafe instance. It uses sun.reflect.Reflection to do so. int getInt(Object o, long offset): fetches a value (a field or array element) in the object at the given offset. (There are corresponding getBoolean(), getByte(), getShort(), getChar(), getLong(), getFloat(), and getDouble() methods as well.) void putInt(Object o, long offset, int x): stores a value into an object at the given offset. (There are corresponding putBoolean(), putByte(), putShort(), putChar(), putLong(), putFloat(), and putDouble() methods as well.) Object getObject(Object o, long offset): fetches a reference value from an object at the given offset. void putObject(Object o, long offset, Object x): stores a reference value into an object at the given offset. int getInt(long address): fetches a value at the given address. (There are corresponding getBoolean(), getByte(), getShort(), getChar(), getLong(), getFloat(), and getDouble() methods as well.) void putInt(long address, int x): stores a value into the given address. (There are corresponding putBoolean(), putByte(), putShort(), putChar(), putLong(), putFloat(), and putDouble() methods as well.) long getAddress(long address): fetches a native pointer from a given address. void putAddress(long address, long x): stores a native pointer into a given address. long allocateMemory(long bytes): allocates a block of native memory of the given size (similar to malloc()). long reallocateMemory(long address, long bytes): resizes a block of native memory to the given size (similar to realloc()). void setMemory(Object o, long offset, long bytes, byte value), void setMemory(long address, long bytes, byte value): sets all bytes in a block of memory to a fixed value (similar to memset()). void copyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes), void copyMemory(long srcAddress, long destAddress, long bytes): sets all bytes in a given block of memory to a copy of another block (similar to memcpy()). void freeMemory(long address): deallocates a block of native memory obtained from allocateMemory() or reallocateMemory(), similar to free()). long staticFieldOffset(Field f): obtains the location of a given field in the storage allocation of its class. long objectFieldOffset(Field f): obtains the location of a given static field in conjunction with staticFieldBase(). Object staticFieldBase(Field f): obtains the location of a given static field in conjunction with staticFieldOffset(). void ensureClassInitialized(Class c): ensures the given class has been initialized. int arrayBaseOffset(Class arrayClass): obtains the offset of the first element in the storage allocation of a given array class. int arrayIndexScale(Class arrayClass): obtains the scale factor for addressing elements in the storage allocation of a given array class. static int addressSize(): obtains the size (in bytes) of a native pointer. int pageSize(): obtains the size (in bytes) of a native memory page. Class defineClass(String name, byte[] b, int off, int len, ClassLoader loader, ProtectionDomain protectionDomain): signals to the JVM to define a class without security checks. Class defineAnonymousClass(Class hostClass, byte[] data, Object[] cpPatches): signals to the JVM to define a class but do not make it known to the class loader or system directory. Object allocateInstance(Class cls) throws InstantiationException: allocates an instance of a class without running its constructor. void monitorEnter(Object o): locks an object. void monitorExit(Object o): unlocks an object. boolean tryMonitorEnter(Object o): tries to lock an object, returning whether the lock succeeded. void throwException(Throwable ee): throws an exception without telling the verifier. final boolean compareAndSwapInt(Object o, long offset, int expected, int x): updates a variable to x if it is holding expected, returning whether the operation succeeded. (There are corresponding compareAndSwapLong() and compareAndSwapObject() methods as well.) int getIntVolatile(Object o, long offset): volatile version of getInt(). (There are corresponding getBooleanVolatile(), getByteVolatile(), getShortVolatile(), getCharVolatile(), getLongVolatile(), getFloatVolatile(), getDoubleVolatile(), and getObjectVolatile() methods as well.) void putIntVolatile(Object o, long offset, int x): volatile version of putInt(). (There are corresponding putBooleanVolatile(), putByteVolatile(), putShortVolatile(), putCharVolatile(), putLongVolatile(), putFloatVolatile(), putDoubleVolatile(), and putObjectVolatile() methods as well.) void putOrderedInt(Object o, long offset, int x): version of putIntVolatile() not guaranteeing immediate visibility of storage to other threads. (There are corresponding putOrderedLong() and putOrderedObject() methods as well.) void unpark(Object thread): unblocks a thread. void park(boolean isAbsolute, long time): blocks the current thread. int getLoadAverage(double[] loadavg, int nelems): gets the load average in the system run queue assigned to available processors averaged over various periods of time. void invokeCleaner(ByteBuffe

    Read more →
  • Fuzzy concept

    Fuzzy concept

    A fuzzy concept is an idea of which the boundaries of application can vary considerably according to context or conditions, instead of being fixed once and for all. That means the idea is somewhat vague or imprecise. Yet it is not unclear or meaningless. It has a definite meaning, which can often be made more exact with further elaboration and specification — including a closer definition of the context in which the concept is used. The inverse of a "fuzzy concept" is a "crisp concept" (i.e. a precise concept). Fuzzy concepts are often used to navigate imprecision in the real world, when precise information is not available and an approximate indication is sufficient to be helpful. Although the linguist George Philip Lakoff already defined the semantics of a fuzzy concept in 1973 (inspired by an unpublished 1971 paper by Eleanor Rosch,) the term "fuzzy concept" rarely received a standalone entry in dictionaries, handbooks and encyclopedias. Sometimes it was defined in encyclopedia articles on fuzzy logic, or it was simply equated with a mathematical “fuzzy set”. A fuzzy concept can be "fuzzy" for many different reasons in different contexts. This makes it harder to provide a precise definition that covers all cases. Paradoxically, the definition of fuzzy concepts may itself be somewhat "fuzzy". Lotfi A. Zadeh, known as "the father of fuzzy logic", claimed that "vagueness connotes insufficient specificity, whereas fuzziness connotes unsharpness of class boundaries". Not all scholars agree. With increasing academic literature on the subject, the term "fuzzy concept" is now more widely recognized as a philosophical, linguistic or scientific category, and the study of the characteristics of fuzzy concepts and fuzzy language is known as fuzzy semantics. “Fuzzy logic” has become a generic term for many different kinds of many-valued logics, and is applied in many different areas of research, computer programming and industrial design. For engineers, "Fuzziness is imprecision or vagueness of definition." For computer scientists, a fuzzy concept is an idea which is "to an extent applicable" in a situation. It means that the concept can have gradations of significance or unsharp (variable) boundaries of application — a "fuzzy statement" is a statement which is true "to some extent", and that extent can often be represented by a scaled value (a score). For mathematicians, a "fuzzy concept" is usually a fuzzy set or a combination of such sets (see fuzzy mathematics and fuzzy set theory). In cognitive linguistics, the things that belong to a "fuzzy category" exhibit gradations of family resemblance, and the borders of the category are not clearly defined. Through most of the 20th century, the idea of reasoning with fuzzy concepts faced considerable resistance from Western academic elites. They did not want to endorse the use of imprecise concepts in research or argumentation, and they often regarded fuzzy logic with suspicion, derision or even hostility. That may partly explain why the idea of a "fuzzy concept" did not get a separate entry in encyclopedias, handbooks and dictionaries. Yet although people might not be aware of it, the use of fuzzy concepts has risen gigantically in all walks of life from the 1970s onward. That is mainly due to advances in electronic engineering, fuzzy mathematics and digital computer programming. The new technology allows very complex inferences about "variations on a theme" to be anticipated and fixed in a program. The Perseverance Mars rover, a driverless NASA vehicle used to explore the Jezero crater on the planet Mars, features fuzzy logic programming that steers it through rough terrain. Similarly, to the North, the Chinese Mars rover Zhurong used fuzzy logic algorithms to calculate its travel route in Utopia Planitia from sensor data. New neuro-fuzzy computational methods make it possible for machines to identify, measure, adjust and respond to fine gradations of significance with great precision. It means that practically useful concepts can be coded, sharply defined, and applied to all kinds of tasks, even if ordinarily these concepts are never exactly defined. Nowadays engineers, statisticians and programmers often represent fuzzy concepts mathematically, using fuzzy logic, fuzzy values, fuzzy variables and fuzzy sets (see also fuzzy set theory). Fuzzy logic is not "woolly thinking", but a "precise logic of imprecision" which reasons with graded concepts and gradations of truth. Fuzzy concepts and fuzzy logic often play a significant role in artificial intelligence programming, for example because they can model human cognitive processes more easily than other methods. == Origins == Vagueness and fuzziness have probably always been a part of human experience. In the West, ancient texts show that philosophers and scientists were already thinking critically about this in classical antiquity. Most often, they regarded vagueness as a problem: as an obstacle to clear thinking, as a source of confusion, or as an evasive tactic. It got in the way of providing clear orientation, guidance, direction and leadership. Therefore, vagueness became associated with a hermeneutic of suspicion — it was considered as something to avoid, as something undesirable. By contrast, in the ancient Chinese tradition of Daoist thought of Laozi and Zhuang Zhou, "vagueness is not regarded with suspicion, but is simply an acknowledged characteristic of the world around us" — a subject for meditation and a source of insight. === Sorites paradox === The ancient Sorites paradox raised the logical problem, of how we could exactly define the threshold at which a change in quantitative gradation turns into a qualitative or categorical difference. With some physical processes, this threshold seems relatively easy to identify. For example, water turns into steam at 100 °C or 212 °F. Of course, the boiling point depends partly on atmospheric pressure, which decreases at higher altitudes; it is also affected by the level of humidity — in that sense, the boiling point is "somewhat fuzzy", because it can vary under different conditions. Nevertheless, for every altitude, level of air pressure and degree of humidity, we can predict accurately what the boiling point will be, if we know the relevant conditions. With many other processes and gradations, however, the point of change is much more difficult to locate, and remains somewhat vague. Thus, the boundaries between qualitatively different things may be unsharp: we know that there are boundaries, but we cannot define them exactly. For example, to identify "the oldest city in the world", we have to define what counts as a city, and at what point a growing human settlement becomes a city. === The continuum fallacy and Loki's wager === According to the modern idea of the continuum fallacy, the fact that a statement is to an extent vague, does not automatically mean that it has no validity. The question then arises, of how (by what method or approach) we could ascertain and define the validity that the fuzzy statement does have. The Nordic myth of Loki's wager suggested that concepts that lack precise meanings or lack precise boundaries of application cannot be operated with, because they evade any clear definition. However, the 20th-century idea of "fuzzy concepts" proposes that "somewhat vague terms" can be operated with, because we can explicate and define the variability of their application — by assigning numbers to gradations of applicability. This idea sounds simple enough, but it had large implications. === Precursors and pioneers === In Western civilization, the intellectual recognition of fuzzy concepts has been traced back to a diversity of famous and less well-known thinkers, including (among many others) Eubulides, Epicurus, Plato, Cicero, William Ockham and John Buridan, Georg Wilhelm Friedrich Hegel, Karl Marx and Friedrich Engels, Friedrich Nietzsche, William James, Hugh MacColl, Charles S. Peirce, Hans Reichenbach, Carl Gustav Hempel, Max Black, Arto Salomaa, Ludwig Wittgenstein, Jan Łukasiewicz, Emil Leon Post, Alfred Tarski, Georg Cantor, Nicolai A. Vasiliev, Kurt Gödel, Stanisław Jaśkowski, Willard Van Orman Quine, George J. Klir, Petr Hájek, Joseph Goguen, Ronald R. Yager, Enrique Héctor Ruspini, Jan Pavelka, Didier Dubois, Bernadette Bouchon-Meunier, and Donald Knuth. Across at least two and a half millennia, all of them had something to say about graded concepts with unsharp boundaries. This suggests at least that the awareness of the existence of concepts with "fuzzy" characteristics, in one form or another, has a very long history in human thought. Quite a few 20th century logicians, mathematicians and philosophers also tried to analyze the characteristics of fuzzy concepts as a recognized species, sometimes with the aid of some kind of many-valued logic or substructural logic. An early attempt in the post-WW2 era to create a mathematical theory of sets with gradations of

    Read more →
  • Oblivion (2013 film)

    Oblivion (2013 film)

    Oblivion is a 2013 American epic post-apocalyptic science fiction action film produced and directed by Joseph Kosinski from a screenplay by Karl Gajdusek and Michael deBruyn, starring Tom Cruise in the main role alongside Morgan Freeman, Olga Kurylenko, Andrea Riseborough, Nikolaj Coster-Waldau, and Melissa Leo in supporting roles. Based on Kosinski's unpublished Radical Comics graphic novel of the same name, the film pays homage to 1970s sci-fi, and is a "love story" set in 2077 on an Earth desolated by an alien war; a maintenance technician on the verge of completing his mission finds a woman who survived from a space ship crash, leading him to question his purpose and discover the truth about the war. Oblivion premiered in Buenos Aires on March 26, 2013, and was released in theaters by Universal Pictures on April 19. The film grossed $286 million worldwide on a production budget of $120 million and received mixed reviews from critics. == Plot == In 2017, aliens known as Scavengers attack Earth and destroy the Moon, triggering global natural disasters. Although humanity wins the war using nuclear weapons, Earth is left uninhabitable. Sixty years later, the remnants of humanity have relocated to a colony on Saturn's moon Titan, except for Unit 49—technician Jack and his communications officer Victoria—who are scheduled to join them in two weeks. The pair oversee hydro rigs that convert seawater into fusion energy for the Tet, the last remaining human colony ship in orbit. Though Jack and Victoria are romantically involved and have had their memories erased for security reasons, Jack experiences recurring dreams of an unknown woman. He also secretly visits a hidden, verdant valley where he has built a lakeside cabin and collects relics of Earth's past. While investigating a missing drone—autonomous, highly advanced, and heavily armed machines—Jack is nearly captured by Scavengers. Later, he discovers the Scavengers are transmitting a signal into space. A NASA pod crash-lands at the signal's coordinates, carrying five humans in suspended animation, including the woman from Jack's dreams. A drone arrives and destroys four of the pods, but Jack rescues the remaining one and brings the unconscious woman to Unit 49's base. After reviving her, Jack and Victoria learn that the woman, Julia, has been in stasis aboard the Odyssey spaceship since 2017. Julia insists on recovering the ship's flight recorder. However, she and Jack are captured by Scavengers and brought to the Raven Rock Mountain Complex. Their leader, Malcolm, reveals that the Scavengers are actually surviving humans. Malcolm needs Jack to reprogram a captured drone to deliver a nuclear bomb, built from Odyssey's reactor, to the Tet. Jack refuses, so Malcolm releases him and Julia, urging him to seek the truth in the radiation zone, which is supposedly deadly and off-limits. Julia helps Jack recall that she is his wife, and fragments of his memories begin to return. When they arrive back at Unit 49, a devastated Victoria informs Sally, the Tet's mission controller, that she and Jack are no longer an "effective team." A drone activates and kills Victoria. Jack and Julia destroy the drone, but crash their aircraft inside the radiation zone. There, they encounter another version of Jack—"Jack-52"—who arrives to repair the drone. Jack subdues him, but Julia is seriously injured in the fight. Jack impersonates his clone to infiltrate Unit 52, meets Victoria-52, and steals medical supplies for Julia. They rest at his cabin. At Raven Rock, Malcolm reveals the truth: humanity lost the war, and the Tet is an alien machine intelligence harvesting Earth's resources. After the Moon's destruction, the Tet deployed thousands of clones of astronaut Jack Harper—brainwashed into obedience—to exterminate the remaining humans. Malcolm had assumed these clones were inhuman until witnessing Jack show interest in a discarded book, hinting at lingering humanity. Jack reprograms the captured drone, but it is destroyed in a surprise attack by other drones, leaving Malcolm badly wounded. Jack and Julia resolve to deliver the bomb themselves; Julia enters a stasis pod. En route, Jack listens to the Odyssey's flight recorder, which reveals the original Jack Harper and Victoria were astronauts sent to explore Titan before being confronted by the Tet. The pair were captured, but not before Jack ejected the remaining crew—including Julia—in stasis pods to protect them. Jack gains access to the Tet by claiming he is delivering Julia, as previously instructed. However, the stasis pod contains a dying Malcolm. Jack and Malcolm detonate the bomb, destroying the Tet and themselves. Julia later awakens at the cabin. Three years later, Julia lives there and it is revealed she had a daughter with Jack. A group of Raven Rock survivors arrives, alongside Jack-52, who has begun regaining fragments of his own lost identity. == Cast == Tom Cruise as Jack Harper—Tech 49, a technician who works to repair drones on Earth and questions his mission. Originally, he was the American commander of a mission en route to Titan who was captured by the Tet and cloned to fight humanity. Cruise also plays Jack Harper—Tech 52, a clone who seeks out Julia after the destruction of the Tet. Morgan Freeman as Malcolm Beech, an American veteran soldier and leader of a large community of scavengers, the human survivors of the alien Tet's attacks. Olga Kurylenko as Julia Rusakova Harper, Jack's wife and a Russian crew member on the Odyssey, who was sent back towards Earth by her husband to protect her from the initial contact with the Tet. Andrea Riseborough as Victoria "Vika" Olsen, Jack's communications partner and housemate. Originally, she was the British co-pilot of Jack's mission to Titan who was captured and cloned to assist in the Tet's war on humanity. Riseborough also plays a clone of Vika who Jack misleads to obtain medical supplies. Nikolaj Coster-Waldau as Sergeant Sykes, the main military commander of Beech's community of scavengers who is skeptical of Jack at first. Melissa Leo as the Tet, an alien artificial intelligence seeking to acquire Earth's natural resources and wipe out humanity. Leo also plays Sally, the mission director of Jack and Julia's mission to Titan; her likeness was copied by the Tet to serve as its visual and auditory representation. Zoë Bell as Kara, a soldier and member of the scavengers. == Production == === Development === Joseph Kosinski started the movie process by beginning work on a graphic novel called Oblivion featuring his story. While the completion of this would be teased to the public and the concept was used to pitch the movie, it was never finished and Kosinski claims he never intended to, stating it was "just a stage in the project [of film development]". Arvid Nelson was billed as co-writer and Radical Comics was attached as publisher. The novel was never finished; Kosinski explaining: "the partnership with Radical Comics allowed me to continue working on the story by developing a series of images and continuing to refine the story more over a period of years. Then I basically used all that development as a pitch kit to the studio. So even though we really never released it as an illustrated novel the story is being told as a film, which was always the intention." Walt Disney Pictures, which produced Kosinski's previous film Tron: Legacy (2010), acquired the Oblivion film adaptation rights from Radical Comics and Kosinski after a heated auction in August 2010. The film was a directing vehicle for Kosinski, with Barry Levine producing, and Jesse Berger executive producing. Other studios that made bids on the film were Paramount Pictures, 20th Century Fox, and Universal Pictures. Disney subsequently released the rights after realizing the PG-rated film they envisioned, in line with their family-oriented reputation, would require too many story changes. Universal, which had also bid for the original rights, then bought them from Kosinski and Radical and authorized a PG-13 film version. The film's script was originally written by Kosinski and William Monahan and underwent a first rewrite by Karl Gajdusek. When the film passed into Universal's hands, a final rewrite was done by Michael Arndt, under the pen name "Michael deBruyn". Universal was particularly appreciative of the script, saying, "It's one of the most beautiful scripts we've ever come across." The Bubble Ship operated by Cruise's main character, Jack 49, was inspired by the Bell 47 helicopter (often colloquially referred to as a "bubble cockpit" helicopter), a utilitarian 1947 vehicle with a transparent round canopy that Kosinski saw in the lobby of the Museum of Modern Art in Manhattan, and which he likened to a dragonfly. Daniel Simon, who previously worked with Kosinski as the lead vehicle designer on Tron: Legacy, was tasked with creating the Bubble Ship from this basis, incorporating elements evocative of an advanced fighter

    Read more →
  • List of artificial intelligence artists

    List of artificial intelligence artists

    Many notable artificial intelligence artists have created a wide variety of artificial intelligence art from the 1960s to today. These include: == 20th century == Harold Cohen, active from 1960s to 2010s. Cohen's work is primarily with AARON, a series of computer programs that autonomously create original images. Eric Millikin, active from 1980s to present. Millikin's work includes AI-generated virtual reality, video art, poetry, music, and performance art, on topics such as animal rights, climate change, anti-racism, witchcraft, and the occult. Karl Sims, active from 1980s to present. Sims is best known for using particle systems and artificial life in computer animation. == 21st century == Refik Anadol, active from 2010s to present. Anadol's work includes video installations based on generative algorithms with artificial intelligence. Sougwen Chung, active from 2010s to present. Chung's work includes performances with a robotic arm that uses AI to attempt to draw in a manner similar to Chung. Stephanie Dinkins, active from 2010s to present. Dinkins' work includes recordings of conversations with an artificially intelligent robot that resembles a black woman, discussing topics such as race and the nature of being. Jake Elwes, active from 2010s to present. Their practice is the exploration of artificial intelligence, queer theory and technical biases. Libby Heaney, active from 2010s to present. Heaney's practice includes work with chatbots. Mario Klingemann, active from 2010s to present. Klingemann's works examine creativity, culture, and perception through machine learning and artificial intelligence. Mauro Martino, active from 2010s to present. Martino's work includes design, data visualization and infographics. Trevor Paglen, active from 2000s to present. Paglen's practice includes work in photography and geography, on topics like mass surveillance and data collection. Anna Ridler, active from 2010s to present. Ridler works with collections of information, including self-generated data sets, often working with floral photography.

    Read more →
  • Collision detection

    Collision detection

    Collision detection is the computational problem of detecting an intersection of two or more objects in virtual space. More precisely, it deals with the questions of if, when, and where two or more objects intersect. Collision detection is a classic problem of computational geometry with applications in computer graphics, physical simulation, video games, robotics (including autonomous driving), and computational physics. Collision detection algorithms can be divided into operating on 2D or 3D spatial objects. == Overview == Collision detection is closely linked to calculating the distance between objects, as objects collide when the distance between them is less than or equal to zero. Negative distances indicate that one object has penetrated another. Performing collision detection requires more context than just the distance between the objects. Accurately identifying the points of contact on both objects' surfaces is also essential for computing a physically accurate collision response. The complexity of this task increases with the level of detail in the objects' representations: the more intricate the model, the greater the computational cost. Collision detection frequently involves dynamic objects, adding a temporal dimension to distance calculations. Instead of simply measuring distance between static objects, collision detection algorithms often aim to determine whether the objects' motion will bring them to a point in time when their distance is zero—an operation that adds significant computational overhead. In collision detection involving multiple objects, a naive approach would require detecting collisions for all pairwise combinations of objects. As the number of objects increases, the number of required comparisons grows rapidly: for n {\displaystyle n} objects, n ( n − 1 ) / 2 {n(n-1)}/{2} intersection tests are needed with a naive approach. This quadratic growth makes such an approach computationally expensive as n {\displaystyle n} increases. Due to the complexity mentioned above, collision detection is a computationally intensive process. Nevertheless, it is essential for interactive applications like video games, robotics, and real-time physics engines. To manage these computational demands, extensive efforts have gone into optimizing collision detection algorithms. A commonly used approach towards accelerating the required computations is to divide the process into two phases: the broad phase and the narrow phase. The broad phase aims to answer the question of whether objects might collide, using a conservative but efficient approach to rule out pairs that clearly do not intersect, thus avoiding unnecessary calculations. Objects that cannot be definitively separated in the broad phase are passed to the narrow phase. Here, more precise algorithms determine whether these objects actually intersect. If they do, the narrow phase often calculates the exact time and location of the intersection. == Broad phase == This phase aims at quickly finding objects or parts of objects for which it can be quickly determined that no further collision test is needed. A useful property of such approach is that it is output sensitive. In the context of collision detection this means that the time complexity of the collision detection is proportional to the number of objects that are close to each other. An early example of that is the I-COLLIDE where the number of required narrow phase collision tests was O ( n + m ) {\displaystyle O(n+m)} where n {\displaystyle n} is the number of objects and m {\displaystyle m} is the number of objects at close proximity. This is a significant improvement over the quadratic complexity of the naive approach. === Spatial partitioning === Several approaches can be grouped under the spatial partitioning umbrella, which includes octrees (for 3D), quadtrees (for 2D), binary space partitioning (or BSP trees) and other, similar approaches. If one splits space into a number of simple cells, and if two objects can be shown not to be in the same cell, then they need not be checked for intersection. Dynamic scenes and deformable objects require updating the partitioning which can add overhead. === Bounding volume hierarchy === Bounding Volume Hierarchy (BVH) is a tree structure over a set of bounding volumes. Collision is determined by doing a tree traversal starting from the root. If the bounding volume of the root doesn't intersect with the object of interest, the traversal can be stopped. If, however there is an intersection, the traversal proceeds and checks the branches for each there is an intersection. Branches for which there is no intersection with the bounding volume can be culled from further intersection test. Therefore, multiple objects can be determined to not intersect at once. BVH can be used with deformable objects such as cloth or soft-bodies but the volume hierarchy has to be adjusted as the shape deforms. For deformable objects we need to be concerned about self-collisions or self intersections. BVH can be used for that end as well. Collision between two objects is computed by computing intersection between the bounding volumes of the root of the tree as there are collision we dive into the sub-trees that intersect. Exact collisions between the actual objects, or its parts (often triangles of a triangle mesh) need to be computed only between intersecting leaves. The same approach works for pair wise collision and self-collisions. === Exploiting temporal coherence === During the broad-phase, when the objects in the world move or deform, the data-structures used to cull collisions have to be updated. In cases where the changes between two frames or time-steps are small and the objects can be approximated well with axis-aligned bounding boxes, the sweep and prune algorithm can be a suitable approach. Several key observation make the implementation efficient: Two bounding-boxes intersect if, and only if, there is overlap along all three axes; overlap can be determined, for each axis separately, by sorting the intervals for all the boxes; and lastly, between two frames updates are typically small (making sorting algorithms optimized for almost-sorted lists suitable for this application). The algorithm keeps track of currently intersecting boxes, and as objects move, re-sorting the intervals helps keep track of the status. === Pairwise pruning === Once a pair of physical bodies has been selected for further investigation, collisions need to be checked more carefully. However, in many applications, individual objects (if they are not too deformable) are described by a set of smaller primitives, mainly triangles. So there are two sets of triangles, S = S 1 , S 2 , … , S n {\displaystyle S={S_{1},S_{2},\dots ,S_{n}}} and T = T 1 , T 2 , … , T n {\displaystyle T={T_{1},T_{2},\dots ,T_{n}}} (for simplicity, each set has the same number of triangles.) The obvious thing to do is to check all triangles S j {\displaystyle S_{j}} against all triangles T k {\displaystyle T_{k}} for collisions, but this involves n 2 {\displaystyle n^{2}} comparisons, which is highly inefficient. If possible, it is desirable to use a pruning algorithm to reduce the number of pairs of triangles that need to be checked. The most widely used family of algorithms is known as the hierarchical bounding volumes method. As a preprocessing step, for each object (e.g., S {\displaystyle S} and T {\displaystyle T} ) calculates a hierarchy of bounding volumes. Then, at each time step, when collisions need to be checked between S {\displaystyle S} and T {\displaystyle T} , the hierarchical bounding volumes are used to reduce the number of pairs of triangles under consideration. For simplicity, provide an example using bounding spheres, although it has been noted that spheres are undesirable in many cases. If E {\displaystyle E} is a set of triangles, a bounding sphere is pre-calculated. B ( E ) {\displaystyle B(E)} . There are many ways of choosing B ( E ) {\displaystyle B(E)} , B ( E ) {\displaystyle B(E)} is a sphere that completely contains E {\displaystyle E} and is as small as possible. Ahead of time, B ( S ) {\displaystyle B(S)} and B ( T ) {\displaystyle B(T)} can be computed. Clearly, if these two spheres do not intersect (and that is very easy to test), then neither do S {\displaystyle S} and T {\displaystyle T} . This is not much better than an n-body pruning algorithm, however. If E = E 1 , E 2 , … , E m {\displaystyle E={E_{1},E_{2},\dots ,E_{m}}} is a set of triangles, then split it into two halves L ( E ) := E 1 , E 2 , … , E m / 2 {\displaystyle L(E):={E_{1},E_{2},\dots ,E_{m/2}}} and R ( E ) := E m / 2 + 1 , … , E m − 1 , E m {\displaystyle R(E):={E_{m/2+1},\dots ,E_{m-1},E_{m}}} . Apply this to S {\displaystyle S} and T {\displaystyle T} , and calculate (ahead of time) the bounding spheres B ( L ( S ) ) , B ( R ( S ) ) {\displaystyle B(L(S)),B(R(S))} and B ( L ( T ) ) , B ( R ( T ) ) {\displaystyle B(L(T)),B(R(T))} . T

    Read more →
  • BL (logic)

    BL (logic)

    In mathematical logic, basic fuzzy logic (or shortly BL), the logic of the continuous t-norms, is one of the t-norm fuzzy logics. It belongs to the broader class of substructural logics, or logics of residuated lattices; it extends the logic MTL of all left-continuous t-norms. == Syntax == === Language === The language of the propositional logic BL consists of countably many propositional variables and the following primitive logical connectives: Implication → {\displaystyle \rightarrow } (binary) Strong conjunction ⊗ {\displaystyle \otimes } (binary). The sign & is a more traditional notation for strong conjunction in the literature on fuzzy logic, while the notation ⊗ {\displaystyle \otimes } follows the tradition of substructural logics. Bottom ⊥ {\displaystyle \bot } (nullary — a propositional constant); 0 {\displaystyle 0} or 0 ¯ {\displaystyle {\overline {0}}} are common alternative signs and zero a common alternative name for the propositional constant (as the constants bottom and zero of substructural logics coincide in MTL). The following are the most common defined logical connectives: Weak conjunction ∧ {\displaystyle \wedge } (binary), also called lattice conjunction (as it is always realized by the lattice operation of meet in algebraic semantics). Unlike MTL and weaker substructural logics, weak conjunction is definable in BL as A ∧ B ≡ A ⊗ ( A → B ) {\displaystyle A\wedge B\equiv A\otimes (A\rightarrow B)} Negation ¬ {\displaystyle \neg } (unary), defined as ¬ A ≡ A → ⊥ {\displaystyle \neg A\equiv A\rightarrow \bot } Equivalence ↔ {\displaystyle \leftrightarrow } (binary), defined as A ↔ B ≡ ( A → B ) ∧ ( B → A ) {\displaystyle A\leftrightarrow B\equiv (A\rightarrow B)\wedge (B\rightarrow A)} As in MTL, the definition is equivalent to ( A → B ) ⊗ ( B → A ) . {\displaystyle (A\rightarrow B)\otimes (B\rightarrow A).} (Weak) disjunction ∨ {\displaystyle \vee } (binary), also called lattice disjunction (as it is always realized by the lattice operation of join in algebraic semantics), defined as A ∨ B ≡ ( ( A → B ) → B ) ∧ ( ( B → A ) → A ) {\displaystyle A\vee B\equiv ((A\rightarrow B)\rightarrow B)\wedge ((B\rightarrow A)\rightarrow A)} Top ⊤ {\displaystyle \top } (nullary), also called one and denoted by 1 {\displaystyle 1} or 1 ¯ {\displaystyle {\overline {1}}} (as the constants top and zero of substructural logics coincide in MTL), defined as ⊤ ≡ ⊥ → ⊥ {\displaystyle \top \equiv \bot \rightarrow \bot } Well-formed formulae of BL are defined as usual in propositional logics. In order to save parentheses, it is common to use the following order of precedence: Unary connectives (bind most closely) Binary connectives other than implication and equivalence Implication and equivalence (bind most loosely) === Axioms === A Hilbert-style deduction system for BL has been introduced by Petr Hájek (1998). Its single derivation rule is modus ponens: from A {\displaystyle A} and A → B {\displaystyle A\rightarrow B} derive B . {\displaystyle B.} The following are its axiom schemata: ( B L 1 ) : ( A → B ) → ( ( B → C ) → ( A → C ) ) ( B L 2 ) : A ⊗ B → A ( B L 3 ) : A ⊗ B → B ⊗ A ( B L 4 ) : A ⊗ ( A → B ) → B ⊗ ( B → A ) ( B L 5 a ) : ( A → ( B → C ) ) → ( A ⊗ B → C ) ( B L 5 b ) : ( A ⊗ B → C ) → ( A → ( B → C ) ) ( B L 6 ) : ( ( A → B ) → C ) → ( ( ( B → A ) → C ) → C ) ( B L 7 ) : ⊥ → A {\displaystyle {\begin{array}{ll}{\rm {(BL1)}}\colon &(A\rightarrow B)\rightarrow ((B\rightarrow C)\rightarrow (A\rightarrow C))\\{\rm {(BL2)}}\colon &A\otimes B\rightarrow A\\{\rm {(BL3)}}\colon &A\otimes B\rightarrow B\otimes A\\{\rm {(BL4)}}\colon &A\otimes (A\rightarrow B)\rightarrow B\otimes (B\rightarrow A)\\{\rm {(BL5a)}}\colon &(A\rightarrow (B\rightarrow C))\rightarrow (A\otimes B\rightarrow C)\\{\rm {(BL5b)}}\colon &(A\otimes B\rightarrow C)\rightarrow (A\rightarrow (B\rightarrow C))\\{\rm {(BL6)}}\colon &((A\rightarrow B)\rightarrow C)\rightarrow (((B\rightarrow A)\rightarrow C)\rightarrow C)\\{\rm {(BL7)}}\colon &\bot \rightarrow A\end{array}}} The axioms (BL2) and (BL3) of the original axiomatic system were shown to be redundant (Chvalovský, 2012) and (Cintula, 2005). All the other axioms were shown to be independent (Chvalovský, 2012). == Semantics == Like in other propositional t-norm fuzzy logics, algebraic semantics is predominantly used for BL, with three main classes of algebras with respect to which the logic is complete: General semantics, formed of all BL-algebras — that is, all algebras for which the logic is sound Linear semantics, formed of all linear BL-algebras — that is, all BL-algebras whose lattice order is linear Standard semantics, formed of all standard BL-algebras — that is, all BL-algebras whose lattice reduct is the real unit interval [0, 1] with the usual order; they are uniquely determined by the function that interprets strong conjunction, which can be any continuous t-norm.

    Read more →
  • Mars Plus

    Mars Plus

    Mars Plus is a 1994 science fiction novel by American writer Frederik Pohl and Thomas T. Thomas. It is the sequel to Pohl's 1976 novel Man Plus, which is about a cyborg, Roger Torraway, who is designed to operate in the harsh Martian environment, so that humans can start to colonize Mars. Mars Plus is set fifty years after the first novel. Young Demeter Coghlan travels to Mars, now settled by humans and cyborgs, and finds herself amidst a rebellion by the colonists. == Plot == In Man Plus, set in the not-too-distant future, with threat of the Cold War becoming a fighting war, people plan for the colonization of Mars to escape the seemingly-inevitable Armageddon. The American government begins a cyborg program to create a being capable of surviving the harsh Martian environment: a "Man Plus" called Roger Torraway who is converted from man to cyborg. While his cyborg body is adapted to Mars, he feels strange at first. As more nations develop cyborgs, the computer networks of Earth become sentient. Mars Plus is set fifty years after the first novel, when Mars is settled by humans and cyborgs. The cyborg Torroway is in the novel, but he is not the main character. The protagonist is Demeter Coghlan, a young woman from Earth who travels to Mars. Demeter is seeking information about a canyon that she believes may be significant if the colonists begin to convert Mars to an Earth-like planet. Amidst a backdrop of spies and newly dispatched Earth diplomats, the inexperienced Demeter senses that tensions are rising on the planet. She is further disoriented due to recovering from an accident. Despite the risks in the region, Demeter has intense sexual encounters with some of the local colonists. When the locals rebel against the surveillance set up by the computer network, Demeter is kidnapped by the computer network. == Reception == The reviewer from SFBook Reviews criticizes the book, saying "nothing really happens" and stating that there is no linkage to Man Plus apart from the presence of the cyborg Torraway; moreover, the reviewer states that the questions posed in the first novel are not answered. SF Reviews calls Mars Plus "...not as good as Man Plus but...not bad", and it is praised for "...some nice touches: Demeter continuously forgetting to think about geology; her careless dictation to the computer and her irresistible urges for wild sex." SF Reviews criticizes the writing in Mars Plus for being "...a little careless in places" and in need of more "...more crafting and pruning."

    Read more →
  • Orion's Arm

    Orion's Arm

    The Orion's Arm Universe Project (OA) is a multi-authored online hard science fiction world-building project, first established in 2000 by M. Alan Kazlev, Donna Malcolm Hirsekorn, Bernd Helfert and Anders Sandberg and further co-authored by many people since. Anyone can contribute articles, stories, artwork, or music to the website. The first published Orion's Arm book, a collection of five novellas set within the OA universe, called Against a Diamond Sky, was released in September 2009. == Canon == The fictional setting of Orion's Arm takes place about 10,000 years in the future, where an interstellar civilization spread across thousands of light-years, with inhabited planets and space habitats. Its inhabitants range from humans to extensively modified human beings, including superhumans with advanced augmentations and internal AI systems, while most people exist as softwares. Engineered wormholes are used for interstellar travel and transport, although not for time travel. The setting also includes several alien civilizations and evidence of more advanced alien societies in the past. At its highest levels, directed human evolution has produced vast godlike beings linked across interstellar distances, capable of understanding and creating technologies beyond ordinary minds. == Reception == Orion's Arm has been reviewed in the role-playing magazine Knights of the Dinner Table, as well as on Boing Boing by transhumanist science fiction author Cory Doctorow. References to the Encyclopaedia Galactica have been made in a book on overcoming Librarian stereotypes. The Orion's Arm website has also been recommended in a children's teaching guide.

    Read more →
  • Educational robotics

    Educational robotics

    Educational robotics teaches the design, analysis, application and operation of robots. Robots include articulated robots, mobile robots or autonomous vehicles. Educational robotics can be taught from elementary school to graduate programs. Robotics may also be used to motivate and facilitate the instruction other, often foundational, topics such as computer programming, artificial intelligence or engineering design. == Education and training == Robotics engineers design robots, maintain them, develop new applications for them, and conduct research to expand the potential of robotics. Robots have become a popular educational tool in some middle and high schools, as well as in numerous youth summer camps, raising interest in programming, artificial intelligence and robotics among students. First-year computer science courses at several universities now include programming of a robot in addition to traditional software engineering-based coursework. == Category of Educational robotics == The categories of educational robots seen as having more than one category. It can be alienated into different categories based on their physical design and coding method. Generally they are categorised as arm robots, wheeled mobile robots and humanoid robots. Tangibly, coded robots uses a physical means of coding instead of the screens coding. === Initiatives in schools === Leachim, was a robot teacher programmed with the class curricular, as well as certain biographical information on the 40 students whom it was programmed to teach. Leachim could synthesize human speech using Diphone synthesis. It was invented by Michael J. Freeman in 1974 and was tested in a fourth grade classroom in the Bronx, New York. === Post-secondary degree programs === From approximately 1960 through 2005, robotics education at post-secondary institutions took place through elective courses, thesis experiences and design projects offered as part of degree programs in traditional academic disciplines, such as mechanical engineering, electrical engineering, industrial engineering or computer science. Since 2005, more universities have begun granting degrees in robotics as a discipline in its own right, often under the name "Robotic Engineering". Based on a 2015 web-based survey of robotics educators, the degree programs and their estimates annual graduates are listed alphabetically below. Note that only official degree programs where the word "robotics" appears on the transcript or diploma are listed here; whereas degree programs in traditional disciplines with course concentrations or thesis topics related to robotics are deliberately omitted. === Certification === The Robotics Certification Standards Alliance (RCSA) is an international robotics certification authority that confers various industry- and educational-related robotics certifications. === Summer robotics camp === Several summer camp programs include robotics as part of their core curriculum. In addition, youth summer robotics programs are frequently offered by celebrated museums such as the American Museum of Natural History and The Tech Museum of Innovation in Silicon Valley, CA, just to name a few. There are of benefits that come from attending robotics camps. It teaches students how to use teamwork, resilience and motivation, and decision-making. Students learn teamwork because most camps involve exciting activities requiring teamwork. Resilience and motivation is expected because by completing the challenging programs, students feel talented and accomplished after they complete the program. Also students are given unique situations making them make decisions to further their situation. === Educational robotics in special education === Educational robotics can be a useful tool in early and special education. According to a journal on new perspectives in science education, educational robotics can help to develop abilities that promote autonomy and assist their integration into society. Social and personal skills can also be developed through educational robotics. Using Lego Mindstorms NXT, schoolteachers were able to work with middle school aged children in order to develop programs and improve the children's social and personal skills. Additionally, problem solving skills and creativity were utilized through the creation of artwork and scenery to house the robots. Other studies show the benefits of educational robotics in special education as promoting superior cognitive functions, including executive functions. This can lead to an increased ability in "problem solving, reasoning and planning in typically developing preschool children." Through eight weeks of weekly forty-five-minute group sessions using the Bee-Bot, an increase in interest, attention, and interaction between both peers and adults was found in the school and preschool-aged children with Down Syndrome. This study suggests that educational robotics in the classroom can also lead to an improvement in visuo-spatial memory and mental planning. Furthermore, executive functions seemed to be possible in one child during this study.

    Read more →
  • Federation of International Robot-soccer Association

    Federation of International Robot-soccer Association

    The Federation of International Robot-soccer Association (FIRA) is an international organisation organising competitive soccer competitions between autonomous robots. The matches are usually five-a-side. == History == In 1996 and 1997, this competition was known as MiroSot and was held in Daejeon, Korea. The 1996 competition offered a challenging arena to the younger generation and researchers working with autonomous mobile robotic systems. From 1998 through 2008, it was called the FIRA Cup, and in 2009, it became the FIRA RoboWorld Cup & Congress. The 15th RoboWorld Cup was held at Amrita Vishwa Vidyapeetham, Bangalore, India in September 2010. In 2013, it took place in Kuala Lumpur, Malaysia. The championship started on August 24, 2013, and ended on August 29. At that time, it involved five categories: Micro-Robot Soccer Tournament, Amire, Naro, Simulated Robot, Android, Robo and Humanoid Robot. It attracted teams from Singapore, Indonesia, Taiwan, India, China, South Korea, the United Kingdom, Mexico, Canada, Russia and Malaysia. 80 teams from 11 countries participated. In 2018, the competition had 277 teams participating from 12 countries. === Past Events === == FIRA RoboWorld Cup & Congress == This competition has 4 leagues: FIRA AIR, FIRA Sports, FIRA Challenges, and FIRA Youth. Each league has its own competitions, and each competition can have several events. === FIRA AIR === The FIRA AIR league has two associated competitions, Autonomous Race and Emergency Service. === FIRA Sports === The FIRA Sports league has four associated competitions, HuroCup, RoboSot, SimuroSot, and AndroSot. This the robot soccer league. HuroCup consists of single events for bipedal humanoid robots. The events are: archery, sprint, marathon, united soccer, obstacle run, long jump, spartan race, marathon, weightlifting, and basketball. There is an all-round competition for the single robot that performs the best overall. === FIRA Challenges === The FIRA Challenges league has three associated competitions, Autonomous Cars, Autonomous Cars Simulation, Innovation and Business. === FIRA Youth === The FIRA Youth league has six associated challenges, Sport Robots, HuroCup Junior, CityRacer, DRV_Explorer, Cliff Hanger, and Mission Impossible.

    Read more →
  • Emi Kusano

    Emi Kusano

    Emi Kusano (Japanese: 草野 絵美, Hepburn: Kusano Emi; born August 4, 1990) is a Tokyobased Japanese multidisciplinary artist known for creating photography, video, and installations using generative AI technology. Her work explores themes of nostalgia, pop culture, and collective memory. Her work explores themes of nostalgia, pop culture, and collective memory. She is recognized as one of the early practitioners of generative AI art. Her work has been exhibited at the 21st Century Museum of Contemporary Art, Kanazawa, and screened at the M+ Museum’s Asian Avant-Garde Film Festival. Additionally, she has participated in prestigious international art fairs, including Paris Photo and Art Basel Hong Kong. In 2025, she was named one of the World Economic Forum's Young Global Leaders. In 2026, she was selected as a fellow for the AI x Arts Fellowship at Mohamed bin Zayed University of Artificial Intelligence. Kusano serves as a part-time lecturer at the Tokyo University of the Arts and is the producer and vocalist for the Synthwave music unit, Satellite Young. == Early life == === Photography === Kusano was born and raised in Tokyo. Kusano's career began during her high school years before 2008 when she became involved in street fashion photography. Her photographs, primarily taken in Harajuku, were published on "Japanese Streets", "Metropolis", CNN's travel guide magazine "CNN GO","WGSN". Her photography was exhibited at the FIT Museum in New York and the Victoria and Albert Museum in London. == Career == === Music and Installation work === Since 2014, in collaboration with BelleMaison Sekine, Kusano has led "Satellite Young," a synthwave music unit s the lead vocalist, she sings about blending 1980s idol culture with lyrics that tackle contemporary issues such as planned obsolescence ("Sony Timer"), online dating, artificial intelligence, and social media. Their music, known for its conceptual depth, has earned international niche recognition. "Satellite Young" has participated in music festivals, including "South by Southwest," showcasing their unique fusion of retro aesthetics and modern critiques. In 2018, she was selected to participate in "Art Hack Day," an interdisciplinary art hackathon held at The National Museum of Emerging Science and Innovation. where she presented "Singing Dream," a karaoke machine endowed with artificial life, earning the Jury Prize. "Instababy Generator," a 2019 installation co-created with Junichi Yamaoka, explored the concept of designer babies and received recognition at the SIGGRAPH Art Gallery. In October 2020, operating under the name Emi Satellite, she debuted as a solo singer with her first single "Glass Ceiling," an empowerment anthem that addresses the challenges faced by women and encourages progress towards the future. The music video for this song features a direction where strong women rewrite the roles of protagonists in a Bishōjo game, a type of dating simulation game. This concept later served as a prototype for Shinsei Galverse. === Challenge for Blockchain Art === In 2021, she explored the financial world through her single "IPO" and entered the NFT space with "Love Is an IPO," her first NFT work on Ethereum, sold on Foundation. In April 2022, she co-founded the crowdfunded anime project "Shinsei Galverse" with Ayaka Ohira, Devin Mancuso, and Jack Baldwin. serving as one of the executive directors overseeing the creative direction and story. The project's NFT collection of 8,888 ranked #1 on OpenSea's "Top NFTs" for several days, marking one of Japan's first globally successful blockchain art projects. In 2023, Shinsei Galverse produced the official "I like u" music video by Grammy-nominated singer Tove Lo as an initial anime endeavor. Kusano also contributed to discussions on Web3.0 and blockchain technology as a panelist in seminars organized by the Digital Agency of Japan. === AI art === In May 2023, Kusano's first AI art collection "Neural Fad" depicting imaginary fashion history sold out 100 pieces within 24 hours at the "Bright Moments Tokyo" In June, she created WWDJAPAN's first AI-generated magazine cover using her own face. It is the first AI cover in Japanese fashion media. She was also appointed t to the Cultural Affairs Agency's Copyright Subcommittee, she participates in discussions on generative AI and copyright. Her "Synthetic Reflections" self-portrait series debuted on SuperRare, with the first piece auctioned for 3.5 ETH (equivalent to 6,480 US dollars at the time). In July 2023, she co-exhibited a 3D AI-generated dress at Christie's "Future Frequencies" auction with Gucci, alongside Claire Silver. In September, her 30-piece "Pixelated Perception" exhibit at Art Blocks Marfa explored 1990s media and gender, also showcased at the 21st Century Museum of Contemporary Art, Kanazawa. In December, her "Techno-Animism" AI art collection fused Japanese animism with technology. Collaborating with a U.S. gallery, she unveiled 336 pieces during a two-week Art Basel world tour. Throughout the two-week tour, she sold a total of 336 pieces, generating 11.2 ETH (equivalent to 21,264 US dollars at the time). === Generative art === In February 2024, the generative art platform Art Blocks selected the work "Melancholic Magical Maiden," for its Curated category. This piece reconstructs the aesthetics of 1990s magical girl anime, offering a critique of past anime heroines. It sold out within an hour, with all 300 pieces going for a total of 57 ETH (equivalent to approximately 215,385US dollars at the time). In April 2024, Emi Kusano spoke at the Standing Committee on Copyright and Other Rights at the World Intellectual Property Organization (WIPO) in Geneva, Switzerland, where she presented AI-specific information for discussion. == Style and technique == Kusano draws inspiration from Japanese retro-futurism as a foundation for her artwork, which explores the cutting-edge of technology. This approach is fueled by nostalgia for the pre-internet era, specifically the postwar period when Japanese mass media held significant sway. By blending modern technology with retro-culture, she captures the complex feelings of love, hate, and ambivalence towards present and future accelerationism. While at university, Kusano was profoundly influenced by Naoki Sakai, the industrial designer responsible for igniting the retro-futurism movement. In her musical project "Satellite Young", Kusano dons the persona of an '80s female idol and sings about contemporary technology. In her installation piece "Singing Dream", she investigates the concept of an artificial life form inhabiting a karaoke machine, which has been popular since the 1980s, compelling people to sing. In the collaborative NFT art project "Shinsei Galverse", Kusano reimagines a cyberpunk anime primarily featuring female characters, incorporating elements of magical girls popular in the early Heisei period. == Personal life == Kusano has two sons. In August 2021, she minted her older son Zombie Zoo Keeper's pixel art on "OpenSea" as part of his summer research project. The artwork was purchased by notable figures including Brud CEO Trevor McFedries and Steve Aoki, who bought the piece for the equivalent of 21.82 thousand US dollars, highlighting the intersection of art, technology, and family in her work.

    Read more →
  • Generative adversarial network

    Generative adversarial network

    A generative adversarial network (GAN) is a class of machine learning frameworks and a prominent framework for approaching generative artificial intelligence. The concept was initially developed by Ian Goodfellow and his colleagues in June 2014. In a GAN, two neural networks compete with each other in the form of a zero-sum game, where one agent's gain is another agent's loss. Given a training set, this technique learns to generate new data with the same statistics as the training set. For example, a GAN trained on photographs can generate new photographs that look at least superficially authentic to human observers, having many realistic characteristics. Though originally proposed as a form of generative model for unsupervised learning, GANs have also proved useful for semi-supervised learning, fully supervised learning, and reinforcement learning. The core idea of a GAN is based on the "indirect" training through the discriminator, another neural network that can tell how "realistic" the input seems, which itself is also being updated dynamically. This means that the generator is not trained to minimize the distance to a specific image, but rather to fool the discriminator. This enables the model to learn in an unsupervised manner. GANs are similar to mimicry in evolutionary biology, with an evolutionary arms race between both networks. == Definition == === Mathematical === The original GAN is defined as the following game: Each probability space ( Ω , μ ref ) {\displaystyle (\Omega ,\mu _{\text{ref}})} defines a GAN game. There are 2 players: generator and discriminator. The generator's strategy set is P ( Ω ) {\displaystyle {\mathcal {P}}(\Omega )} , the set of all probability measures μ G {\displaystyle \mu _{G}} on Ω {\displaystyle \Omega } . The discriminator's strategy set is the set of Markov kernels μ D : Ω → P [ 0 , 1 ] {\displaystyle \mu _{D}:\Omega \to {\mathcal {P}}[0,1]} , where P [ 0 , 1 ] {\displaystyle {\mathcal {P}}[0,1]} is the set of probability measures on [ 0 , 1 ] {\displaystyle [0,1]} . The GAN game is a zero-sum game, with objective function L ( μ G , μ D ) := E x ∼ μ ref , y ∼ μ D ( x ) ⁡ [ ln ⁡ y ] + E x ∼ μ G , y ∼ μ D ( x ) ⁡ [ ln ⁡ ( 1 − y ) ] . {\displaystyle L(\mu _{G},\mu _{D}):=\operatorname {E} _{x\sim \mu _{\text{ref}},y\sim \mu _{D}(x)}[\ln y]+\operatorname {E} _{x\sim \mu _{G},y\sim \mu _{D}(x)}[\ln(1-y)].} The generator aims to minimize the objective, and the discriminator aims to maximize the objective. The generator's task is to approach μ G ≈ μ ref {\displaystyle \mu _{G}\approx \mu _{\text{ref}}} , that is, to match its own output distribution as closely as possible to the reference distribution. The discriminator's task is to output a value close to 1 when the input appears to be from the reference distribution, and to output a value close to 0 when the input looks like it came from the generator distribution. === In practice === The generative network generates candidates while the discriminative network evaluates them. This creates a contest based on data distributions, where the generator learns to map from a latent space to the true data distribution, aiming to produce candidates that the discriminator cannot distinguish from real data. The discriminator's goal is to correctly identify these candidates, but as the generator improves, its task becomes more challenging, increasing the discriminator's error rate. A known dataset serves as the initial training data for the discriminator. Training involves presenting it with samples from the training dataset until it achieves acceptable accuracy. The generator is trained based on whether it succeeds in fooling the discriminator. Typically, the generator is seeded with randomized input that is sampled from a predefined latent space (e.g. a multivariate normal distribution). Thereafter, candidates synthesized by the generator are evaluated by the discriminator. Independent backpropagation procedures are applied to both networks so that the generator produces better samples, while the discriminator becomes more skilled at flagging synthetic samples. When used for image generation, the generator is typically a deconvolutional neural network, and the discriminator is a convolutional neural network. === Relation to other statistical machine learning methods === GANs are implicit generative models, which means that they do not explicitly model the likelihood function nor provide a means for finding the latent variable corresponding to a given sample, unlike alternatives such as flow-based generative model. Compared to fully visible belief networks such as WaveNet and PixelRNN and autoregressive models in general, GANs can generate one complete sample in one pass, rather than multiple passes through the network. Compared to Boltzmann machines and linear ICA, there is no restriction on the type of function used by the network. Since neural networks are universal approximators, GANs are asymptotically consistent. Variational autoencoders might be universal approximators, but it is not proven as of 2017. == Mathematical properties == === Measure-theoretic considerations === This section provides some of the mathematical theory behind these methods. In modern probability theory based on measure theory, a probability space also needs to be equipped with a σ-algebra. As a result, a more rigorous definition of the GAN game would make the following changes:Each probability space ( Ω , B , μ ref ) {\displaystyle (\Omega ,{\mathcal {B}},\mu _{\text{ref}})} defines a GAN game. The generator's strategy set is P ( Ω , B ) {\displaystyle {\mathcal {P}}(\Omega ,{\mathcal {B}})} , the set of all probability measures μ G {\displaystyle \mu _{G}} on the measure-space ( Ω , B ) {\displaystyle (\Omega ,{\mathcal {B}})} . The discriminator's strategy set is the set of Markov kernels μ D : ( Ω , B ) → P ( [ 0 , 1 ] , B ( [ 0 , 1 ] ) ) {\displaystyle \mu _{D}:(\Omega ,{\mathcal {B}})\to {\mathcal {P}}([0,1],{\mathcal {B}}([0,1]))} , where B ( [ 0 , 1 ] ) {\displaystyle {\mathcal {B}}([0,1])} is the Borel σ-algebra on [ 0 , 1 ] {\displaystyle [0,1]} .Since issues of measurability never arise in practice, these will not concern us further. === Choice of the strategy set === In the most generic version of the GAN game described above, the strategy set for the discriminator contains all Markov kernels μ D : Ω → P [ 0 , 1 ] {\displaystyle \mu _{D}:\Omega \to {\mathcal {P}}[0,1]} , and the strategy set for the generator contains arbitrary probability distributions μ G {\displaystyle \mu _{G}} on Ω {\displaystyle \Omega } . However, as shown below, the optimal discriminator strategy against any μ G {\displaystyle \mu _{G}} is deterministic, so there is no loss of generality in restricting the discriminator's strategies to deterministic functions D : Ω → [ 0 , 1 ] {\displaystyle D:\Omega \to [0,1]} . In most applications, D {\displaystyle D} is a deep neural network function. As for the generator, while μ G {\displaystyle \mu _{G}} could theoretically be any computable probability distribution, in practice, it is usually implemented as a pushforward: μ G = μ Z ∘ G − 1 {\displaystyle \mu _{G}=\mu _{Z}\circ G^{-1}} . That is, start with a random variable z ∼ μ Z {\displaystyle z\sim \mu _{Z}} , where μ Z {\displaystyle \mu _{Z}} is a probability distribution that is easy to compute (such as the uniform distribution, or the Gaussian distribution), then define a function G : Ω Z → Ω {\displaystyle G:\Omega _{Z}\to \Omega } . Then the distribution μ G {\displaystyle \mu _{G}} is the distribution of G ( z ) {\displaystyle G(z)} . Consequently, the generator's strategy is usually defined as just G {\displaystyle G} , leaving z ∼ μ Z {\displaystyle z\sim \mu _{Z}} implicit. In this formalism, the GAN game objective is L ( G , D ) := E x ∼ μ ref ⁡ [ ln ⁡ D ( x ) ] + E z ∼ μ Z ⁡ [ ln ⁡ ( 1 − D ( G ( z ) ) ) ] . {\displaystyle L(G,D):=\operatorname {E} _{x\sim \mu _{\text{ref}}}[\ln D(x)]+\operatorname {E} _{z\sim \mu _{Z}}[\ln(1-D(G(z)))].} === Generative reparametrization === The GAN architecture has two main components. One is casting optimization into a game, of form min G max D L ( G , D ) {\displaystyle \min _{G}\max _{D}L(G,D)} , which is different from the usual kind of optimization, of form min θ L ( θ ) {\displaystyle \min _{\theta }L(\theta )} . The other is the decomposition of μ G {\displaystyle \mu _{G}} into μ Z ∘ G − 1 {\displaystyle \mu _{Z}\circ G^{-1}} , which can be understood as a reparametrization trick. To see its significance, one must compare GAN with previous methods for learning generative models, which were plagued with "intractable probabilistic computations that arise in maximum likelihood estimation and related strategies". At the same time, Kingma and Welling and Rezende et al. developed the same idea of reparametrization into a general stochastic backpropagation method. Among its first applications was the variational autoencoder. === Move order and st

    Read more →
  • Screen space ambient occlusion

    Screen space ambient occlusion

    Screen space ambient occlusion (SSAO) is a computer graphics technique for efficiently approximating the ambient occlusion effect in real time. It was developed by Vladimir Kajalin while working at Crytek and was used for the first time in 2007 by the video game Crysis, also developed by Crytek. == Implementation == The algorithm is implemented as a pixel shader, analyzing the scene depth buffer which is stored in a texture. For every pixel on the screen, the pixel shader samples the depth values around the current pixel and tries to compute the amount of occlusion from each of the sampled points. In its simplest implementation, the occlusion factor depends only on the depth difference between sampled point and current point. Without additional smart solutions, such a brute force method would require about 200 texture reads per pixel for good visual quality. This is not acceptable for real-time rendering on current graphics hardware. In order to get high quality results with far fewer reads, sampling is performed using a randomly rotated kernel. The kernel orientation is repeated every N screen pixels in order to have only high-frequency noise in the final picture. In the end this high frequency noise is greatly removed by a NxN post-process blurring step taking into account depth discontinuities (using methods such as comparing adjacent normals and depths). Such a solution allows a reduction in the number of depth samples per pixel to about 16 or fewer while maintaining a high quality result, and allows the use of SSAO in soft real-time applications like computer games. Compared to other ambient occlusion solutions, SSAO has the following advantages: Independent from scene complexity. No data pre-processing needed, no loading time and no memory allocations in system memory. Works with dynamic scenes. Works in the same consistent way for every pixel on the screen. No CPU usage – it can be executed completely on the GPU. May be easily integrated into any modern graphics pipeline. SSAO also has the following disadvantages: Rather local and in many cases view-dependent, as it is dependent on adjacent texel depths which may be generated by any geometry whatsoever. Hard to correctly smooth/blur out the noise without interfering with depth discontinuities, such as object edges (the occlusion should not "bleed" onto objects). Because SSAO operates only on the current depth buffer, it can miss occluding geometry that is not rasterized into the z-buffer and may produce undersampling-related artifacts.

    Read more →
  • Argument Web

    Argument Web

    The Argument Web is a large-scale Web of interconnected arguments created by individuals as they express their opinions and interact with the opinions of others. The Argument Web aims to make online debate intuitive for participants such as mediators, students, academics, broadcasters and bloggers, to create a Web infrastructure that allows for the storage, automatic retrieval and analysis of linked argument data, and to improve the quality of online argument and debate. The Argument Web can be described as a portion of a larger Semantic Web. == AIFdb == AIFdb is a database implementation or ‘reification’ of the Argument Interchange Format (AIF), which allows for the storage and retrieval of AIF compliant argument structures. This database solution was provided as a foundation for an open, integrated Argument Web. It offers an extensive range of web services for interacting with stored argument data, while also offering search and argument visualisation features that are all consistent with the formal ontology of AIF. At a basic level, the AIFdb web services allow for the insertion and querying of basic components of an AIF argument, such as nodes, edges and schemes. Building upon this basis, it also facilitates more complex interactions with these AIF argument structures. Such complex queries could make it possible, for example, to determine all the statements made by a particular person in support a given I-Node. While, at its highest level of interaction, AIFdb can handle the import and export of many standard file formats, including SVG, DOT, RDF/XML and other formats of argument theory tools, like Carneades, Rationale and Araucaria. == Argument blogging == ArguBlogging is software which allows its users to select portions of hypertext on webpages in their Web browsers and to agree or disagree with the selected content, posting their arguments to their blogs with linked argument data. It is implemented as a bookmarklet, adding functionality to Web browsers and interoperating with blogging platforms such as Blogger and Tumblr.

    Read more →
  • YouNoodle

    YouNoodle

    YouNoodle, Inc. is a San Francisco-based company, with offices in Barcelona and Santiago, founded in 2010, building a platform for entrepreneurship competitions all over the world. YouNoodle matches entrepreneurs with competitions, accelerators, and startup programs, and provides a judging and voting SaaS platform to university, non-profit, government and enterprise clients organizing innovation challenges and competitions. Stanford's BASES, UC Berkeley LAUNCH, Start-Up Chile, Amazon Startup Challenge, and NASA are all running one or more competitions on YouNoodle's platform. == History and structure == YouNoodle was founded by Rebeca Hwang and Torsten Kolind in 2010. The company was spun off a project started by Bob Goodson (Quid) and Kirill Makharinsky (Enki) in 2007 with support from Peter Thiel (Founders Fund), Max Levchin (PayPal) and Charles Lho (Amicus Group), founding investor and Chairman of YouNoodle today. This project also spawned Quid (Goodson) and indirectly Ostrovok (Makharinsky). Although also named YouNoodle, this project/company was discontinued in 2010, when the three new entities started operations. The founders of the 2007-2010 entity were Goodson and Makharinsky, both former students of the University of Oxford. Goodson had studied medieval English literature before moving from Oxford to California when Levchin, the co-founder of PayPal, invited him to join a start-up there. Makharinsky's degree was in applied mathematics, and he was also encouraged to pursue opportunities in the United States by Levchin. Other significant employees included Hwang (co-founder of today's YouNoodle), a Stanford University doctoral student whose research is into social network theory. == Startup predictor == YouNoodle's now discontinued "Startup predictor", part of the 2007-2010 entity and developed by Makharinsky and Hwang, used mathematical models to predict the success of new businesses. The user fills in a questionnaire, which takes about half an hour to complete and concentrates on the business concept, finances, founders and advisers. Because the procedure was designed for new companies, questions on revenue and traffic are not included. The site then provided an estimate of what the company's value will be after three years and a score from 1 to 1000 representing its value as an investment. The service was free for the startups themselves, but YouNoodle intended to charge third parties for access to the results. The level of detail required by the questionnaire makes it difficult for people without inside knowledge of a company to provide the data for a prediction on their own. The company's founders have declined to explain the algorithm in detail, but state that it takes into account the entrepreneurs' experience, networks and mutual relations. Information provided by companies which use the site's networking features is used to improve the algorithm. As of August 2008, the algorithm was based on data from 3,000 startups. In the same month the company had four patents pending on the technology.

    Read more →