Object-Oriented Architecture
Action Categorization for Computationally Improved Task Learning and Planning
Nair, Lakshmi, Chernova, Sonia
This paper explores the problem of task learning and planning, contributing the Action-Category Representation (ACR) to improve computational performance of both Planning and Reinforcement Learning (RL). ACR is an algorithm-agnostic, abstract data representation that maps objects to action categories (groups of actions), inspired by the psychological concept of action codes. We validate our approach in StarCraft and Lightworld domains; our results demonstrate several benefits of ACR relating to improved computational performance of planning and RL, by reducing the action space for the agent.
IBM Blockchain Foundation for Developers Coursera
About this course: If you're a software developer and new to blockchain, this is the course for you. Several experienced IBM blockchain developer advocates will lead you through a series of videos that describe high-level concepts, components, and strategies on building blockchain business networks. You'll also get hands-on experience modeling and building blockchain networks as well as create your first blockchain application. The first part of this course covers basic concepts of blockchain, and no programming skills are required. However, to complete three of the four labs, you must understand basic software object-oriented programming and how to use the command line. It's also helpful, but not required, that you can write code in JavaScript.
Automated Refactoring of Object-Oriented Code Using Clustering Ensembles
Bryksin, Timofey (Saint Petersburg State University, JetBrains Research) | Shpilman, Alexey (Saint Petersburg National Research Academic University of the Russian Academy of Sciences,ย JetBrains Research) | Kudenko, Daniel (University of York,ย JetBrains Research)
In this paper we are approaching the problem of automatic refactoring detection for object-oriented systems. An approach based on clustering ensembles is proposed, several heuristics to existing algorithms and to filtering and combining their results are discussed. An experimental validation of the proposed approach on an open source project is proposed. The obtained results illustrate that the introduced approach could be successfully used to improve existing integrated development environments, providing developers with one more tool to reduce complexity of their projects.
Best Programming Language For Games
Playing games, and developing and designing one are two very different things. Game developers though have to design the interface and work on all the intricate things related to a game but should also have a brief knowledge about the programming languages. Game developers don't have to be pro in all the programming languages but there are some that are needed to be known. In this post, we have listed some of the important and best programming languages that you should know about when developing games. C is one of the toughest and important programming languages.
"Spaghetti Code": Complexity and Artificial Intelligence NEUROMORPHIC TECHNOLOGIES
The "spaghetti code" is a pejorative term to refer to computer programs that have a complex and incomprehensible flow control structure. Its name derives from the fact that this type of code seems to resemble a plate of spaghetti, that is, a pile of intricate and knotted threads. Traditionally this style of programming is usually associated with basic and ancient languages, where the flow was controlled by very primitive control statements such as GO TO and using line numbers. An example of language that invited the use of spaghetti code is Microsoft's QBasic in its first versions. Throughout these decades programming has been evolving, from spaghetti code to functional programming and from functional programming to object-oriented programming with modularity, abstraction, encapsulation, decoupling capacity.
Python vs R for Artificial Intelligence, Machine Learning, and Data Science
Ah yes, the debate about which programming language, Python or R, is better for data science. In this series, I am considering machine learning and artificial intelligence as included in the term data science. This is almost the data science equivalent of tabs vs spaces for software engineers, at least at the time of this writing. This series is intended to be a somewhat definitive guide on this topic, including recommendations for languages and packages (aka libraries) applicable to different use cases, including data science in production and big data scenarios. This series is not intended to give side-by-side code comparisons, as there are plenty of other articles covering that. From my experience, which language to use is one of, if not the first question that someone interested in learning data science wants answered.
AI Model Architecture
I've been promising since I started this blog to present some of the key design decisions and architectural choices we have made. Time constraints have limited that but this weekend I have finally put together an overview of what we're doing and how we approach the problem. Just for clarity, this architecture is the full solution when we go into production. The infrastructure we are using for our live trading diary is identical except it doesn't link through to the hedging engine. With the relatively small amount of capital we are trading with this level of integration wasn't required โ but it will be essential as we move onto a full production footing.
Introduction to Functional Programming in Python
Most of us have been introduced to Python as an object-oriented language; a language exclusively using classes to build our programs. While classes, and objects, are easy to start working with, there are other ways to write your Python code. Languages like Java can make it hard to move away from object-oriented thinking, but Python makes it easy. Given that Python facilitates different approaches to writing code, a logical follow-up question is: what is a different way to write code? While there are several answers to this question, the most common alternative style of writing code is called functional programming.
Tracking Occluded Objects and Recovering Incomplete Trajectories by Reasoning About Containment Relations and Human Actions
Liang, Wei (Beijing Institute of Technology) | Zhu, Yixin (Center for Vision, Cognition, Learning, and Autonomy, University of California, Los Angeles) | Zhu, Song-Chun (Center for Vision, Cognition, Learning, and Autonomy, University of California, Los Angeles)
This paper studies a challenging problem of tracking severely occluded objects in long video sequences. The proposed method reasons about the containment relations and human actions, thus infers and recovers occluded objects identities while contained or blocked by others. There are two conditions that lead to incomplete trajectories: i) Contained. The occlusion is caused by a containment relation formed between two objects, e.g., an unobserved laptop inside a backpack forms containment relation between the laptop and the backpack. ii) Blocked. The occlusion is caused by other objects blocking the view from certain locations, during which the containment relation does not change. By explicitly distinguishing these two causes of occlusions, the proposed algorithm formulates tracking problem as a network flow representation encoding containment relations and their changes. By assuming all the occlusions are not spontaneously happened but only triggered by human actions, an MAP inference is applied to jointly interpret the trajectory of an object by detection in space and human actions in time. To quantitatively evaluate our algorithm, we collect a new occluded object dataset captured by Kinect sensor, including a set of RGB-D videos and human skeletons with multiple actors, various objects, and different changes of containment relations. In the experiments, we show that the proposed method demonstrates better performance on tracking occluded objects compared with baseline methods.