Search This Blog

Sunday, February 5, 2017

Blackjack Numberlink


Nibbl is a puzzle solving and publishing mobile platform where users can solve hand-crafted puzzles created by some of the top puzzlers of the world.

As a follow-up to my Blackjack puzzle series and my previous Nibbl collection of Hitori puzzles, I've published my second collection called 'Blackjack Numberlink'. Its contents are:

6x6 Numberlink - 2 puzzles
7x7 Numberlink - 2 puzzles
8x8 Numberlink - 6 puzzles
9x9 Numberlink - 4 puzzles
10x10 Numberlink - 7 puzzles

If you enjoy solving Numberlink puzzles, or want to try your hand on a few, you can purchase this from Nibbl and solve it on your phone at leisure!

Currently, the collection with these 21 puzzles is priced at 99 Nbls (little less than $1). Not only can you solve them, but you can also see the solution path set by the author to help you understand the flow of the solution. Maybe learn some tricks with it too.

You'll find it in the Collections section in Nibbl. These are not published as individual puzzles, so, its only possible to solve them by purchasing the collection.

Check out some other interesting collections by fellow Nibbl authors: Rob Vollmert's Star Battle and Prasanna Seshadri's Tapa collections are worth a shot.

For those of you who aren't on Nibbl yet, you can download the app from Apple Store or Google Play Store. Feel free to use my referral code for some bonus credits: ROHA3286 Hope you enjoy the set!

I plan to publish similar collections like these in the months to come. A Sudoku collection will be published soon!

Monday, November 28, 2016

Blackjack Hitori


Earlier this year, I posted about Nibbl, a puzzle solving and publishing mobile platform where users can solve hand-crafted puzzles created by some of the top puzzlers of the world.

As a series of packs (or 'Collections' on Nibbl), I've published my first set called 'Blackjack Hitori'. Its contents are:

4x4 Hitori - 1 puzzle
5x5 Hitori - 1 puzzle
6x6 Hitori - 1 puzzle
7x7 Hitori - 1 puzzle
8x8 Hitori - 5 puzzles
9x9 Hitori - 5 puzzles
10x10 Hitori - 7 puzzles

I tried to create these with varying difficulty levels and as many different types of solving paths as possible. Hopefully, with some pleasant themes in some of them :-)

If you enjoy solving Hitori puzzles, or want to try your hand on a few, you can purchase this from Nibbl and solve it on your phone at leisure!

Currently, the collection with these 21 puzzles is priced at 99 Nbls (little less than $1). Not only can you solve them, but you can also see the solution path set by the author to help you understand the flow of the solution. Maybe some of you can learn some tricks with it too.

You'll find it in the Collections section in Nibbl. These are not published as individual puzzles, so, you can only solve them from the whole collection.

You can also check out some interesting collections by fellow Nibbl authors. Rob Vollmert's Star Battle and Prasanna Seshadri's Tapa collections are worth a shot.

For those of you who aren't on Nibbl yet, you can download the app from Apple Store or Google Play Store.

Feel free to use my referral code for some bonus credits: ROHA3286

Hope you enjoy the set!

I plan to publish similar packs like these in the months to come. A Sudoku collection will be published next month, so watch out for it.

Special thanks to Dan Adams, Rob Vollmert and Prasanna Seshadri for testing the puzzles.

Thursday, November 3, 2016

World Puzzle Championship 2016


The 25th World Puzzle Championship (WPC) was held on 20th - 22nd Oct, 2016 in Senec, Slovakia.

View Championship Page


Indian Team









The Indian team was selected from the Indian Puzzle Championship 2016 (IPC). We had two complete teams this year.

The A-Team is same as last year's.


Preparation
Similar to my WSC experience, I didn't have too much preparation or expectation this year. As a team, we were hoping to get into a single digit rank, which we missed last year with our 10th place.


Puzzles
Similar to my WSC experience, puzzles were fantastic all around. Some beautiful themes and well-crafted puzzles.


Performance
The Indian team performed well this year. Prasanna improved on his (and India's best individual rank) by finishing 18th (one better than last year's 19th), which is also his fourth consecutive finish in the Top-25. It is quite creditable considering no other Indian has ever crossed the 25th mark.

