FAQ & More about Curiosio

Curiosio
17 min readJun 10, 2019

--

by Vas Mylko

Who We Are?

We are Vas Mylko and Roman Bilusyak. We are #TravelTech startup. We started in April 2018 as Ingeenee. Our homepage is https://ingeenee.ai. The founding team consisted of three. While many startups want to make the world a better place, we want to give you more of the world.

What Is The World?

~200 countries, ~200M places & activities, ~2M cities and towns.

What We Build?

Marketplace for the most curious trips, called Curiosio.

What We Have Built So Far?

We have built Curiosio — a brand new search engine for road trips. Curiosio is a highly intelligent search engine that allows everyone to make smart itinerary generation in real-time. Curiosio is powered by our own one of a kind vertical Artificial Intelligence technology, called Ingeenee. So we have also built Ingeenee.

The road trips are the pathway to multi-modal trips (cars, flights, trains, buses, ships). The search engine is the pathway to the global marketplace.

What We Offer?

The smartest way to plan multi-point trips. We help leisure travelers discover & experience places between different points of the journey. Travel experience planning is about to get a lot easier.

Tell Curiosio what you’re interested in (e.g. scenery, culture, techno), and trip details such as your destination, dates and budget, and Curiosio proposes a made-to-fit itinerary. During your trip, its POI radar, compass, and destination gaming features get you where you want to go, and having fun along the way. All those features are being implemented incrementally.

What Benefits Happen?

  • Genuine unique trip for you and yours.
  • Have fun, never miss a thing, emotional satisfaction.
  • More See & Do for the same time or money.
  • Time or money savings for the same See & Do.
  • Integrated with other tools (maps, docs, apps).

First Principles: Time & Money

From the first principles, a traveler needs two scarce resources to travel the world: time & money. Curiosio finds travel itineraries in any geography optimized for curiosity by time & budget simultaneously.

All time expenses that happen during a trip must not exceed the desired trip duration. The time expenses consist of time for See & Do within populated places, time for See & Do in nature, time en route, time to move from POI to POI within populated places, time for food, time for check in, check out, etc.

All money spending that happens during a trip must not exceed the desired trip budget. The costs consist of admissions, car rent, lodging, food, fuel, tolls, parking, etc. Costs do not include flights.

A traveler asks for a trip with a duration of 10 days within a budget of $3,500, with start at A and finish at B — Curiosio finds best road trip itinerary between A and B, consisting of more waypoints, their select POIs, where all that together fits into 10-day duration and $3,500 budget. Start & finish points A & B, overall duration, and overall budget are called constraints. This problem is known as the Constraint Satisfaction Problem.

System Architecture

High-Level System Architecture of Curiosio Search Engine

How Big Is Curiosio?

There are two full-time guys, machines and data. We have two biz advisors, few technology advisors. During 2018 there were three full-time guys and few contractors. Then we significantly increased the number of servers and reduced the number of people. Back in November 2018 during Data Science conference, we disclosed we already had more than half of petabyte of data.

As of today, we could tell that we left the cloud and built own data center, because of high cloud costs. The number of nodes is less than a hundred. The volume of data is less than a petabyte.

Making Money

Booking fees before the Marketplace. Travelers will book with us. We will process payments. Travelers will be able to book relevant rooms to the travel itineraries with Curiosio. The prices will be on par with the prices elsewhere, e.g. on the genuine web site of the hotel or apt. It will be more convenient to book with us. We will offer incentives and discounts for curious travelers.

Gig fees during the Marketplace. When you ask a travel professional or local to fine-tune your skeleton of the forthcoming trip — you pay the guy. When you place a bid for multiple professionals, you embed the reward. When you ask the travel professional or local to make a skeleton of the forthcoming trip for you so that you could fine-tune it then — you pay the guy. We take the commission. Booking fees remain during the Marketplace.

What We’re Working On Right Now?

