(57)【特許請求の範囲】
【請求項１】
アイテムに適用する割引クーポン情報を提供する方法であって、
アイテムの数、割引クーポンの数、および前記アイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして、電子装置によって選択する段階と、
前記第１のアルゴリズムを用いて、各割引クーポンと前記各割引クーポンが適用されるアイテムのセットを、前記電子装置によって決定する段階と、
前記各割引クーポンおよび前記各割引クーポンが適用されるアイテムのセットに対する情報に基づいてユーザーに割引クーポンと関連された情報を、前記電子装置によって提供する段階と、を含み、
前記複数個のアルゴリズムは、ヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの少なくとも一つを含み、
前記第１のアルゴリズムを選択する段階は、前記アイテムの数が第１のしきい値を超過する第１の条件、前記割引クーポンの数が第２のしきい値を超過する第２の条件、および前記アイテムと割引クーポンの数の合計が第３のしきい値を超過する第３条件のうちの少なくとも二つの条件を満足するとき、前記第１のアルゴリズムとしてヒューリスティックアルゴリズムを選択する段階を含み、
前記方法はさらに、前記第１のアルゴリズムとして前記最適アルゴリズムが選択された場合、実行時間が第１の時間しきい値を超過すると、前記ヒューリスティックアルゴリズムを用いて前記アイテムに適用する割引クーポンを確認する段階をさらに含む、割引クーポン情報を提供する方法。
【請求項２】
前記割引クーポンと前記割引クーポンが適用されるアイテムのセットのうち、元素の数が最も多いセットを第１セットに、前記電子装置によって決定する段階と、
前記第１セットの元素の数に基づいて、第１のアルゴリズムを、前記電子装置によって再選択する段階と、
前記割引クーポンおよび前記割引クーポンが適用されるアイテムのセットと前記再選択された第１のアルゴリズムを用いて、アップデートされた割引クーポンと前記アップデートされた割引クーポンが適用されるアイテムのセットを、前記電子装置によって決定する段階と、をさらに含み、
前記アイテムと関連された情報は、アップデートされた割引クーポンと前記アップデートされた割引クーポンが適用されるアイテムのセットに基づいて決定される、請求項１に記載の割引クーポン情報を提供する方法。
【請求項３】
前記第１のアルゴリズムとして前記ヒューリスティックアルゴリズムが選択された以降、前記第１のアルゴリズムを再選択する段階は、
前記第１セットの元素の数が第５のしきい値以下であるとき、前記第１のアルゴリズムを最適アルゴリズムとして再選択する段階である、請求項２に記載の割引クーポン情報を提供する方法。
【請求項４】
前記第１のアルゴリズムを選択する段階は、
前記各割引クーポンの情報に基づいて、前記各割引クーポンと前記各割引クーポンを使用できるアイテムをマッチングすることにより、複数の下位組み合わせを、前記電子装置によって算出する段階と、
前記複数の下位組み合わせのうち、元素の数が最も多い下位組み合わせを第１の下位組み合わせに、前記電子装置によって決定する段階と、
前記第１の下位組み合わせの元素の数が第４のしきい値を超過する場合、前記第１のアルゴリズムとして前記ヒューリスティックアルゴリズムを、前記電子装置によって選択する段階と、を含む、請求項１に記載の割引クーポン情報を提供する方法。
【請求項５】
各割引クーポンと前記各割引クーポンが適用されるアイテムのセットは、前記アイテムの情報および割引クーポンの情報のうちの少なくとも一つに基づいて決定されるものであり、
前記アイテムの情報は、前記アイテムの識別情報、前記アイテムに対応するカテゴリーおよび前記アイテムの価格のうちの少なくとも一つを含み、
前記割引クーポンの情報は、割引クーポンの属性情報、前記割引クーポンに対応するユーザーレベルおよび前記割引クーポンに対応する決済手段のうちの少なくとも一つを含むものである、請求項１に記載の割引クーポン情報を提供する方法。
【請求項６】
前記割引クーポンの属性情報は、割引方式、割引率および最大割引金額のうちの少なくとも一つを含み、前記割引方式は定率割引方式および定額割引方式のうちの１つを含むものである、請求項５に記載の割引クーポン情報を提供する方法。
【請求項７】
前記ヒューリスティックアルゴリズムは、
前記割引クーポンの属性情報に基づいて、前記割引クーポンの間の優先順位を決定し、
優先順位が最も高い第１の割引クーポンから、前記第１の割引クーポン使用時の合計割引金額が最大となるアイテムを選択することに基づいて前記各割引クーポンおよび前記各割引クーポンが適用されるアイテムのセットに対する情報に関連された情報を決定するものである、請求項６に記載の割引クーポン情報を提供する方法。
【請求項８】
前記定率割引方式の割引クーポンは、前記定額割引方式の割引クーポンよりも、さらに高い優先順位を有し、
前記定率割引方式の割引クーポンの間には割引率が高い割引クーポンがさらに高い優先順位を有し、
前記定額割引方式の割引クーポンの間には割引金額が高い割引クーポンがさらに高い優先順位を有するものである、請求項７に記載の割引クーポン情報を提供する方法。
【請求項９】
オンラインショップで、一つのショッピングカートには１つの割引クーポンのみ使用可能であり、前記アイテムおよび割引クーポンが第１のショッピングカートに含まれた場合、
前記各割引クーポンおよび前記各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、同一の割引クーポンを使用するように推薦されたアイテムを、前記電子装置によって分類する段階と、
前記分類結果に基づいて、前記第１のショッピングカートを複数のショッピングカートに、前記電子装置によって分割する段階と、をさらに含む、請求項１に記載の割引クーポン情報を提供する方法。
【請求項１０】
前記最適アルゴリズムは、
前記割引クーポンとアイテムの全ての組み合わせを対象にして、合計割引金額が最大となるアイテムおよび割引クーポンの組み合わせを決定するアルゴリズムである、請求項１に記載の割引クーポン情報を提供する方法。
【請求項１１】
前記割引クーポンとアイテムの組み合わせが複数の場合、
前記複数の組み合わせに対して、前記各割引クーポンおよび前記各割引クーポンが適用されるアイテムのセットを決定する演算が並列的に遂行されるものである、請求項１０に記載の割引クーポン情報を提供する方法。
【請求項１２】
前記割引クーポンに関連された情報は、オンラインショップのショッピングカートのページおよび最終決裁ページのうちの少なくとも一つで表示されるものである、請求項１に記載の割引クーポン情報を提供する方法。
【請求項１３】
請求項１に記載の方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的記録媒体。
【請求項１４】
アイテムに適用する割引クーポン情報を提供する電子装置であって、
少なくとも一つの命令語（ｉｎｓｔｒｕｃｔｉｏｎ）を格納するメモリ（ｍｅｍｏｒｙ）と、
前記少なくとも一つの命令語を実行して、
アイテムの数、割引クーポンの数、および前記アイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして選択し、
前記第１のアルゴリズムを用いて、各割引クーポンと前記各割引クーポンが適用されるアイテムのセットを決定し、
前記各割引クーポンおよび前記各割引クーポンが適用されるアイテムのセットに対する情報に基づいてユーザーに割引クーポンと関連された情報を提供するプロセッサ（ｐｒｏｃｅｓｓｏｒ）とを含み、
前記複数個のアルゴリズムは、ヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの少なくとも一つを含み、
前記第１のアルゴリズムを選択することは、前記アイテムの数が第１のしきい値を超過する第１の条件、前記割引クーポンの数が第２のしきい値を超過する第２の条件、および前記アイテムと割引クーポンの数の合計が第３のしきい値を超過する第３条件のうちの少なくとも二つの条件を満足するとき、前記第１のアルゴリズムとしてヒューリスティックアルゴリズムを選択することを含み、
前記プロセッサはさらに、前記第１のアルゴリズムとして前記最適アルゴリズムが選択された場合、実行時間が第１の時間しきい値を超過すると、前記ヒューリスティックアルゴリズムを用いて前記アイテムに適用する割引クーポンを確認するように構成される、割引クーポン情報を提供する電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、オンラインショップでユーザーが各アイテムの購入時、アイテムに対して適用されることができる割引クーポンに関する情報を提供する電子装置及びその動作方法に関する。
【背景技術】
【０００２】
ユーザーは、オンラインショップで割引クーポンをダウンロードすることができ、割引クーポンを用いて、割引された金額でアイテムを購入することができる。ところが、割引クーポンは、割引方式に応じて、一定の金額が割引される定額割引クーポン、一定の割引率に応じて割引される定率割引クーポンなどで分類されることができ、同一の割引クーポンを使用しても適用するアイテムとの組み合わせによって、最終割引金額が異なることがある。
【０００３】
これにより、ユーザーが直接各アイテムに対して適用する割引クーポンを決定する場合、ユーザーの利便性を低下させることができ、オンラインショップで提供する割引サービスを適切に活用できない恐れがある。したがって、オンラインショップのユーザーに各アイテムに適用されることができる割引クーポンに関する情報を提供するサービスの必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
開示された実施形態は、電子装置及びその動作方法を開示する。本実施形態が解決しようとする技術的課題は、前述のような技術的課題に限定されず、以下の実施形態からまた他の技術的課題が類推されることができる。
【課題を解決するための手段】
【０００５】
第１の実施形態により、アイテムに適用する割引クーポン情報を提供する方法において、アイテムの数、割引クーポンの数、及び上記アイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして選択する段階と、上記第１のアルゴリズムを用いて、各割引クーポンと上記各割引クーポンが適用されるアイテムのセットを決定する段階と、上記各割引クーポンおよび上記各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、ユーザーに割引クーポンと関連された情報を提供する段階と、を含むことができる。
【０００６】
第２の実施形態により、アイテムに適用する割引クーポン情報を提供する電子装置は、少なくとも一つの命令語を格納するメモリと、上記少なくとも一つの命令語を実行して、アイテムの数、割引クーポンの数、および上記アイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして選択し、上記第１のアルゴリズムを用いて、各割引クーポンと上記各割引クーポンが適用されるアイテムのセットを決定し、上記各割引クーポンおよび上記各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、ユーザーに割引クーポンに関連された情報を提供するプロセッサを含むことができる。
【０００７】
第３の実施形態により、コンピュータで読み取り可能な記録媒体は、上述した方法をコンピュータで実行させるためのプログラムを記録した非一時的記録媒体を含む。
【０００８】
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【０００９】
本開示による電子装置は、オンラインショップで複数の購入アイテムおよび割引クーポンを保有したユーザーに効率的に割引クーポンを使うことができる割引クーポンに関する情報を提供することにより、ユーザーの利便性を向上させることができる効果がある。
【００１０】
また、本開示による電子装置は、アイテムに対して適用されることができる割引クーポンに関する情報を提供するために最適アルゴリズムのみを用いる場合と比較して、より早い時間内に効率的に割引クーポンと割引クーポンが適用されるアイテムのセットを決定し、ユーザーに割引クーポンに対する情報を提供するところ、アイテムを購入しようとするユーザーの利便性を向上させる効果がある。
【００１１】
また、本開示による電子装置は、同一のアイテムを同一の割引クーポンで購入しようとするユーザーに一貫性のある推薦結果を提供する効果がある。
【００１２】
発明の効果は以上で言及した効果に制限されず、言及されていないさらに他の効果は、請求の範囲の記載から当該技術分野の通常の技術者に明確に理解されることができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態によるオンラインショップのシステムを示す図である。
【図２】オンラインショップでアイテムの購入時に提供されるショッピングカートのページを説明するための図である。
【図３】割引クーポンに関する情報を提供するために、従来のビンパッキングアルゴリズムを用いる場合を説明するための図である。
【図４】割引クーポンの属性情報を説明するための図である。
【図５】電子装置がアイテムに適用する割引クーポン情報を提供する方法の一実施形態を説明するための図である。
【図６】電子装置がアイテムに適用する割引クーポン情報を提供する方法の他の一実施形態を説明するための図である。
【図７】一実施形態によるヒューリスティックアルゴリズムの遂行手続を説明するための図である。
【図８】一実施形態による最適アルゴリズムの遂行手続を説明するための図である。
【図９】一つのショッピングカートに含まれた複数のアイテムおよび割引クーポンを複数のショッピングカートに分割する一実施形態を説明するための図である。
【図１０】一実施形態によるアイテムに適用する割引クーポン情報を提供する方法の性能を説明するための図である。
【図１１】一実施形態による電子装置のブロック図である。
【発明を実施するための形態】
【００１４】
実施形態において使用される用語は、本開示での機能を考慮しながら可能な現在広く使用される一般的な用語を選択したが、これは当分野に従事する技術者の意図または判例、新しい技術の出現などによって異なる場合がある。また、特定の場合には、出願人が任意に選定した用語もあり、この場合、該当する説明部分で詳細にその意味を記載する。したがって、本開示で使用される用語は、単純な用語の名称ではなく、その用語が持つ意味と本開示の全般にわたる内容に基づいて定義されるべきである。
【００１５】
明細書全体において或る部分が何らかの構成要素を「含む」というとき、これは、特に反対になる記載のない限り、他の構成要素を除くことではなく、他の構成要素をさらに含むことを意味する。また、明細書に記載された「．．．部」、「．．．モジュール」などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアで具現されたり、ハードウェアとソフトウェアの組み合わせで具現されることができる。
【００１６】
明細書全体で記載された「ａ、ｂ、およびｃのうちの少なくとも一つ」の表現は、「ａ単独」、「ｂ単独」、「ｃ単独」、「ａとｂ」、「ａとｃ」、「ｂとｃ」、または「ａ、ｂ、ｃの全て」を包括することができる。
【００１７】
明細書全体で記載された「割引クーポンと割引クーポンが適用されるアイテムのセット」および「割引クーポンとアイテムの組み合わせ」は、割引クーポンおよび該当割引クーポンを適用することができる対象アイテムを含む集合を意味するものであり、互いに同一の意味を持つことができる。
【００１８】
以下で言及される「端末」は、ネットワークを通じてサーバや他の端末に接続できるコンピュータや携帯用端末で具現されることができる。ここで、コンピュータは、例えば、Ｗｅｂブラウザ（ＷＥＢ  Ｂｒｏｗｓｅｒ）を搭載したノートパソコン、デスクトップ（ｄｅｓｋｔｏｐ）、ラップトップ（ｌａｐｔｏｐ）などを含み、携帯端末は、例えば、携帯性と移動性が保障される無線通信装置であり、ＩＭＴ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、Ｗ−ＣＤＭＡ（Ｗ−Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）などの通信基盤端末、スマートフォン、タブレットＰＣなどのような全ての種類のハンドヘルド（Ｈａｎｄｈｅｌｄ）基盤の無線通信装置を含むことができる。
【００１９】
以下では、添付した図面を参照して、本開示の実施形態について本開示が属する技術分野において通常の知識を持った者が容易に実施することができるように詳細に説明する。しかし、本開示は、いくつかの異なる形態で具現されることができ、ここで説明する実施形態に限定されない。
【００２０】
以下では、図面を参照して、本開示の実施形態を詳細に説明する。
【００２１】
図１は、一実施形態によるオンラインショップのシステムを示す。
【００２２】
図１を参照すると、オンラインショップのシステム１は、電子装置１００および端末２００を含むことができる。図１に示されたシステム１は、本実施形態と関連された構成要素のみが示されている。したがって、図１に示された構成要素の他に、他の汎用的な構成要素がさらに含まれることができることを、本実施形態と関連された技術分野で通常の知識を持った者であれば理解することができる。
【００２３】
電子装置１００および端末２００は、ネットワーク内で互いに通信することができる。ネットワークは、近距離通信網（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；ＬＡＮ）、広域通信網（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；ＷＡＮ）、付加価値通信網（Ｖａｌｕｅ  Ａｄｄｅｄ  Ｎｅｔｗｏｒｋ；ＶＡＮ）、移動通信網（ｍｏｂｉｌｅ  ｒａｄｉｏ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｎｅｔｗｏｒｋ）、衛星通信網およびこれらの相互の組み合わせを含み、各ネットワーク構成主体が互いに円滑に通信を行うことができようにする包括的な意味のデータ通信網であり、有線インターネット、無線インターネット、およびモバイル無線通信網を含むことができる。無線通信は、例えば、無線ＬＡＮ（Ｗｉ−Ｆｉ）、ブルートゥース（登録商標）、ブルートゥース低エネルギー（Ｂｌｕｅｔｏｏｔｈ  ｌｏｗ  ｅｎｅｒｇｙ）、ＺｉｇＢｅｅ（登録商標）、ＷＦＤ（Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ）、ＵＷＢ（ｕｌｔｒａ  ｗｉｄｅｂａｎｄ）、赤外線通信（ＩｒＤＡ、ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などがあり得るが、これに限定されるものではない。
【００２４】
電子装置１００は、オンラインショップのシステムを運用することができる。具体的には、ユーザーが端末２００を通じてオンラインショップに接続すると、電子装置１００は、オンラインショップで購入可能なアイテムを表示することができ、ユーザーにより選択されたアイテムの購入を進めることができる。また、電子装置１００は、ユーザーに割引クーポンを提供することができる。これにより、ユーザーは、割引クーポンをダウンロードしてアイテムの購入時に割引クーポンを使用できる。
【００２５】
電子装置１００は、端末２００のユーザーがオンラインショップでアイテムを購入しようとするとき、使用可能な割引クーポンの中から特定の割引クーポンに関する情報を提供することができる。また、特定の割引クーポンの使用を推薦することができる。例えば、ユーザーが購入しようとするアイテムとダウンロードされた割引クーポンが複数であるとき、最大の割引特典を受けるためのアイテムと割引クーポンの組み合わせに関する情報をユーザーに提供することができる。
【００２６】
特定の割引クーポンに関する情報を提供するために、電子装置１００が使用できるアルゴリズムは、ヒューリスティック（ｈｅｕｒｉｓｔｉｃ）アルゴリズムおよび最適（ｏｐｔｉｍａｌ）アルゴリズムのうちの少なくとも一つであり得る。一実施形態による電子装置１００は、アイテムの数、割引クーポンの数、およびアイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて選択されたヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの1つのアルゴリズムを選択し、選択されたアルゴリズムを用いて、割引クーポンと各割引クーポンが適用されるアイテムのセットを決定し、ユーザーに割引クーポンと関連された情報を提供することができる。この時、ユーザーに提供される割引クーポンと関連された情報は、最終価格情報、アイテムとクーポンのマッチング情報などが含まれ得るが、これに制限されない。
【００２７】
最適アルゴリズムの場合、アイテムと該当アイテムの購入時に使用できる割引クーポンの全ての組み合わせの中で、割引率が最大となるアイテムおよび割引クーポンの組み合わせを決定することができる。最適アルゴリズムによって決定された割引クーポンおよび割引クーポンが適用されるアイテムのセットに対する情報によってアイテムを購入すると最大の割引金額を提供されることができるが、最適アルゴリズムの演算複雑度が大きいため、結果を算出するのに長い遅延が発生することがある。
【００２８】
一方、ヒューリスティックアルゴリズムの場合、貪欲的アプローチ（ｇｒｅｅｄｙ  ａｐｐｒｏａｃｈ）に基づいて、割引クーポンおよび割引クーポンが適用されるアイテムのセットを決定するため、常に最大割引金額を提供されることができる結果を算出すると見ることは難しい。しかし、最適アルゴリズムと比較して演算の複雑度が低いため、最適アルゴリズム対比、短い遅延時間内に割引クーポンに関する情報を提供することができる。
【００２９】
電子装置１００は、オンラインショップのためのプラットフォームを提供することができる。具体的には、電子装置１００は、オンラインショップを用いるためのアプリケーションを端末２００に提供することができ、電子装置１００は、アプリケーションを実行して、アイテムを購入することができる。例えば、電子装置１００は、オンラインショップを運用するサーバーに含まれることができる。
【００３０】
図２は、オンラインショップでアイテムの購入時に提供されるショッピングカートのページを説明するための図である。
【００３１】
一実施形態によるオンラインショップはショッピングカート機能を提供することができ、ユーザーは購入しようとするアイテムをショッピングカートに追加することができる。また、ユーザーは、オンラインショップで使用可能な割引クーポンをダウンロードすることができるが、ダウンロードされた割引クーポンは、ショッピングカートのページを通じて確認することができる。
【００３２】
一方、割引クーポンは決められた金額だけ割引を受けることができる定額割引クーポンと一定の割引率に応じて割引を受けることができる定率割引クーポンを含むことができる。また、新規会員のみが使用可能な割引クーポン、特定のカテゴリー内のアイテムの購入時に使用できる割引クーポンなど、属性に応じて使用可能なアイテムおよび割引金額が互いに異なることがある。
【００３３】
図２を参照すると、ユーザーはショッピングカートのページに表示された割引クーポン２１０のうちの一部を選択して、割引された金額でアイテムを購入することができる。しかし、複数の割引クーポンを保有している場合に、ユーザーが直接割引クーポンを選択するのは、割引率およびユーザーの利便性を低下させ得る。
【００３４】
一方、電子装置１００により提供される割引クーポンに関する情報は、図２に開示されたショッピングカートのページで表示されることができ、最終決裁のページで表示されることができるが、割引クーポンに関する情報を示すページは、これに制限されない。また、上述した「ショッピングカート」は、ユーザーによって選択されたアイテムの集合および使用可能な割引クーポンの集合を含むオブジェクトとして理解されることができる。
【００３５】
図３は、割引クーポンに関する情報を提供するために、従来のビンパッキングアルゴリズムを使用する場合を説明するための図である。
【００３６】
一方、各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定するために、従来のビンパッキング（ｂｉｎ  ｐａｃｋｉｎｇ）アルゴリズムを活用すると問題が発生することがある。ここで、ビンパッキングアルゴリズムは、容量がＣである複数の使用可能なビン（ｂｉｎ）が存在すると仮定した場合、お互い異なる重さを有するｎ個のアイテムを入れることができる最小ビンの数を算出するアルゴリズムを意味する。
【００３７】
図３の（ａ）および（ｂ）を参照すると、各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定するためのアルゴリズムとしてビンパッキングアルゴリズムを活用する場合、ウェイト（ｗｅｉｇｈｔ）の個数は、オンラインショップでユーザーが購入しようとするアイテムと対応することができ、各ウェイトの値は、各アイテムが割引されることができる金額と対応することができる。また、複数の使用可能なビンは割引クーポンと対応することができ、各ビンの容量は、各割引クーポンを使用して、最大で割引されることができる金額と対応することができる。
【００３８】
図３の（ｃ）は、ビンパッキングアルゴリズムで各割引クーポンと上記各割引クーポンが適用されるアイテムのセットを決定する方法を説明するための図である。
【００３９】
図３の（ｃ）の例示１を参照すると、ユーザーが購入しようとする６個のアイテムに対して、それぞれ割引を受けることができる金額が｛４、８、１、４、２、１｝であり、割引クーポンで割引されることができる最大金額は、各割引クーポン当たり１０とするとき、ビンパッキングアルゴリズムを用いると、合計２個の割引クーポンを使用することとして決定されることができる。具体的には、一つの割引クーポンを通じて割引されることができる金額がそれぞれ｛４、４、１、１｝である４個のアイテムを割引されて、他の割引クーポンを通じて割引を受けることができる金額がそれぞれ｛８、２｝である２個のアイテムを割引を受けることとして決定されることができる。
【００４０】
図３の（ｃ）の例示２を参照すると、ユーザーが購入しようとする６個のアイテムに対して、それぞれ割引を受けることができる金額が｛９、８、２、２、５、４｝であり、割引クーポンで割引されることができる最大金額は、各割引クーポン当たり１０とするとき、ビンパッキングアルゴリズムを用いると、合計４個の割引クーポンを使用することとして決定されることができる。具体的には、４個の割引クーポンを用いて割引されるアイテムの組み合わせは、それぞれ、｛９｝、｛８、２｝、｛２、５｝｛４｝であり得る。
【００４１】
図３の（ｃ）の例示３を参照すると、ユーザーが購入しようとする７個のアイテムに対して、それぞれ割引を受けることができる金額が｛２、５、４、７、１、３、８｝であり、割引クーポンで割引を受けることができる最大金額は、各割引クーポン当たり１０とするとき、ビンパッキングアルゴリズムを用いると、合計３個の割引クーポンを使用することとして決定されることができる。具体的には、３個の割引クーポンを用いて割引されるアイテムの組み合わせは、それぞれ｛５、４、１｝、｛７、３｝｛２、８｝であり得る。
【００４２】
図３の（ｃ）のように、ビンパッキングアルゴリズムは、効率的に各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定することができるが、これは割引クーポンが全て定率割引クーポンである場合を前提とする。換言すると、使用できる割引クーポンに定額割引クーポンが含まれると、ビンパッキングアルゴリズムを通じて最適のアイテムおよび割引クーポンの組み合わせを決定することは難しい。
【００４３】
実際に定率割引クーポンと定額割引クーポンを全て用いることができる場合、アイテムおよび割引クーポンの最適の組み合わせを決定する方法については、図４を用いて説明することとする。
【００４４】
図４は、割引クーポンの属性情報を説明するための図である。
【００４５】
オンラインショップで使用可能な割引クーポンは、定額割引クーポンであることがあり、定率割引クーポンであり得る。ここで、定額割引クーポンは、一定の条件を満足すればクーポンを使用するアイテムの価格および数量と無関係に一定の金額の割引を受けることができるクーポンを意味し、定率割引クーポンは、一定の割引率に応じた割引特典を受けることができるクーポンを意味する。オンラインショップが定額割引クーポンを提供したり、属性が互いに異なる割引クーポンを提供する場合、上述したビンパッキングアルゴリズムを用いて、最適のアイテムおよび割引クーポンの組み合わせを決定することは困難である場合がある。
【００４６】
例えば、割引クーポンの属性情報は、割引方式、割引率または最大割引金額を含むことができる。もし、２種類の割引クーポンＤ１、Ｄ２の属性情報が図４の（ａ）と同じで、価格がそれぞれ１００００ウォンの３個のアイテムＩ１ないしＩ３がショッピングカートに含まれている場合、アイテムおよび割引クーポンの最適の組み合わせは、図４の（ｂ）と同じであり得る。言い換えると、第１のアイテムＩ１は、第１の割引クーポンＤ１を適用して購入して、第２のアイテムおよび第３のアイテムＩ２、Ｉ３は、第２の割引クーポンＤ２を適用して購入する場合、ユーザーは、最大割引金額３２００ウォンを提供されることができる。
【００４７】
しかし、ビンパッキングアルゴリズムを用いてアイテムおよび割引クーポンの組み合わせを決定すると、決定結果は図４の（ｃ）と同じようになる。具体的には、第２の割引クーポンＤ２の最大割引金額が５０００ウォンなので、ビンパッキングアルゴリズムを用いると、全てのアイテムＩ１ないしＩ３に第２の割引クーポンＤ２を適用しなければならないと決定されることができる。しかし、これは図４の（ｂ）の割引金額３２００ウォンより少ない金額であり、最適の組み合わせと見ることができない。
【００４８】
上述したように、定額割引クーポンが含まれると、従来のビンパッキングアルゴリズムを用いて、最適のアイテムおよび割引クーポンの組み合わせを決定することが難しい場合がある。したがって、割引クーポンの属性情報に基づいて可能な限り多くの割引を受けることができるアイテムおよび割引クーポンの組み合わせを決定することが必要である。
【００４９】
一方、図４の（ａ）に開示された割引クーポンの属性情報の他にも、割引クーポンの情報は、割引クーポンを使用できるユーザーのレベル、割引クーポンを使用できる決済手段などを共に考慮してアイテムおよび割引クーポンの組み合わせを算出することができることは、該当技術分野の通常の技術者に自明である。
【００５０】
図５は、電子装置がアイテムに適用する割引クーポン情報を提供する方法の一実施形態を説明するための図である。
【００５１】
段階Ｓ５１０において、電子装置１００は、アイテムの数、割引クーポンの数、およびアイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして選択することができる。ここで、複数個のアルゴリズムは、ヒューリスティック（ｈｅｕｒｉｓｔｉｃ）アルゴリズムおよび最適（ｏｐｔｉｍａｌ）アルゴリズムのうちの少なくとも一つを含むことができる。例えば、段階Ｓ５１０において、電子装置１００は、アイテムの数に関する第１の条件、割引クーポンの数に関する第２の条件、および割引クーポンとアイテムの数の合計に関する第３の条件のうちの少なくとも２個の条件が満足されるか否かに応じて、ヒューリスティックアルゴリズムと最適アルゴリズムのうちの一つを第１のアルゴリズムとして選択することができる。
【００５２】
一方、第１の条件は、ショッピングカートに含まれたアイテムの数が第１のしきい値を超過するか否かであり、第２の条件は、ショッピングカートに含まれた割引クーポンの数が第２のしきい値を超過したか否かであり得る。また、第３の条件は、ショッピングカートに含まれたアイテムと割引クーポンの数の合計が第３のしきい値を超過するか否かであることがあり、３つの条件のうちの少なくとも２つの条件を満足する場合、第１のアルゴリズムとしてヒューリスティックアルゴリズムが選択されることができる。
【００５３】
一方、一実施形態による電子装置１００は、第１のしきい値を７に設定し、第２のしきい値を３に設定し、第３のしきい値を１０に設定することができるが、これは例示のみであり、多様な数字が適用され得ることは当該技術分野の通常の技術者に自明である。また、第１のしきい値と第２のしきい値との合計が必ず第３のしきい値と同一である必要はなく、第１のしきい値と第２のしきい値との合計は、第３のしきい値より小さい値であることもあり、大きい値であることもできる。
【００５４】
ここで、ヒューリスティックアルゴリズムは、割引クーポンの属性情報に基づいて割引クーポンの間の優先順位を決定し、優先順位が最も高い第１の割引クーポンから、第１の割引クーポン使用時の合計割引金額が最大となるアイテムを選択することに基づいて、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報と関連付けられた情報を決定するアルゴリズムであり得る。この時、割引クーポンの属性情報は割引方式、割引率および最大割引金額のうち、少なくとも一つを含み、割引方式は定率割引方式および定額割引方式のうちの１つを含むことができる。
【００５５】
また、定率割引方式の割引クーポンは、定額割引方式の割引クーポンよりも、さらに高い優先順位を有し、定率割引方式の割引クーポンの間には割引率が高い割引クーポンがさらに高い優先順位を有し、定額割引方式の割引クーポンの間には割引金額が高い割引クーポンがさらに高い優先順位を有することができる。
【００５６】
一方、最適アルゴリズムは、割引クーポンとアイテムの全ての組み合わせを対象にして、合計割引金額が最大となるアイテムと割引クーポンの組み合わせを決定するアルゴリズムであり得る。また、最適アルゴリズムは、割引クーポンとアイテムの組み合わせが複数である場合、複数の組合せに対して、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットを決定する演算が並列的に遂行されるものであり得る。
【００５７】
もし、第１のアルゴリズムとして最適アルゴリズムが選択された場合、本開示の方法は、実行時間が第１の時間しきい値を超過すると、ヒューリスティックアルゴリズムを用いて、アイテムに適用する割引クーポンを確認する段階をさらに含むことができる。
【００５８】
段階Ｓ５２０で、電子装置１００は、第１のアルゴリズムを用いて、各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定することができる。ここで、各割引クーポンと各割引クーポンが適用されるアイテムのセットは、アイテムの情報および割引クーポンの情報のうちの少なくとも一つに基づいて算出されるものであり得る。また、アイテムの情報は、アイテムのＩＤ、アイテムが属したカテゴリーおよびアイテムの価格のうちの少なくとも一つを含み、割引クーポンの情報は、割引クーポンの属性情報、使用可能なユーザーレベルおよび使用可能な決済手段のうちの少なくとも一つを含むことができる。
【００５９】
段階Ｓ５３０で、電子装置１００は、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報に基づいてユーザーに割引クーポンと関連された情報を提供することができる。
【００６０】
一実施形態による本開示の方法は、割引クーポンと割引クーポンが適用されるアイテムのセットのうち、元素の数が最も多いセットを第１セットに決定する段階と、第１セットの元素の数に基づいて、第１のアルゴリズムを再選択する段階と、割引クーポンおよび割引クーポンが適用されるアイテムのセットと再選択された第１のアルゴリズムを用いてアップデートされた割引クーポンとアップデートされた割引クーポンが適用されるアイテムのセットを決定する段階と、をさらに含むことができる。このような場合、アイテムと関連された情報は、アップデートされた割引クーポンとアップデートされた割引クーポンが適用されるアイテムのセットに基づいて決定されたものであり得る。
【００６１】
もし、複数個のアルゴリズムがヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの少なくとも一つを含み、第１のアルゴリズムとしてヒューリスティックアルゴリズムが選択された以降であれば、第１のアルゴリズムを再選択する段階は、第１セットの元素の数が第５のしきい値以下であるとき、第１のアルゴリズムを最適アルゴリズムとして再選択する段階であり得る。一方、一実施形態による電子装置１００の第５のしきい値は、第３のしきい値と同一であり得る。換言すると、電子装置１００は、アイテムおよび割引クーポンの数の合計に関する第３のしきい値を第１セットの元素の数と比較することができる。これは、実際のアイテムおよび割引クーポンの数の合計が第３のしきい値を超過するほど大きいが、実際にヒューリスティックアルゴリズムを通じて決定された各割引クーポンおよび割引クーポンに適用されるアイテムセットの元素の数が制限的な場合には、最適アルゴリズムを用いても遅延時間が大きく増えないことがあるという点に基づくものである。したがって、このような場合、電子装置１００は、最適アルゴリズムを用いて、各割引クーポンおよび割引クーポンに適用されるアイテムのセットを決定することができる。
【００６２】
また、オンラインショップで一つのショッピングカートに対して１つの割引クーポンのみ使用可能であり、アイテムおよび割引クーポンが第１のショッピングカートに含まれた場合、本開示の方法は、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、同一の割引クーポンを使用するように推薦されたアイテムを分類する段階および分類結果に基づいて、第１のショッピングカートを複数のショッピングカートに分割する段階をさらに含むことができる。これにより、電子装置１００は、一つのショッピングカートに複数のアイテムおよび割引クーポンが含まれた場合にも、最大割引特典を提供することができるアイテムおよび割引クーポンの組み合わせおよび割引クーポンに関する情報をユーザーに提供することができる。
【００６３】
一実施形態による電子装置１００は、割引クーポンと関連された情報は、オンラインショップのショッピングカートのページおよび最終決済ページのうちの少なくとも一つで表示されるものであり得る。
【００６４】
一方、一実施形態による電子装置１００は、各割引クーポンと各割引クーポンが適用されるアイテムのセットおよび割引クーポンに関する情報を格納することができる。そして、後日に同一の割引クーポンおよび該当割引クーポンが適用されるアイテムのセットに関連する情報を提供する必要がある場合、電子装置１００は、既に格納されていた情報を提供することができる。このような場合、電子装置１００は、割引クーポンと割引クーポンが適用されるアイテムのセットを決定するのにかかる遅延時間を減少させることができる。
【００６５】
また、一実施形態による電子装置１００は、割引クーポンと割引クーポンが適用されるアイテムのセットを決定するとき、プルーニングアプローチ（ｐｒｕｎｉｎｇ  ａｐｐｒｏａｃｈ）を用いることができる。例えば、一実施形態において複数の割引クーポンのうちの１つのクーポンは、該当クーポンを用いても全体の割引金額に影響を与えない可能性がある。このような場合、電子装置１００は、該当割引クーポンを含む割引クーポンおよびアイテムの組み合わせに対する演算を中止することができる。
【００６６】
図６は、電子装置がアイテムに適用する割引クーポン情報を提供する方法の他の一実施形態を説明するための図である。
【００６７】
一実施形態による電子装置１００は、各割引クーポンと各割引クーポンを使用できるアイテムをマッチングさせた下位組み合わせに基づいて、第１のアルゴリズムを選択することができる。このような場合、アイテムおよび割引クーポンの合計数に基づいて、第１のアルゴリズムを選択する場合に比べて、最適アルゴリズムが選択される確率が高くなり得る。したがって、ユーザーにアイテムと割引クーポンの最適の組み合わせに関する情報を提供する場合が多くなることができる。
【００６８】
段階Ｓ６１０で、電子装置１００は、各割引クーポンの情報に基づいて、各割引クーポンと各割引クーポンが適用されることができるアイテムをマッチングすることにより、複数の下位組み合わせを算出することができる。この時、電子装置１００は、複数の下位組み合わせのうち、元素の数が最も多い下位組み合わせを第１の下位組み合わせで決定することができる。
【００６９】
段階Ｓ６２０で、電子装置１００は、第１の下位組み合わせの元素の数が第４のしきい値を超過するか否かを判断することができる。もし、第１の下位組み合わせの元素の数が第４のしきい値を超過すると段階Ｓ６３０が遂行され、そうでない場合は、Ｓ６５０が遂行されることができる。一方、第４のしきい値は、第３のしきい値と同一値であり得るが、両方のしきい値は、これに制限されない。
【００７０】
段階Ｓ６３０で、電子装置１００は、ヒューリスティックアルゴリズムを用いて、各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定することができる。一方、ヒューリスティックアルゴリズムの遂行手続については、図７を用いて説明することとする。
【００７１】
段階Ｓ６５０で、電子装置１００は、最適アルゴリズムを用いて、最大の割引特典を提供することができる割引クーポンと割引クーポンが適用されるアイテムのセットを決定することができる。一方、最適アルゴリズムの遂行手続については、図８を用いて説明することとする。
【００７２】
図６に示されていなかったが、段階Ｓ６５０の実行時間が第１の時間しきい値を超過する場合、電子装置１００は、ヒューリスティックアルゴリズムを用いて、アイテムに適用する割引クーポンを確認することができる。換言すると、電子装置１００は、最適アルゴリズムの遂行期間が所定の時間を超えると、最適アルゴリズムの代わりにヒューリスティックアルゴリズムを用いて、アイテムに適用する割引クーポンを確認することで、最適アルゴリズムのみを用いる方法と比較して遅延時間を短くすることができる。一実施形態による電子装置１００は、第１の時間しきい値を２秒に設定することができるが、これは例示のみであり、第１の時間しきい値として様々な時間が適用され得ることは、当該技術分野の通常の技術者に自明である。
【００７３】
段階Ｓ６４０で、電子装置１００は、段階Ｓ６３０の割引クーポンと割引クーポンが適用されるアイテムのセットのうち、元素の数が最も多いセットを第１セットに決定し、第１セットの元素の数が第５しきい値を超えるか判断することができる。もし、第５のしきい値を超えると、電子装置１００は段階Ｓ６６０を遂行することができ、そうでない場合は、段階Ｓ６５０を遂行することができる。一方、一実施形態による第５のしきい値は、上述した第３のしきい値と同一値であることがあるが、両方のしきい値は、これに制限されない。
【００７４】
上述された段階を遂行する場合、電子装置１００は、第１のアルゴリズムとしてヒューリスティックアルゴリズムが選択されたとしても、ヒューリスティックアルゴリズムで決定された割引クーポンおよび割引クーポンが適用されるアイテムのセットが少ない元素の数を有する場合には、再び最適アルゴリズムを用いて、割引クーポンとアイテムの組み合わせを決定することができる。したがって、本開示による電子装置１００は、同一のアイテムに同一の割引クーポンを適用する多数のユーザーに同一の推薦結果を提供することができる効果がある。
【００７５】
段階Ｓ６６０で、電子装置１００は、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、ユーザーに割引クーポンと関連された情報を提供することができる。
【００７６】
図７は、一実施形態によるヒューリスティックアルゴリズムの遂行手続を説明するための図である。
【００７７】
段階Ｓ７１０で、電子装置１００は、割引クーポンの属性情報に基づいて、割引クーポンの優先順位を決定することができる。ここで、割引クーポンの属性情報は、割引方式、割引率および最大割引金額のうち、少なくとも一つを含み、割引方式は定率割引方式及び定額割引方式のうちの１つを含むことができる。
【００７８】
例えば、定率割引方式の割引クーポンは、定額割引方式の割引クーポンよりも、さらに高い優先順位を有し、定率割引方式の割引クーポンの間には割引率が高い割引クーポンがさらに高い優先順位を有し、定額割引方式の割引クーポンの間には割引金額が高い割引クーポンがさらに高い優先順位を有することができるが、割引クーポンの間の優先順位の決定基準は、これに制限されない。
【００７９】
段階Ｓ７２０で、電子装置１００は、優先順位が最も高い第１の割引クーポンから、第１の割引クーポン使用時の合計割引金額が最大となるアイテムを選択することに基づいて、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報に関連された情報を決定することができる。ここで、各割引クーポンが適用されるアイテムセットに対する情報に関連された情報は、最終価格情報、アイテムとクーポンのマッチング情報などを含むことができるが、これに制限されない。
【００８０】
上述したヒューリスティックアルゴリズムを用いて図４に開示された割引クーポンＤ１、Ｄ２とアイテムＩ１ないしＩ３が含まれた組み合わせを算出することができる。割引クーポンの属性情報が図４の（ａ）のような場合、定率割引方式である第２の割引クーポンＤ２の優先順位は、定額割引方式である第１の割引クーポンＤ１の優先順位よりも高くなり得る。したがって、電子装置１００は、第２の割引クーポンＤ２を適用するアイテムから選択することができる。
【００８１】
一方、３つのアイテムＩ１ないしＩ３の全て第２の割引クーポンＤ２を使用できるが、第１の割引クーポンＤ１をさらに使用するために、電子装置１００は、第２の割引クーポンＤ２を使用するアイテムとして第２アイテムＩ２および第３のアイテムＩ３を決定し、これらの組み合わせ｛Ｄ２、Ｉ２、Ｉ３｝を算出することができる。また、第１の割引クーポンＤ１と第１の割引クーポンＤ１を使用するアイテムＩ１の組み合わせ｛Ｄ1、Ｉ１｝を算出することができる。したがって、ヒューリスティックアルゴリズムを使用する場合でも、図４の（ｂ）と同一の割引クーポンとアイテムの組み合わせを算出することができる。
【００８２】
一方、一実施形態によるヒューリスティックアルゴリズムは、ショッピングカートに含まれたアイテム全て優先順位が最も高い割引クーポンを使用できるアイテムであるとしても、下位優先順位の割引クーポンを使用する場合、割引を受けることができる金額がさらに増加することができる。したがって、一実施形態によるヒューリスティックアルゴリズムは、優先順位が高い割引クーポンを使用できるアイテムの数よりもさらに少ない数のアイテムに対して、該当割引クーポンを使用することとして決定することができる。
【００８３】
図８は、一実施形態による最適アルゴリズムの遂行手続を説明するための図である。
【００８４】
段階Ｓ８１０で、電子装置１００は、割引クーポンとアイテムの全ての組み合わせを決定することができる。例えば、第１の割引クーポンＤ１を適用することができるアイテムは、第１のアイテムないし第３のアイテム(Ｉ１ないしＩ３)であり、第２の割引クーポンＤ２を適用することができるアイテムは、第３アイテムないし第５のアイテム(Ｉ３ないしＩ５)であるとき、段階Ｓ８１０を通じて生成される割引クーポンとアイテムの全ての組み合わせは、第１の割引クーポンＤ１に対する第１アイテムないし第３のアイテム(Ｉ１ないしＩ３)の全ての組み合わせ（すなわち、８つの組み合わせ）および第２の割引クーポンＤ２に対する第３のアイテムないし第５のアイテム(Ｉ３ないしＩ５)の全ての組み合わせ（すなわち、８つの組み合わせ）であり得る。
【００８５】
段階Ｓ８２０で、電子装置１００は、割引クーポンとアイテムの全ての組み合わせを対象として、合計割引金額が最大となるアイテムと割引クーポンの組み合わせを決定することができる。
【００８６】
上述したように、最適アルゴリズムを用いて、割引クーポンとアイテムの組み合わせを算出する場合、最大割引金額を提供することができる組み合わせの算出が可能である。しかし、ｎ個のアイテムおよびｍ個の割引クーポンに対して、最適アルゴリズムを遂行する場合、演算の複雑度は、ｍ×２ｎで、アイテムの数が増加するほど演算の複雑度が大幅に増加することがある。演算の複雑度が大幅に増加すると、決定結果をユーザーに提供する遅延時間も長くなるため、所定の時間のしきい値を超過して、最適アルゴリズムが遂行される場合には、最適アルゴリズムの代わりにヒューリスティックアルゴリズムを用いて、割引クーポンとアイテムの組み合わせを決定し、関連情報をユーザーに提供することができる。
【００８７】
図９は、一つのショッピングカートに含まれた複数のアイテムを複数のショッピングカートに分割する一実施形態を説明するための図である。
【００８８】
一実施形態によるオンラインショップの場合は、一つのショッピングカートに含まれたアイテムに適用することができる割引クーポンの数が固定されていることができる。例えば、一つのショッピングカートに１０個のアイテムと３つの割引クーポンが格納されているとしても、１回の決済時に使用できる割引クーポンの数が１つに制限されている可能性がある。
【００８９】
例えば、図９の（ａ）を参照すると、一つのショッピングカートに２つの割引クーポン（第１の割引クーポン、第２の割引クーポン）と４つのアイテム（第１アイテムないし第４アイテム）が含まれていることができる。また、ヒューリスティックアルゴリズムまたは最適アルゴリズムを用いて、割引クーポンとアイテムの組み合わせを算出した結果、第１のアイテムおよび第２アイテムは、第１の割引クーポンを適用して、第３のアイテムおよび第４のアイテムは、第２の割引クーポンを適用することを推薦することができる。この時、もし一つのショッピングカートで使用できる割引クーポンの数が１つに制限されているとすれば、ユーザーは第１の割引クーポンと第２の割引クーポンのうちのどちらか１つのみを使用するしかない。
【００９０】
このような問題を解決するために、本開示による電子装置１００は、各割引クーポンと各割引クーポンを適用するアイテムの組み合わせに基づいてショッピングカートを分割することができる。図９の（ｂ）を参照すると、電子装置１００は、ショッピングカートを割引クーポンの数だけ分割して、各割引クーポンを使用できるアイテムを互いに異なるショッピングカートに入れることができる。これにより、本開示の電子装置１００は、アイテムに適用することができる割引クーポンの数に制約されず、使用可能な割引クーポンを効率的に使用できる方法をユーザーに提供することができる。
【００９１】
図１０は、一実施形態によるアイテムに適用する割引クーポン情報を提供する方法の性能を説明するための図である。
【００９２】
図１０の（ａ）は、最適アルゴリズムを用いてアイテムおよび割引クーポンの最適の組み合わせを算出する場合、遅延時間を説明するためのグラフである。図１０の（ａ）の「Ｐ９９  ａｖｅｒａｇｅ」は、最も遅い応答の１％の平均遅延時間を意味し、「Ｐ９９  ｍａｘ」は、最も遅い応答の１％の最大遅延時間を意味する。そして、「ｍｅａｎ」は、全体の遅延時間の平均値を意味する。図１０の（ａ）を参照すると、最適アルゴリズムを用いて、最適の組み合わせを算出する場合、最も遅い応答の１％の最大遅延時間は５０ｍｓないし６０ｍｓ程度に達することを確認できる。
【００９３】
図１０の（ｂ）は、各アルゴリズムを使用する場合に演算に基礎となるアイテムおよび割引クーポンの組み合わせの数を説明するためのグラフである。図１０の（ｂ）の「最適アルゴリズム」は、本開示による方法で最適アルゴリズムが選択または再選択された場合であり、最適アルゴリズムを用いて割引クーポンとアイテムの組み合わせを算出したケースを意味し、「ヒューリスティックアルゴリズム」は、本開示による方法でヒューリスティックアルゴリズムを用いて割引クーポンとアイテムの組み合わせを算出したケースを意味する。そして、「最適アルゴリズム＋ヒューリスティックアルゴリズム」は、上述した二つのインデックスの値を合計したものと同一である。図１０の（ｂ）を参照すると、本開示による方法を実際に具現すると、ほとんどの場合には、最適アルゴリズムを通じて割引クーポンとアイテムの組み合わせが算出されることを確認することができる。
【００９４】
図１０の（ｃ）は、図１０の（ｂ）の「ヒューリスティックアルゴリズム」を拡大したグラフである。図１０の（ｃ）を参照すると、本開示による方法を実際に具現すると、ヒューリスティックアルゴリズムのみを用いて、割引クーポンとアイテムの組み合わせを算出することが比較的少ないことを確認できる。
【００９５】
図１０の（ｄ）は、アイテムおよび割引クーポンの数の合計が大きすぎて、ヒューリスティックアルゴリズムのみを使用することとなったケースを説明するためのグラフである。図１０の（ｄ）に開示されたグラフは、図１０の（ｃ）に開示されたグラフとほぼ類似しているため、ヒューリスティックアルゴリズムのみを使用する場合は、大部分のアイテムおよび割引クーポンの数の合計が所定のしきい値を超過した場合であることを確認できる。
【００９６】
図１１は、一実施形態による電子装置のブロック図を示す。
【００９７】
電子装置１１００は、一実施形態により、メモリ（ｍｅｍｏｒｙ）１１１０およびプロセッサ（ｐｒｏｃｅｓｓｏｒ）１１２０を含むことができる。図１１に示された電子装置１１００は、本実施形態と関連された構成要素のみが示されている。したがって、図１１に図示された構成要素の他に、他の汎用的な構成要素がさらに含まれることができることを、本実施形態と関連された技術分野で通常の知識を有した者であれば理解することができる。電子装置１１００は、電子装置１００に関する内容を含むことができるところ、重複する内容については、説明を省略する。
【００９８】
メモリ１１１０は、電子装置１１００内で処理される各種データを格納するハードウェアであり、例えば、メモリ１１１０は、電子装置１１００で処理されたデータおよび処理される予定のデータを格納することができる。メモリ１１１０は、プロセッサ１１２０の動作のための少なくとも一つの命令語（ｉｎｓｔｒｕｃｔｉｏｎ）を格納することができる。また、メモリ１１１０は、電子装置１１００によって駆動されるプログラムまたはアプリケーションなどを格納することができる。メモリ１１１０は、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などのようなＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ、ブルーレイまたは他の光学ディスクストレージ、ＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、またはフラッシュメモリを含むことができる。
【００９９】
プロセッサ１１２０は、電子装置１１００の全般の動作を制御して、データおよび信号を処理することができる。プロセッサ１１２０は、メモリ１１１０に格納された少なくとも一つの命令語または少なくとも一つのプログラムを実行することにより、電子装置１１００を全般的に制御することができる。プロセッサ１１２０は、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＧＰＵ（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＡＰ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）などで具現されることができるが、これに制限されない。
【０１００】
プロセッサ１１２０は、アイテムの数、割引クーポンの数、およびアイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、複数個のアルゴリズムのうちの一つを第１のアルゴリズムとして選択することができる。ここで、複数のアルゴリズムは、ヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの少なくとも一つを含むことができる。一実施形態によると、プロセッサ１１２０は、アイテムの数に関する第１の条件、割引クーポンの数に関する第２の条件および割引クーポンとアイテムの数の合計に関する第３の条件のうちの少なくとも２つの条件が満足されるか否かに応じて、ヒューリスティックアルゴリズムと最適アルゴリズムのうちの一つを第１のアルゴリズムとして選択することができる。ここで、第１の条件は、ショッピングカートに含まれたアイテムの数が第１のしきい値を超過するか否かであり、第２の条件は、ショッピングカートに含まれた割引クーポンの数が第２のしきい値を超過したか否かであり得る。また、第３の条件は、ショッピングカートに含まれたアイテムと割引クーポンの数の合計が第３のしきい値を超過するか否かであることができ、３つの条件のうちの少なくとも２つの条件を満足する場合、第１のアルゴリズムとしてヒューリスティックアルゴリズムが選択されることができる。
【０１０１】
一実施形態によるプロセッサ１１２０は、各割引クーポンの情報に基づいて、各割引クーポンと各割引クーポンを使用できるアイテムをマッチングすることにより、複数の下位組み合わせを算出し、複数の下位組み合わせのうち元素の数が最も多い下位組み合わせを第１の下位組み合わせに決定し、第１の下位組み合わせの元素の数が第４のしきい値を超過する場合、第１のアルゴリズムとしてヒューリスティックアルゴリズムを選択することができる。具体的には、プロセッサ１１２０は、第１の下位組み合わせの元素の数が第４のしきい値を超過する場合、第１のアルゴリズムとしてヒューリスティックアルゴリズムを選択することができる。
【０１０２】
一方、ヒューリスティックアルゴリズムは、割引クーポンの属性情報に基づいて割引クーポンの間の優先順位を決定し、優先順位が最も高い第１の割引クーポンから、第１の割引クーポン使用時の合計割引金額が最大となるアイテムを選択することに基づいて、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報と関連された情報を決定するアルゴリズムであり得る。この時、割引クーポンの属性情報は、割引方式、割引率および最大割引金額のうちの少なくとも一つを含み、割引方式は定率割引方式および定額割引方式のうちの1つを含むことができる。
【０１０３】
また、定率割引方式の割引クーポンは、定額割引方式の割引クーポンよりもさらに高い優先順位を有し、定率割引方式の割引クーポンの間には割引率が高い割引クーポンがさらに高い優先順位を有し、定額割引方式の割引クーポンの間には割引金額が高い割引クーポンがさらに高い優先順位を有することができる。
【０１０４】
一方、最適アルゴリズムは、割引クーポンとアイテムの全ての組み合わせを対象にして、合計割引金額が最大となるアイテムおよび割引クーポンの組み合わせを決定するアルゴリズムであり得る。割引クーポンとアイテムの全ての組み合わせを対象に演算を遂行するため、割引クーポンおよびアイテム数の合計（ｎ）が増加すると演算の複雑度（２ｎ）も増加するため、遅延時間も長くなることができる。一方、最適アルゴリズムは、割引クーポンとアイテムの組み合わせが複数の場合、複数の組合せに対し、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットを決定する演算が並列的に遂行されることであり得る。
【０１０５】
もし、第１のアルゴリズムとして最適アルゴリズムが選択された場合、実行時間が第１の時間しきい値を超過すると、プロセッサ１１２０は、ヒューリスティックアルゴリズムを用いて、アイテムに適用する割引クーポンを確認することができる。
【０１０６】
プロセッサ１１２０は、選択された第１のアルゴリズムを用いて、各割引クーポンと各割引クーポンが適用されるアイテムのセットを決定することができる。また、一実施形態によるプロセッサ１１２０は、割引クーポンとアイテムの組み合わせが複数の場合、複数の組合せに対して、推薦される割引クーポンを決定する演算を同時に遂行することができる。例えば、第１のクーポンおよび第１アイテムないし第３のアイテムが含まれた組み合わせ｛Ｄ１、Ｉ１、Ｉ２、Ｉ３｝内の割引された金額を計算することと、第２のクーポンおよび第４アイテムないし第６アイテムが含まれた組み合わせ｛Ｄ２、Ｉ４、Ｉ５、Ｉ６｝内の割引された金額を計算することを同時に遂行することで、遅延時間を短縮することができる効果がある。上述された例は、各組み合わせの割引された金額を計算することに関する例示であるが、推薦される割引クーポンを決定する演算は、これに制限されない。
【０１０７】
一実施形態によるプロセッサ１１２０は、割引クーポンと割引クーポンが適用されるアイテムのセットのうち、元素の数が最も多いセットを第１セットに決定して、第１セットの元素の数に基づいて、第１のアルゴリズムを再選択して、割引クーポンおよび割引クーポンが適用されるアイテムのセットと再選択された第１のアルゴリズムを用いて、アップデートされた割引クーポンとアップデートされた割引クーポンが適用されるアイテムのセットを決定することができる。このような場合、アイテムと関連された情報は、アップデートされた割引クーポンとアップデートされた割引クーポンが適用されるアイテムのセットに基づいて決定されたものであり得る。
【０１０８】
もし、複数個のアルゴリズムがヒューリスティックアルゴリズムおよび最適アルゴリズムのうちの少なくとも一つを含み、第１のアルゴリズムとしてヒューリスティックアルゴリズムが選択された以降であれば、プロセッサ１１２０が第１のアルゴリズムを再選択することは、第１セットの元素の数が第５しきい値以下であるとき、第１のアルゴリズムを最適アルゴリズムとして再選択することであり得る。
【０１０９】
一方、各割引クーポンと各割引クーポンが適用されるアイテムのセットは、アイテムの情報および割引クーポンの情報のうちの少なくとも一つに基づいて算出されるものであり得る。また、アイテムの情報は、アイテムのＩＤ、アイテムが属したカテゴリーおよびアイテムの価格のうちの少なくとも一つを含み、割引クーポンの情報は、割引クーポンの属性情報、使用可能なユーザーレベルおよび使用可能な決済手段のうちの少なくとも一つを含むことができる。
【０１１０】
また、プロセッサ１１２０は、オンラインショップで一つのショッピングカートに対して一つの割引クーポンのみ使用可能であり、アイテムおよび割引クーポンが第１のショッピングカートに含まれた場合、各割引クーポンおよび各割引クーポンが適用されるアイテムのセットに対する情報に基づいて、同一の割引クーポンを使用するように推薦されたアイテムを分類し、分類結果に基づいて、第１のショッピングカートを複数のショッピングカートに分割することができる。
【０１１１】
また、プロセッサ１１２０は、割引クーポンと関連された情報をオンラインショップのショッピングカートのページおよび最終決済ページのうちの少なくとも一つに表示することができる。
【０１１２】
前述した実施形態に係る電子装置または端末は、プロセッサー、プログラムデータを格納し実行するメモリ、ディスクドライブのような永久格納部（ｐｅｒｍａｎｅｎｔ  ｓｔｏｒａｇｅ）、外部装置と通信する通信ポート、タッチパネル、キー（ｋｅｙ）、ボタン等のようなユーザーインタフェース装置等を含むことができる。ソフトウェアモジュールまたはアルゴリズムで具現される方法は、前記プロセッサー上で実行できるコンピュータで読み取り可能なコードまたはプログラム命令であり、コンピュータで読み取り可能な記録媒体上に格納され得る。ここで、コンピュータで読み取り可能な記録媒体として、磁気記憶媒体（例えば、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ−Ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、フロッピーディスク、ハードディスク等）および光学的読み取り媒体（例えば、シーディーロム（ＣＤ−ＲＯＭ）、ディーブイディー（ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））等がある。コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードが格納され実行され得る。媒体は、コンピュータにより読み取り可能であり、メモリに格納され、プロセッサーで実行され得る。
【０１１３】
本実施形態は、機能的なブロック構成および多様な処理段階で示され得る。このような機能ブロックは、特定の機能を実行する多様な個数のハードウェアまたは／およびソフトウェア構成で具現され得る。例えば、実施形態は、１つ以上のマイクロプロセッサーの制御または他の制御装置により多様な機能を実行できる、メモリ、プロセッシング、ロジック（ｌｏｇｉｃ）、ルックアップテーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）等のような直接回路構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素で実行され得ることと同様に、本実施形態は、データ構造、プロセス、ルーチンまたは他のプログラミング構成の組合せで具現される多様なアルゴリズムを含み、Ｃ、Ｃ＋＋、ジャバ（Ｊａｖａ）、アセンブラ（ａｓｓｅｍｂｌｅｒ）等のようなプログラミングまたはスクリプティング言語で具現され得る。機能的な側面は、１つ以上のプロセッサーで実行されるアルゴリズムで具現され得る。また、本実施形態は、電子的な環境設定、信号処理、および／またはデータ処理等のために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は広く使用することができ、機械的かつ物理的な構成に限定されるものではない。前記用語は、プロセッサー等と連係してソフトウェアの一連の処理（ｒｏｕｔｉｎｅｓ）の意味を含むことができる。
【０１１４】
前述した実施形態は、一例示のみであり、後述する請求項の範囲内で、他の実施形態が具現されることができる。
【符号の説明】
【０１１５】
１００：電子装置
２００：端末
Ｄ１：第１の割引クーポン
Ｄ２：第２の割引クーポン
Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５、Ｉ６：アイテム
１１００：電子装置
１１１０：メモリ
１１２０：プロセッサ
【要約】
【課題】本開示は電子装置およびその動作方法を開示する。
【解決手段】本開示による方法および電子装置は、アイテムの数、割引クーポンの数、およびアイテムと割引クーポンの数の合計のうちの少なくとも一つに基づいて、選択されたアルゴリズムを用いて、オンラインショップでユーザーが購入しようとするアイテムに適用する割引クーポンに関する情報を提供する。
【選択図】図５【図１】
0006943495.tif 000002
【図２】
0006943495.tif 000003
【図３】
0006943495.tif 000004
【図４】
0006943495.tif 000005
【図５】
0006943495.tif 000006
【図６】
0006943495.tif 000007
【図７】
0006943495.tif 000008
【図８】
0006943495.tif 000009
【図９】
0006943495.tif 000010
【図１０】
0006943495.tif 000011
【図１１】
0006943495.tif 000012