I finished 28th, which is my best WPC rank ever! Yoohoo! 8yrs later, when I'm old and on the verge of quitting, comes my best performance. Haha, well, it certainly felt good but I'm not sure if I'll ever be able to cross the 25th mark.

I made a single digit error in two high-pointers, one of which was the Full Scrabble. Had I got that Scrabble right, it would be the first WPC round I'd have convincingly finished (ignoring the single puzzle rounds). Well... maybe some other time.

Amit finished 39th and Swaroop, a disappointing 72nd.

We finished 10th in the team standing, equalling our best team rank last year. Missed single digit yet again.

The unofficial players: Rakesh did well in 69th, Ashish in 108th, Rajesh in 119th, Kishore in 133rd and Jaipal in 151st.

Prasanna has been in tremendous form in the GPs, but had an average WPC this year.
He's doing well in elections too! (Yes, he got elected as a board member in the World Puzzle Federation, but more on that later)


Winners
Last year, we saw Ken Endo (Japan) pip Ulrich Voigt (Germany) in the playoffs. This year Ulrich pipped Endo to take his 11th WPC title. Absolutely incredible, and he still continues to be on top after all these years.

Endo had a huge lead in the preliminary rounds, over Ulrich and Palmer. Scoring 1000+ points over Ulrich is truly a great achievement. It felt like the start of Endo's domination after his string of magnificent performances in online contests throughout the year. But it was not to be...

I missed the playoffs due to a Machine Learning hackathon I was competing in, but Endo unfortunately fell to third, with Palmer finishing 2nd.

View Complete Results


Puzzle GP
I've loved the GPs and its high-quality puzzles, and I've shared most of my thoughts on my WSC blogpost.

This was the first time I competed in Puzzle GP, only because I really enjoy the Casual-type puzzles. After the first two rounds, it was evident there wasn't much competition here (well, the Competitive section is what really matters), but I thought I'll go ahead and compete for the Casual winner.

And I won! There were no playoffs for the Casual section, but the Competitive section playoffs was quite entertaining.

Endo raced through the puzzles for an easy win, but it was a fight to the finish for 2nd and 3rd, with 7 of the 10 players on the last puzzle. Ulrich finished 2nd, just 3 seconds before Will Blatt (USA).

View Casual GP Results
View Competitive GP Results
View General GP Results


Organization
Kudos to Matus Demiger, Matej Uher, Peter Hudak and the entire Slovak team for hosting this wonderful event. It was excellently organised and a lot of fun! Thanks a lot!

There were far too many Kropki puzzles (ask Przemyslaw about it), but well, every team have their preferences.


Next Year
Slovakia have set the bar high, and the Indian team will be hosting all you wonderful people next year during the same week (15th - 22nd Oct, 2017) in Bengaluru, India. I look forward to it as much as many of you, and hope it is a successful and enjoyable WPC.

Feel free to write to me: rohanrao88@gmail.com in case of any help/queries/questions regarding next year's event. We'll have our webpage out soon, and the LMI forum is always available and active for other discussions!

And now, back to boring non-puzzle life :-|

P.S. Read about my WSC experience.

Wednesday, October 26, 2016

World Sudoku Championship 2016


The 11th World Sudoku Championship (WSC) was held on 17th - 18th Oct, 2016 in Senec, Slovakia.

View Championship Page


Indian Team











The Indian team was selected from the Indian Sudoku Championship 2016 (ISC) and the Times Sudoku Championship 2016 (TSC). We had three complete teams this year.

Pranav was our Under-18 participant, and after a good show at last year's World Junior Championships, he made it to the Top-2 inexperienced solvers of TSC this year.


Preparation
I've been off the grid, primarily due to my work and career aspirations of pursuing Machine Learning, so I didn't have high expectations this year. This might also be my last World Championships as a participant, as I'm one of the organizers for next year's championships in India, after which I'm uncertain of continuing.


Puzzles
The Slovak team have been doing well in recent years, in contests, in authoring, in communicating, and I think a lot of people were expecting these championships to be good fun. And it definitely was. The IB was crisp, rounds were well thought of, themes were really nice.

Retrospectively, the timing of all rounds were spot on, and it was one of my best WSC experiences in the last 8 years.