We are working on Beta4 — better smarter bigger more robust AI technology — making it work for the United States. The US is very rich touristically and very rich geometrically. Scalability is hard, it requires a few more inventions from us. Actually, we are scaling our AI technology to the cluster of US + Canada + Mexico. After that, we will go backward and reduce the scale to smaller geo regions, according to the travelers’ preferences.

After Beta4 is completed, we will switch URLs — curiosio.com and curios.io will point to the Beta4. We have not decided what we will do with Beta3 and Beta1, probably they will remain accessible at ingeenee.ai and ingeenee.com. Though we may decide to discontinue them and close access, even to Mars.

Successful Beta4 will signify the completion of the Research Round. Next will be PMF Round (Product-Market Fit). PMF Round will be focused on the relevancy of search, user satisfaction with search, user manipulation of search results, adaptive series of search.

How To Try Curiosio?

Curiosio is a web app, it works best from Chrome browser on big screens. Go to https://ingeenee.ai and click the upper button. So far, Curiosio is a very thin web wrapper over Ingeenee AI, just to make it accessible for demo. Though it works on small screens, the user interface was not designed for smartphones. Usability is significantly better on laptops, PCs, tablets.

What Is Curiosio Today?

Curiosio is a public web site, actually two web sites — fast minimalistic Beta1 and orders of magnitude smarter newer Beta3. Entries to both web sites at https://ingeenee.ai. Beta1 is running there for 37 countries on 5 continents, and experimental road trips on Mars in Elon Musk’s roadster.

Snapshot of Beta1

Beta3 is running for 5 countries: Canada, Australia, India, France, Italy. Next country will be the United States. Beta3 allows you to set desired travel-through and travel-not waypoints [latter via API]. This is an astronomically enormous complexity leap in comparison to Beta1.

Snapshot of Beta3 rollout

What To Input?

Curiosio fits between the flights — between the airports. User has to book flights to/from destination country somewhere else. Then the user enters this info for a road trip in the destination country:

  • select country of interest
  • set start & finish points of the journey, with desired waypoints in-between
  • select start & finish dates of the journey
  • set budget of the journey
  • set number of travelers

Click GET TRIP whenever ready with inputs. It is OK to leave some inputs with default values or empty. Curiosio will return what it thinks is most relevant for you in any context. Expect search results within ~8 seconds or faster.

What Is Output?

The user gets a travel itinerary, matching search criteria. Travel itinerary consists of a day-by-day plan of See & Do, where to sleep, driving route, breakdowns by time and cost. Here is a real search result to the above inputs.

If you calculate all costs required for car rentals, lodging, food, admissions, fuel, tolls, etc. yourself, you will come up with the trip total that Curiosio shows. If you calculate all times required for driving, sightseeing, walking, eating, resting, you will come up with the total time that Curiosio shows. Curiosio’s killer feature is a simultaneous optimization of a trip by time & cost.

What Are Real-Life Cases?

There are seven real-life scenarios we are experimenting with. First four of them are described in details in The New New Thing for the Good Old World.

  • One-click. Minimum input: start & finish points, dates, budget.
  • Do It Yourself. Add specific waypoints you want to visit. Pin points to dates.
  • Supertrip. Take a trip you love and tailor it for yourself.
  • Social Soup. Put all friends’ recommendations together, squeeze best trips.
  • Fine-tune Gig. You make a skeleton of the trip, travel professional or local fine-tunes it for you upon your request.
  • Skeleton Gig. Travel professional or local makes a skeleton of the trip for you, you fine-tune it yourself. True gig if the skeleton is created upon your request. Similar to Supertrip, if such skeleton exists in the marketplace.
  • Signature Trip. There will be signature trips. Accredited and distinguished travelers, travel professionals will sign the trips with their names. You could repeat their trips, or augment them for your needs as Supertrip.

What Is Relevancy?

Curiosio returns few-to-several travel itineraries as search results. They are listed by the relevance score. A higher score means a better match of the travel itinerary to the requested trip duration, waypoints, budget.