The puzzles were all well-made, a good mix of easy, medium and hard puzzles, a good variety of standard vs new variants, some really exciting team rounds, and overall it felt like a complete well-balanced WSC. Thumbs up for all the authors and organizers for the excellent event.

I must admit that there were some parts where I felt deja-vu, strikingly similar to some of the ideas we've been discussing for next year's WSC. Well, there's no limit to innovation!


Performance
The Indian team performed average-ish this year. I was the top ranked Indian on 18th, which is our worst 'top rank' in the last 9 years! But as a team, all four of us were ranked in Top-40, which is a first.
Prasanna finished 21st, Rakesh 32nd and Kishore 38th. Rakesh's and Kishore's personal best.

We finished 6th in the team standing, equalling our best team rank in 2014.

The unofficial players: Amit stood 53rd, Gaurav 73rd, Rajesh 76th, Swaroop 85th, Jaipal 93rd, Pranav 94th, Akash 104th and Ashish 141st.

Prasanna has been in tremendous form in the GPs, but had quite a bad WSC this year.
He's doing well in elections too! (Yes, he got elected as a board member in the World Puzzle Federation, but more on that later)


Winners
Jakub Ondrousek (Czech Republic) performed extremely well in the rounds and was on top with a sizeable lead over Tiit Vunk (Estonia) and Kota Morinishi (Japan). The three of them have been consistently topping the WSCs last few years, and this one was no different.

But it was the Estonian who flew through the playoff puzzles and pipped Jakub to take his first title, after finishing runner-up in the previous two years. Hearty congratulations to Tiit! A well-deserved win.
Jakub was second and Kota stood third.

Among the teams, Czech Republic blazed through the playoffs to win it, while the Chinese came in second, with an amazing performance, where three of them were in Top-10 too (let aside the fact that they are all U-18!) and Japan came in third.

View Complete Results


Sudoku GP
I've always enjoyed the GP rounds through the year, but never perform well in them, quite unlike the WSCs. Somehow, it makes me feel I'm more of an offline solver, rather than an online one (Even of the 10 ISCs so far, only 4 were held offline, and those were the 4 I won!).

There was a lot of debate on the new scoring system, and I didn't share my thoughts earlier since I was just uninterested and busy. But, I ended up 14th in the GP, and due to high dropouts in the Top-10, I was invited for the playoffs.

And I decided not to compete. There are a couple of reasons for this. One is, I reviewed my performance and felt I didn't deserve to be in the playoffs. Using some simple normalization, I would lose at least 2 more ranks, which is a fairer position for me. And secondly, the schedule this year had more rounds, and having the GP in between them is just exhausting. Besides the fact that I wanted a decent rank in the WSC if this is my last one, so preferred resting.

I don't want to comment too much on the scoring, but there's no harm in trying new ideas, I'm always in favour of experimenting. Tom Collyer, the Sudoku GP Director, received some slack on this, and I'm not sure its completely fair to him.

It is just my personal opinion and preference that some form of normalization does make a better scoring system. We (LMI organizers) have seen it in the past... we even changed it in the middle of SM and PR, and decided to add normalization after 2 rounds, when we realized it is extremely difficult to curate 8 rounds of 'equal' solving experience.

It remains to see what happens next year. The Sudoku GP Director spot is currently open (Tom stepped down).

Overall, the GPs were still a lot of fun with high-quality puzzles. Thanks to Tom, Hana, Wei-Hwa, all the authors, testers and everyone else who put in effort conducting these year-on-year.

The top-3 in the playoffs were Tiit Vunk (so he won the double), Kota Morinishi and Hideaki Jo. Congrats!


Organization
Kudos to Zuzana Hromcova and the entire Slovak team for hosting this wonderful event. It was smooth, it was punctual, it was lively, it was fun! Thanks a lot!

This year, there were several prizes (and some spot prizes too!), which is generally nice to have.

There was a prize for guessing the 11th place player (being the 11th WSC), and we analyzed the results after two rounds, to choose the most probable twelve people who'd be 11th, distributing the votes among us twelve Indians.
And we bombed it like anything. We ended up guessing the players ranked 9th, 10th, 12th, 13th, 14th, 15th, 16th, 18th, 19th, etc. Damn we missed Takuya! :-)


Next Year
Slovakia have set the bar high, and the Indian team will be hosting all you wonderful people next year during the same week (15th - 22nd Oct, 2017) in Bengaluru, India. I look forward to it as much as many of you, and hope it is a successful and enjoyable WSC.

I've got some plans through the year, so, its going to be an interesting next few months and I hope most of them work out as expected. Fingers crossed!

Feel free to write to me: rohanrao88@gmail.com in case of any help/queries/questions regarding next year's event. We'll have our webpage out soon, and the LMI forum is always available and active for other discussions!

And now, back to boring non-puzzle life :-|

P.S. Will be writing an update on WPC by the weekend.

Wednesday, August 3, 2016

The Smart Recruit


AnalyticsVidhya organised a weekend hackathon called The Smart Recruit, which was held on 23rd-24th July, 2016.

I won the previous hackathon, The Seer's Accuracy, and was hoping to do well in this one too.

Problem
The problem was to identify which agents would be successful in making sales of financial products. So, it was a binary classification problem.

Data
Like the previous hackathon, the data seemed quite good and promising.

Train and test data consisted of agent applications with data about the application, the manager and a few related features about them.

Model
I'm sure most participants just went ahead and dumped the data into XGB-type models with a lot of scores hovering in the 0.63 - 0.66 AUC range.

I tried to get a robust/stable validation framework, like I mentioned in AV's article on Winning Tips. Didn't seem to work/help. The CV/LB scores were all over the place in my first few submissions.

Thats when I decided to take a step back and inspect the data in detail. It was evident to me that there would be a huge LB shake-up due to the variance between the CV-LB scores. Hence, didn't make much sense to spend too much time on the data trying to optimize models. Instead, I tried to look for some pattern/feature which could boost me score over the expected error margins.

And that's exactly what happened. A simple plot of the target variable showed a pattern, which seemed too good to be true. I tried a feature using this and my CV jumped to 0.8... and that was the feature that ultimately proved to be the winning one.

Here's the plot that changed everything:

This is the plot of the target variable for the first four days. A clear pattern exists where you see most of the 1's at the beginning of a day and most of the 0's at the end of the day. You can plot the target variable of any single day and observe a similar trend.

Leakage? Possible. Hidden trend? Possible. At first I was convinced it was leakage and a data preparation issue, but later, felt there was a possibility that applications received towards the end of the day are more likely to be rejected than ones received early.

Either ways, I polished this feature using Order_Percentile in my code, which was the most important feature.

My final model was a single XGBoost with 14 features, with the other 13 being cleaned up features from the raw variables. I achieved a CV of 0.887 which was in the same range as the LB. I'd have liked to try out some more parameter tuning and ensembling, but with the limited duration of a hackathon, there wasn't any time left.

GitHub
View My Complete Solution

Results
I stood 1st on the public LB with 0.885, with good friend and rival competitor SRK in 2nd, who teamed up with Kaggler Mark Landry, with 0.876 and another team of Kanishk Agarwal and Yaasna Dua in 3rd with 0.839. No other team figured out the winning feature and their scores were below 0.71.

The rankings held same on the private LB, but it was much closer, with SRK-Mark scoring 0.7647 and I scoring 0.7658.

My username is 'vopani'.

View Complete Results

Views
My 2nd AV win on the trot and while not the best way to win it, I'm happy I could find a useful winning feature in the data.

Congrats to the ever consistent SRK, who also happens to be someone I'm chasing on Kaggle :-)

Fun weekend, bonus to win it, and looking forward to the next hackathon, where I'll be on a hat-trick!

An interesting co-incidence: I got the exact same score on the public LB (0.8856) in the previous hackathon too, The Seer's Accuracy !!!

External Links
View AV article on the winners
View 2nd place solution by SRK
View 3rd place solution by Kanishk Agarwal

Friday, July 29, 2016

Nibbl


Nibbl is a platform for authoring and solving various grid-based logical puzzles. Being a part of the puzzling world, having authored, organized and participated in various international puzzle championships across the globe, I've wondered what is the best way to reach out, publicise and improvise on these popular genres across different channels and audiences. With the advancements of mobile technology, it is one of the fastest and most convenient forms of information distribution.

So, why Nibbl?

Yes, there are a few puzzle solving (especially sudoku) apps out there, but most of them are computer generated puzzles built by programmers. Don't we all love hand-crafted theme-based puzzles with wonderful solving paths to 'tickle our minds'? All puzzles on Nibbl are custom created by authors.