If you experience search results with low relevance score, you should better change your inputs. It could be physically impossible to have a trip with good enough See & Do in those constraints.

What Is Curiosity?

Curiosity is a motivated desire for information. Curiosity is the exploratory behavior, the desire for the knowledge and experiences about our planet, cultures, people, and yourself in those different conditions. Curious people actively search for new challenges and new experiences to broaden their horizons. Curiosity is subjective. “A traveler sees what he sees; the tourist sees what he has come to see.”

Some places are more popular, some are less popular, some are not popular. Mass tourism promotes the most popular places. Package tourism promotes all the same popular places. Curiosio works differently. Curiosio knows about the popularity of the places, but it is not the same crowdsourced popularity as on TripAdvisor or similar resources. It is more about perception, style, feeling, emotions, aftertaste, and memories.

We are cautious about ratings of places, cautious about ratings of activities at Airbnb, Viator, GetYourGuide and similar resources. Those ratings are vulnerable to inflation — instead of the real five-point scale, they are almost binary — positive or negative.

As of today we integrated classic POIs and experimented with real-time POIs (activities, events, flashmobs). Combination of POIs vastly contributes to the overall satisfaction of curiosity. We focus on educated travelers and geeks. There are two former blog posts about the Curious Traveler and City Vibe, that give more details of how we handle curiosity.

How Will Curiosio Look After Beta?

Which means that the current UI is not the interface we plan. Next version will remain a web app for big screens. We will have more of an exploratory landing page, where you can see pre-planned trips, ideas, have a visual of a map. The app will engage the user more.

Curiosio will show/open some POIs in telepresence mode as StreetView, VR; stories as Google Arts & Culture; action as YouTube, Instagram; encyclopedias as Wikivoyage, Wikipedia; and of course we want to implement intrigue as Una Curiosità.

What Is Our Vision?

We clearly see that software giants are taking over the travel inventories: flights, rooms, activities. We clearly see that there is no optimizer for the personal experience over those inventories. We clearly see that there is a shift from the UGC (aka User Generated Content) to the MGC (aka Machine Generated Content). We clearly see the shift from mass-produced travel products towards personalized. This is why Curiosio has been started.

Why cars? Because cars give you ultimate flexibility. Cars don’t have so-called “the last mile problem”. Self-driving cars will take off, sooner or later. They are computers on wheels. Cars will change more in the next 5 years than prior 50 (car will drive you to move, you will drive a car for experience, cars will be rolling Augmented Reality gadgets with you inside). Curiosio is designed to work with cars seamlessly — directly or via API.

It is important to think about what will not change in the future. We did it too.

How Magic Happens?

Via Multi-Objective Optimization (aka MOO). We run optimization for multiple objectives simultaneously, in defined real-time SLA (Service Level Agreement). The traveler tells desires and constraints, Curiosio finds a travel itinerary in those conditions, optimized for traveler’s curiosity.

Almost every MOO consists of mutually contradictory or exclusive conditions. We optimize for travel curiosity by geographical shape, geographical points (start, finish, travel-through), time, money, emotions.

Why This Is So Hard?

It is best explained with an example of the opposite math problems:

  • easy to find, difficult to check
  • easy to check, difficult to find

We could easily multiply two huge prime numbers, but it is difficult to check whether some number is a product of two prime numbers. The whole modern cryptography is based on this difficulty to check. If the prime numbers involved are 600+ digits long, then it is difficult to check even with supercomputers. The problem is known as Prime Factorization. The result is difficult to check, but finding the result of multiplication of two huge numbers is easy even on mobile phones.

We could easily tell that the fastest route via two dozen of points is good, where we want to visit each point once. We could easily recognize chimera route that is most probably bad. But we cannot find the absolute possible solution for the route. For 22 points the number of all possible solutions is 22! (22 factorial). It is ~10²¹ different solutions. By comparing 1000 solutions under 1 second, this will require 2x more time than the age of our Universe. This problem is known as the Traveling Salesman Problem.