One of the best features in Nibbl is the ability to view the author's intended solving path. A great way to learn from the creators on what logic was applied when and how.

Currently, it has a few popular puzzle genres but more will be added soon.
Nibbl Authors can publish puzzles as per their choice and liking and decide their own pricing. Creating puzzles is a matter of few taps and can be done on the app itself. Interested authors can contact nibble.appfactory@gmail.com.

Solvers can download the app from:
Google Play Store: https://play.google.com/store/apps/details?id=rao.rajnikant.ips
Apple Store: https://itunes.apple.com/in/app/nibbl-solvr/id1132803199

Feel free to use my referral code for some bonus credits: ROHA3286

I plan to publish some puzzle packs on Nibbl later this year.

P.S. My father, Rajnikant Rao, is the main driver of the project :-)

Friday, June 24, 2016

Indian Puzzle Championship 2016


The Indian Puzzle Championship (IPC) 2016 was held on 17th July, 2016 in Chennai.

The championship was an offline event (after four years of having it online), where the top-50 qualifiers of Puzzle Ramayan were invited. Prasanna is undoubtedly the best puzzle solver in India today, and has been last 3yrs.

View Top Qualifiers

Last 2yrs were exciting competing with Amit. He won the 2014 edition and I came in second, while I won the 2015 edition and he came in second. I was expecting him to be the biggest challenger for the title, since Prasanna, being the best Indian at the World Puzzle Championship last year, gets a wild card for the national team this year and hence, decided to organize the national event.


Puzzles
The championship consisted of four rounds. When you have Deb and Prasanna authoring puzzles, you know you're in for a treat. Really nice set of puzzles.

The 3rd round Sprint was my favourite, and also, the only round I topped.
The 4th round was Casual-type puzzles, many of them visual, and supposedly one of my strengths. But, I did horribly.

Those of you who'd like to solve these puzzles can purchase it here (Unfortunately due to certain reasons, they are not publicly available this year).


Results
I expected it to be a close fight between Amit and me. But, after the first two rounds, Amit had a big enough lead over me and it was pretty hard to catch up from then. I did cover up a few points in the third round, but had a terrible fourth round.

Amit won his second IPC and I stood 2nd (for the third time, after 2009 and 2014).

The ever-consistent Rakesh stood 3rd with a strong performance. Ashish's performance was disappointing, but just made it into the B-Team with his 6th place finish.

View Complete Results

The winning trophies were really cool! Custom-made puzzles by Prasanna (and one by me, the second one, which I ended up getting :-| ) printed on the trophy with the themes '1', '2' and '3'. Thanks to Sumit Bothra for getting these made.




Organization
Thanks to Deb Mohanty and Prasanna Seshadri for organizing this event smoothly. Also, a big thanks to Varun, Ezhilarasi, Ashish, Kumaresan, Rakesh, Kishore, etc. and the other folks in Chennai who helped out with the event. It was a big success!

Indian Sudoku Championship 2016


The Indian Sudoku Championship (ISC) 2016 was held on 16th July, 2016 in Chennai.

The championship was an offline event (after three years of having it online), where the top-50 qualifiers of Sudoku Mahabharat were invited. This is the first time the reigning champion did not defend the title. Rishi Puri, who won ISC in 2014 and 2015, has called it quits for his sudoku career.

View Top Qualifiers

Last 3yrs were very exciting competing with Prasanna and Rishi. Its unfortunate that neither of them participated this year since Prasanna, being the best Indian at the World Championships last year, gets a wild card for the national team this year and hence, decided to organize the national event.

I've traditionally done well in offline ISCs... in fact, only 3 of the ISCs were offline (2010, 2011, 2012), and those were the 3 times I won! This year I made it 4/4.


Puzzles
The championship consisted of four rounds. When you have Deb and Prasanna authoring sudokus, you know you're in for a treat. Really nice set of puzzles.

The fourth round of 6x6 sudokus had a fun twist to it, and was well thought of. The timings were perfectly set and the event ran very smoothly.

Those of you who'd like to solve these puzzles can purchase it here (Unfortunately due to certain reasons, they are not publicly available this year).


Results
I'm glad I topped all four rounds and won my fourth ISC title, this one after 4 years!