TSP for 22 points

The leftmost picture is a map of 22 points, with marked start & finish. The middle picture is obviously a chimera route through those 22 points, while the rightmost picture is a quite elegant route. The result is difficult to find, but checking the result is easy, even without a computer.

This example shows only the optimization of road time. It does not include optimization by money. It does not include See & Do activities at each visited point, which also require time & money. The whole problem that Curiosio solves is orders of magnitude more complicated than “simple” TSP.

What Is Millennium Problem?

Those problems that are easy to find, difficult to check are called P. Those problems that are easy to check, difficult to find are called NP. If it is easy to check, could it be also easy to find? This simple question is actually one of six open Millennium Problems by Clay Math Institute, entitled P vs. NP. Curiosio finds solutions to NP problem within several seconds in real-time. So it becomes easy to check and easy to find from a user point of view.

When I sometimes say “this is so crazy nuts” it means that we are making NP problem both easy to check and easy to find [for a user].

What The Math?

One complicated problem is a parameter of another complicated problem, and it repeats. It is like a multi-layered cake of CSP(TSP(CSP(TSP))). In our case, the TSP itself is of NP-complete complexity, because it is the decision version of it. In reality, the bundle is much tougher than the elegant cake layers, used for the analogy for this explanation.

Can Quantum Computing Help?

An interesting question arises — could this NPC problem be solved on Quantum Computer? The quantum computer is mainly a refrigerator. What matters is the quantum chip. Let’s look deeper, there are two types of quantum chips: true qubits and superconductive qubits. Chips with true qubits are in their toddler age. The number of qubits is too small for wide practical use. Superconductive chips have many qubits — D:Wave — but there is no guarantee that all qubits turn to the quantum state during a session.

For a problem to be computed on the quantum chip, the problem must be put onto the quantum chip, in the form that the chip understands. This is called embedding. It is Hamiltonian. There are practical and theoretical embedding challenges.

Practically, D:Wave chip is very specific topologically, known as Chimera Graph. If the problem could be partitioned, then via tricky embedding the problem could be solved in a multi-session manner on that chip. But if the whole problem must be fit onto the same chip during the session, then this will not work. Probably, with more qubits per chip, parts of the problem could be offloaded onto the quantum chip, similar to today’s offloading of linear algebra onto co-processors and accelerators.

Theoretically, NP-complete problems are not guaranteed on classic quantum chips. The class of problems that can be efficiently solved by quantum computers is called BQP, that is suspected to be disjoint from NP-complete but is a superset of P. That is not known as of today. Bummer.

Feasibility of Quantum Computing

How We Solve NP-Complete In Real-Time?

We built brand new Evolutionary AI specifically for the optimization problem for the travel industry. It could be called a vertical AI, because it originates from the raw domain data and communicates directly to the user. The whole vertical stack is working for this specific problem — make the search for the most curious trips as simple & fast as the simple fast googling.

What AI We Built?

We built discovery intelligence — that unlocks never existed knowledge and makes it accessible. We have built a search engine that could search into the future.

“Most of the knowledge in the world in the future is going to be extracted by machines and will reside in machines.”
— Yann LeCun, Director of AI Research, Facebook

It is Evolutionary AI for a simple answer. It is CAS (aka Complex Adaptive System) if the answer to be more comprehensive. We do not use any 3rd party things like IBM Watson or Wolfram Alpha. Everything is invented and created by ourselves from the ground up. Our AI engine is called Ingeenee.

What Is Black Monolith?

If you have never seen “2001: A Space Odyssey” movie, it will be hardly explainable. There were black monoliths, at the different epochs of human evolution. Mysterious black monoliths were affecting human evolution. Here is a post about the curious monoliths, emitting intelligence in the vicinity. Our black monolith is our own Ingeenee. Monoliths are present in the Solar System, check out this former post:

Do We Use ML?

Yes, we use Machine Learning, Analogizers’ approach works well for the creation of semantic data. We plan heavier use of neural nets (deep, pointer and recurrent) when we can afford more electric power consumption. So far AI is prioritized over ML, hence gets all the power. Special ML approaches include Distant Supervision and Active Learning. Conditional Probability is a workhorse.

Our definition of Intelligence is — seeing better and further into the future. The more firm and deeper the vision is, the more intelligent is the thing that does it. This is not done by ML, because there is no ground truth to learn from (unlike chess or poker or other games). Artificial smartness of Curiosio is achieved by new AI, that uses ML a lot but itself is mostly not ML.

BTW ML is not the Machine Learning always. Pretty often ML stands for the Manual Labor. We have a special post about that aching side of ML.

Where We Take The Data From?

We get the raw data atoms publicly available encyclopedias and datasets: Freebase, DBpedia, Wikipedia, Wikivoyage, OSMNames, OpenStreetMap, Numbeo, MaxMind, GeoNames, census and statistical bureaus.

What Is Knowledge Graph?

Knowledge Graph is a representation of POIs, cities, towns, their relations, and attributes. It is stored as a complex data structure. There are special tools and API to access and use it by our other modules. So far we have not done it in RDF, but we are thinking of the upgrade towards semantic graph. Even thinking about running it on CayleyGraph — open-source graph inspired by the graph database behind Freebase (i.e. Google’s own Knowledge Graph).

We know multiple attributes about each POI, such as the canonical name in English Wikipedia, geo coordinates, type, themes, the time required to experience it, price, belonging to the populated place, curiosity value, various semantic and spatial relations, etc. So far we did this all for classic POIs, while activities will be added in the future. Activities have almost all the same attributes, so the integration should be straightforward.

Why We Built Knowledge Graph?

It is not allowed to store the data from API calls from others. It is in Terms of Service. There is Google Maps API, Places Graph by Facebook, Content API by TripAdvisor, Places API by Foursquare, and also Yelp, Mapbox, and others. We need the whole Knowledge Graph related data all at once for multiple reasons — from the creation of AI to real-time performance.

How We Link It All Together?

At a macro level, it is NPC Optimizer running over Knowledge Graph. Both are linked together by in-house built Content Engine, Geo Engine, and Routing Engine. There were few former posts about the latter two.

Could It Work Over Their Data?

Yes, this is the strategy — Curiosio could work over other Knowledge Graphs. It will work via directly attached facade of their graphs of places and activities to our Optimizer. Curiosio is Knowledge Graph agnostic by design.

The same inventory agnostic approach will be applied for booking of rooms, houses, cars. Curiosio will take them from multiple suppliers.

What Is Our Development Stack?

We try to keep our development stack simple. But this is not simple itself. When you build brand new stuff in the world, you have to stand of the shoulders of the giants. The giants built their great stuff using what worked for them then. Here we described in details what is primarily used.

What Programming Languages We Use?

Mainly Go and Python used for AI. HPC is in Go on bare metal. All distributed primitives and frameworks like MapReduce we have built ourselves, optimized for our mission. R used for viz. ML in Python. If you want to join us, get prepared by investing some time into those books, directly or indirectly related to programming.

What Hardware We Use?

In one sentence: compute servers with many-core chips, with storage on ZFS. There is the former post with a good description of our hardware in use, our experiments, and plans.

Custom Chips

We considered making own chips, to reduce power consumption and increase productivity. Analyzed FPGA options from Xilinx, Intel Altera. So far our data structures are too complex for the embedding onto the fabric that does math primitives. Higher-level tools needed to make it work with custom data types easier; even strings must become orders of magnitude easier. Nested trees of custom types should be easier. Thus no special chips so far.

What Do We Promise?

Follow your curiosity the smart way.

--

--

No responses yet