Rakesh Rai pipped Kishore Kumar for 2nd place as Kishore had a really bad 4th round. Most of the other results were as expected. Akash Doulani and Pranav Kamesh were the top inexperienced players comfortably, and I'm glad they'll finally be making it for their first World Championships.

View Complete Results

The winning trophies were really cool! Custom-made sudokus by Prasanna printed on the trophy with the shapes '1', '2' and '3'. Thanks to Sumit Bothra for getting these made.






Organization
Thanks to Deb Mohanty and Prasanna Seshadri for organizing this event smoothly. Also, a big thanks to Varun, Ezhilarasi, Ashish, Kumaresan, Rakesh, Kishore, etc. and the other folks in Chennai who helped out with the event. It was a big success!

Thursday, May 5, 2016

The Seer's Accuracy


AnalyticsVidhya organized a weekend hackathon The Seer's Accuracy on 29th April - 1st May, 2016.

In the midst of a new job, new city, I wasn't sure if I'll get enough time to participate in this hackathon. But fortunately, it was a relatively light weekend.

Problem
The challenge was to predict which customers would be return customers to a chain of stores. Looking at it another way, it was predicting which customers would churn.

Data
The train data consisted of customers (a.k.a. clients) and their transaction history in the years 2003 - 2006. The test evaluation was on which clients would return in 2007.

There was no test data per se, and it turned out to be the most crucial part of this challenge.

Overall, very clean data and very interesting problem. Kudos to AV!

Model
Right from the beginning I felt setting up a validation framework is going to be the key. And with a few LB submissions, I realized it was going to be extremely important to have a good validation set too.

I started off just like most other participants by using 2003-04-05 as build set and 2006 as the validation set and running a CV on it.
What finally catapulted me up the LB was when I added 2003-04 as build and 2005 as the validation set as well in my CV framework.

I think this resulted in a much stabler validation set and my CV and LB improvement was much more in sync.

Since the variables were limited, I treated and tested each of them individually and finally had a model with 335 features.

My final model was a blend of 3 XGBs on varying subsets of data and features.
It was a very minor improvement over my single best model.

GitHub
View My GitHub Repository

Results
I stood 1st on the public LB scoring 0.8856 and 1st on the private LB too, scoring 0.8800 using the AUC metric with the username 'vopani'.

Congrats to orenov/DataGeek for 2nd place and Bishwarup for 3rd place.

View Final Results

Views
Feels good. Really good.
Not just for winning, but for building a solid architecture which enabled a strong and stable model resulting in a considerable lead over the rest.

And this is also my first win on AV! :-)

Thanks to the AV organizers for this hackathon, was top quality and totally worth spending a weekend over.

View AV article on winners.

Sunday, March 6, 2016

Telstra Network Disruptions


The Telstra Network Disruptions competition was held on Kaggle in Nov, 2015 - Feb, 2016.

Objective
The objective was to predict the severity of a service disruption (whether it is a momentary glitch or a serious interruption of connectivity) on the Telstra network.

Data
The data consisted of disruptions along with features related to logs, events, resources, severity types across various locations.
The target variable was the severity of the disruption, into 3 classes.

Model
There was a golden insight in the data, and exploiting that became a very interesting challenge.

I ensembled several XGBoosts, on different subsets of the data and features, and some combinations of parameters.

The features used were the one-hot encoded raw features along with some interesting features built using the golden insight.

GitHub
View My GitHub Repository

Results
I stood 10th on the public LB and 9th on the private LB, scoring 0.40735 / 0.40267 using the logloss metric. My username is 'Vopani' and I competed as 'Anonymous Ghost' during the competition.

Views
This contest was all about finding and hacking that golden feature. The feature was nothing complex, it was simply the ordering of the observations that mattered. It was hard to spot because the ordering held true in the feature files (log, event, resource, etc.) and not on the original train/test data.

After identifying the relevance of ordering, it was very interesting to work on feature engineering and build features to improve the model without overfitting.

I'm glad I finished in the Top-10 and it also becomes my first Top-10 finish on Kaggle as an individual. I've moved to 70th in overall Kaggle rankings. I should easily be able to get into Top-50 by the end of the year. Maybe even Top-25.

Check out My Best Kaggle Performances