Two Plus Two Newer Archives

Two Plus Two Newer Archives (http://archives1.twoplustwo.com/index.php)
-   Heads Up Poker (http://archives1.twoplustwo.com/forumdisplay.php?f=60)
-   -   Why Position Matters Using Game Theory (http://archives1.twoplustwo.com/showthread.php?t=496369)

jay_shark 09-08-2007 11:07 AM

Why Position Matters Using Game Theory
 
Here is another interesting problem that shows why position matters .

There are two players who pick random numbers from the closed interval [0,1] . Each player posts an ante and has to make a decision whether or not to play for the pot or fold . The first player to act has three choices to make . He may either bet the pot, check-call , or check and fold . Player two can only call a bet , check or fold . There is no raising in this game .

a) What numbers should player one bet with ?
b) What numbers should player one check and call with ?
c) What numbers should player one check and fold with ?

*Bonus Question*

What is the EV of this game for both players ?

daveT 09-08-2007 01:44 PM

Re: Why Position Matters Using Game Theory
 
I love these posts. I wish I wasn't to stupid to solve them.

jay_shark 09-08-2007 01:50 PM

Re: Why Position Matters Using Game Theory
 
Thx Dave .

Feel free to give it a shot if you dare .

mykey1961 09-08-2007 03:35 PM

Re: Why Position Matters Using Game Theory
 
If player 1 can check-call, and player 2 can only call a bet, check, or fold, what is player 1 calling after his check?

SuperSnort 09-08-2007 03:47 PM

Re: Why Position Matters Using Game Theory
 
i dont get it , do they choose decimals or something? if that is the case, as i am not clever, i would go for bet anythin higher than .5 check anything lower, and player 2 do the same

but i am so obviously wrong

jay_shark 09-08-2007 04:42 PM

Re: Why Position Matters Using Game Theory
 
Player one can check and call a bet .
Player one can make a bet in which case player two has the option of folding or calling .
Player one can check and fold if player two makes a bet .
Player one may also check and player two has the option of checking as well .

abcjnich 09-09-2007 02:44 AM

Re: Why Position Matters Using Game Theory
 
as i said in the first thread, the answer is obv to read the mathematics of poker. or be really good at math.

Vinetou 09-09-2007 06:19 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
as i said in the first thread, the answer is obv to read the mathematics of poker. or be really good at math.

[/ QUOTE ]

I hope when I read this book, I will know more about how to solve these problems. Reading it right now.

jay_shark 09-09-2007 10:08 AM

Re: Why Position Matters Using Game Theory
 
abc , I already know how to solve this since I've proposed most of these problems .

I've read a similar problem to this one , but the last two set of problems were my own .

TNixon 09-09-2007 01:20 PM

Re: Why Position Matters Using Game Theory
 
Important missing detail:

The value of the antes in relation to the value of the bet.

It matters.

jay_shark 09-09-2007 01:29 PM

Re: Why Position Matters Using Game Theory
 
I thought I mentioned that .

There are two antes so you should bet the pot which is 2 antes . So your opponent is getting 2:1 odds to call .

TNixon 09-09-2007 01:35 PM

Re: Why Position Matters Using Game Theory
 
Oh. Duh. You're right. I missed the "pot" part of "bet the pot" in one sentence, and everywhere else you just say "bet". [img]/images/graemlins/smile.gif[/img]

shat4brains 09-09-2007 01:35 PM

Re: Why Position Matters Using Game Theory
 
why dont u become a math teacher ?

mykey1961 09-09-2007 02:39 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
Here is another interesting problem that shows why position matters .

There are two players who pick random numbers from the closed interval [0,1] . Each player posts an ante and has to make a decision whether or not to play for the pot or fold . The first player to act has three choices to make . He may either bet the pot, check-call , or check and fold . Player two can only call a bet , check or fold . There is no raising in this game .

a) What numbers should player one bet with ?
b) What numbers should player one check and call with ?
c) What numbers should player one check and fold with ?

*Bonus Question*

What is the EV of this game for both players ?

[/ QUOTE ]

I'm not 100% sure but here goes:

Player 1 should bet with 3/7 thru 1
Player 1 should never check and call.
Player 1 should check and fold with 0 thru 3/7.

If Player 1 checks:
Player 2 should check with 0 thru 1/7
Player 2 should bet with 1/7 thru 1

If Player 1 bets:
Player 2 should fold with 0 thru 13/21
Player 2 should call witn 13/21 thru 1

EV is -4/21 for Player 1

jay_shark 09-09-2007 03:16 PM

Re: Why Position Matters Using Game Theory
 
Here is one possible solution . I will follow with the same set up as I did for my Game Theory Resolution problem .

Solution: Let a be your optimal pushing range ; a>=0
Let x be your opponent's optimal calling range . 1/3<=x<=1

We can write a in terms of x . Notice that (1-x)/(x-a) = 2
x=(2a+1)/3

The probability that your opponent wins given that he calls is 2/3 which is verified since 1/3 + 2/3*1/2 = 2/3

So the probability that you win given that he calls is 1/3 .

Lets compute your optimal EV when you bet .

EV = 3*(1-x)/2*[2x + 4*1/3*(1-x) -2*2/3*(1-x)]
EV= 3x*(1-x) after simplifying .

Take the derivative of the EV function

EV' = -6x+3 which means that x>=1/2 if we set the derivative =0 .

Therefore a=1/4 .

So we should only check and call or possibly check and fold if our number is less than 1/4 and that we will always bluff with hands [1/4,1/2]. Note that there are variations to one's bluffing interval .

If we check , then our opponent knows that our number is less than 1/4 .

I haven't worked out the check and call or check and fold scenario but I'll come up with an answer shortly .


jay_shark 09-09-2007 03:56 PM

Re: Why Position Matters Using Game Theory
 
So player one should check and fold 100% of the time with numbers less than 1/4 .

Clearly , player two's EV is positive just for being in position !

mykey1961 09-09-2007 04:24 PM

Re: Why Position Matters Using Game Theory
 
Analysis of (a = 1/4)

P1 bets (1/4..1)
P2 fold (0..1/2), call (1/2..1)

P1 checks (0..1/4)
P2 checks (0..1/12)

P2 bets (1/12..1)

P1 folds (0..7/18)
P1 calls (7/18..1) but if P1 had (7/18..1) he would have bet.


Calculating EV from P1's perspective:

P1 (0..1/12), P2 (0.,1/12) : Check Check Tie 1/144 * ($0) = 0/144
P1 (0..1/12), P2 (1/12..1) : Check Bet Fold P2 Win 11/144 * (-$1) = -11/144
P1 (1/12..1/4), P2 (0..1/12) : Check Check P1 Win 2/144 * ($1) = 2/144
P1 (1/12..1/4), P2 (1/12..1) : Check Bet Fold P2 Win 22/144 * (-$1) = -22/144
P1 (1/4..1/2), P2(0..1/2) : Bet Fold P1 Win 18/144 * ($1) = 18/144
P1 (1/4..1/2), P2(1/2..1) : Bet Call P2 Win 18/144 * (-$3) = -54/144
P1 (1/2..1), P2 (0..1/2) : Bet Fold P1 Win 36/144 * ($1) = 36/144
P1 (1/2..1), P2 (1/2..1) : Bet Call Ties 36/144 * ($0) = 0/144

P1's EV = -31/144

That's worse for P1 than (a = 3/7)

jay_shark 09-09-2007 06:47 PM

Re: Why Position Matters Using Game Theory
 
Mykey , you have my EV wrong .

If player one shoves with 1/4 + , then his

EV= 3*0.5*0.5 - 1 = -0.25

Just plug the numbers into my EV equation .

EV using your strategy is :

EV = 4/7*2*13/31 ~ 0.7074 . If we subtract the $ fee then we get ~ -0.2925.

Again , my strategy is optimal .

mykey1961 09-09-2007 06:58 PM

Re: Why Position Matters Using Game Theory
 
Your doing it again.

You plug the numbers into a formula, get a number and assume that's the right answer to the question.

Your formula doesn't consider the times player 1 checks, then player 2 bets.

marv 09-09-2007 07:17 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
Mykey , you have my EV wrong .

If player one shoves with 1/4 + , then his

EV= 3*0.5*0.5 - 1 = -0.25

Just plug the numbers into my EV equation .

EV using your strategy is :

EV = 4/7*2*13/31 ~ 0.7074 . If we subtract the $ fee then we get ~ -0.2925.

Again , my strategy is optimal .

[/ QUOTE ]



Hmmm.

This is a jam/call/fold problem with ante=1 and stacksize=3

My program doesn't handle the continuous [0,1] game but can do the game with a finite number of cards (like your previous problem). The optimal EV for various numbers of cards in the deck looks like:

ncards EV
10 -0.0888889
50 -0.0847619
100 -0.0841414
150 -0.0838628
200 -0.0837353
250 -0.0836627
300 -0.0836046
350 -0.0835667

So I'm pretty sure your SB strategy isn't optimal.

Marv

jay_shark 09-10-2007 12:11 AM

Re: Why Position Matters Using Game Theory
 
Marv , each player posts 1$ in antes so there are 2 $'s in total before action begins . Either player is allowed to bet 2$ which is the size of the pot after they've chosen their numbers .

I'm fairly certain that the EV for player 1 is -0.25 which is totally off from yours so maybe you misinterpreted the question .

To Mikey :

Your total EV using your strategy is 4/7*2*13/21 + Equity when you check .

Your equity when you check from [0,3/7] and that player 2 checks with [0,1/7] is 3/7*1/7*2/3 .

Total EV ~0.74829 . If we subtract the $1 ante we get ~ -0.2517.

mykey1961 09-10-2007 12:48 AM

Re: Why Position Matters Using Game Theory
 
Analysis for (a = 3/7)

From P1's Perspective:

P1(0..1/7) Check P2(0..1/7) Check -> Tie ($0) * 9/441 = 0/441
P1(1/7..3/7) Check P2(0..1/7) Check -> P1 Win ($1) * 18/441 = 18/441
P1(0..3/7) Check,Fold P2(1/7..1) Bet -> P2 Win (-$1) * 162/441 = -162/441
P1(3/7..1) Bet P2(0..13/21) Fold -> P1 Win ($1) * 156/441 = 156/441
P1(3/7..13/21) Bet P2(13/21..1) Call -> P2 Win (-$3) * 32/441 = -96/441
P1(13/21..1) Bet P2(13/21..1) Call -> Tie ($0) * 64/441 = 0/441

EV = -84/441 = -4/21

jay_shark 09-10-2007 01:16 AM

Re: Why Position Matters Using Game Theory
 
I have to change my formula set up to include the equity you get when both hands get checked .

Here is player 1's equity using a=3/7 with corrections .


The only profit player 1 makes is from his fold equity and when both numbers get checked . He breaks even when both players contest for the pot .

If you shove with 3/7+ your fold equity is

So 4/7 times you will be betting . In order to win the pot , you need to assure yourself that player two will fold which will happen 13/21 times .

FE= 2*4/7*13/21

Equity when both hands get checked is :

To figure out our equity for player 1 we have to compute the probability that player 1 wins given that he checks [0,3/7] and player 2 checks [0,1/7]. This is simply 2/3 .

3/7*1/7*2/3*2 .

If we add the two we get that player 2's EV = 116/147 . If we subtract $1 we get -31/147 . Which is better than my original -0.25 .

mykey1961 09-10-2007 01:16 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
Marv , each player posts 1$ in antes so there are 2 $'s in total before action begins . Either player is allowed to bet 2$ which is the size of the pot after they've chosen their numbers .

I'm fairly certain that the EV for player 1 is -0.25 which is totally off from yours so maybe you misinterpreted the question .

To Mikey :

Your total EV using your strategy is 4/7*2*13/21 + Equity when you check .

Your equity when you check from [0,3/7] and that player 2 checks with [0,1/7] is 3/7*1/7*2/3 .

Total EV ~0.74829 . If we subtract the $1 ante we get ~ -0.2517.

[/ QUOTE ]

Gotta love it when you throw together a formula, get a number you like, and think it's the answer to the question.


Lets take "4/7*2*13/21"

What does the 4/7, 2, and 13/21 represent to you?

jay_shark 09-10-2007 01:35 AM

Re: Why Position Matters Using Game Theory
 
Final EV set up .

EV in fold equity = 3x*(1-x)

EV when both hands get checked = 2*(3x-1)/2*(3x-1)/6*2/3.

After you set the derivative =0 you should get x=7/12 .
So a=3/8

Final answer .

mykey1961 09-10-2007 02:14 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
I have to change my formula set up to include the equity you get when both hands get checked .

Here is player 1's equity using a=3/7 with corrections .


The only profit player 1 makes is from his fold equity and when both numbers get checked . He breaks even when both players contest for the pot .

If you shove with 3/7+ your fold equity is

So 4/7 times you will be betting . In order to win the pot , you need to assure yourself that player two will fold which will happen 13/21 times .

FE= 2*4/7*13/21

Equity when both hands get checked is :

To figure out our equity for player 1 we have to compute the probability that player 1 wins given that he checks [0,3/7] and player 2 checks [0,1/7]. This is simply 2/3 .

3/7*1/7*2/3*2 .


If we add the two we get that player 2's EV = 116/147 . If we subtract $1 we get -31/147 . Which is better than my original -0.25 .

[/ QUOTE ]

You need to be a little more careful when you combine Expected Value and Equity.

Expected Value = Pot * Equity - Cost

When P1 and P2 checks, P1's Equity = 5/6, Pot = $2, Cost = $1, EV_chk_chk = $2*5/6-$1 = 2/3

When P2 Bets, and P1 Folds, P1's Equity = 0, Pot = $4, Cost = $1, EV_chk_bet_fold = $4*0-$1 = -1

When P1 Bets and P2 Folds, P1's Equity = 1, Pot = $4, Cost = $3, EV_Bet_Fold = $4*1-$3 = 1

When P1 Bets and P2 Calls, P1's Equity = 1/3, Pot = $6, Cost = $3, EV_Bet_Call = $6 * 1/3 - $3 = -1


P1 and P2 Checks: 3/7 * 1/7 * 2/3 = 6/147
P2 Bets and P1 Folds: 6/7 * 3/7 * -1 = -18/49 = -54/147
P1 Bets and P2 Folds: 4/7 * 13/21 * 1 = 52/147
P1 Bets and P2 Calls: 4/7 * 8/21 * -1 = -32/147

(6 -54 +52 -32)/147 = -28/147 = -4/21

marv 09-10-2007 09:03 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
I have to change my formula set up to include the equity you get when both hands get checked .

Here is player 1's equity using a=3/7 with corrections .


The only profit player 1 makes is from his fold equity and when both numbers get checked . He breaks even when both players contest for the pot .

If you shove with 3/7+ your fold equity is

So 4/7 times you will be betting . In order to win the pot , you need to assure yourself that player two will fold which will happen 13/21 times .

FE= 2*4/7*13/21

Equity when both hands get checked is :

To figure out our equity for player 1 we have to compute the probability that player 1 wins given that he checks [0,3/7] and player 2 checks [0,1/7]. This is simply 2/3 .

3/7*1/7*2/3*2 .

If we add the two we get that player 2's EV = 116/147 . If we subtract $1 we get -31/147 . Which is better than my original -0.25 .

[/ QUOTE ]

Jay. Consider the following strategy for player1 (which I do not claim is optimal):

[0,0.1] bet
[0.1,0.3] check-fold
[0.3,0.4] check-call
[0.4,0.6] check-fold
[0.6,0.8] check-call
[0.8,1.0] bet

This is much better than either of your strategies.

Marv

jay_shark 09-10-2007 11:04 AM

Re: Why Position Matters Using Game Theory
 
If player one bets with [0,0.1] and [0.8,1] then player two should/could call with [0.8,1] .

If player one checks with [0.1,0.8] then player two should/could bet with [1/3,0.8] and check behind everything else .

Under this strategy for player two , player one's EV is :

FE= 2*3/10*8/10 =0.48
Check equity= 2*7/10*1/3*2/3 = 0.31111111

Total EV = 0.79111111 -1 = -20888888

Under my strategy for x=7/12 and a=3/8

Total EV = 0.79166666-1 =-20.833333333 (I plugged x=7/12 into my equation )

Again , it would be nice if one would develop a viable strategy for both players so it's easier to compare .

mykey1961 09-10-2007 11:27 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]

Equity when both hands get checked is :

To figure out our equity for player 1 we have to compute the probability that player 1 wins given that he checks [0,3/7] and player 2 checks [0,1/7]. This is simply 2/3 .

3/7*1/7*2/3*2 .


[/ QUOTE ]

This is not true.

When P2 is [0,1/7]:

P1 has 1/2 equity for [0,1/7]
P1 has 1 equity for [1/7,2/7]
P1 has 1 equity for [2/7,3/7]

Therefore P1 [0,3/7] vs P2 [0,1/7]: P1 has 5/6 equity.

jay_shark 09-10-2007 11:51 AM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
[ QUOTE ]

Equity when both hands get checked is :

To figure out our equity for player 1 we have to compute the probability that player 1 wins given that he checks [0,3/7] and player 2 checks [0,1/7]. This is simply 2/3 .

3/7*1/7*2/3*2 .


[/ QUOTE ]

This is not true.

When P2 is [0,1/7]:

P1 has 1/2 equity for [0,1/7]
P1 has 1 equity for [1/7,2/7]
P1 has 1 equity for [2/7,3/7]

Therefore P1 [0,3/7] vs P2 [0,1/7]: P1 has 5/6 equity.

[/ QUOTE ]

Given that both players have checked , the probability player one has a number from [0,1/7]is 1/3. When this happens , he will win $2 , one-half of the time .

1/3*2*1/2 = 1/3 .

The probability player two has a number from [1/7,3/7] is 2/3 . When this happens , he will win $2 , 100% of the time .

2/3*2*1 =4/3

His EV = 4/3+1/3 =5/3 =2*5/6 .

I will have to go back and make yet another adjustment .
The problem isn't too difficult it's just very easy to get sidetracked .

mykey1961 09-10-2007 12:08 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
If player one bets with [0,0.1] and [0.8,1] then player two should/could call with [0.8,1] .

If player one checks with [0.1,0.8] then player two should/could bet with [1/3,0.8] and check behind everything else .



[/ QUOTE ]

why wouldn't Player 2 Bet with [1/3,1] when Player 1 checks?

marv 09-10-2007 12:23 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
If player one bets with [0,0.1] and [0.8,1] then player two should/could call with [0.8,1] .

If player one checks with [0.1,0.8] then player two should/could bet with [1/3,0.8] and check behind everything else .

Under this strategy for player two , player one's EV is :

FE= 2*3/10*8/10 =0.48
Check equity= 2*7/10*1/3*2/3 = 0.31111111

Total EV = 0.79111111 -1 = -20888888

Under my strategy for x=7/12 and a=3/8

Total EV = 0.79166666-1 =-20.833333333 (I plugged x=7/12 into my equation )

Again , it would be nice if one would develop a viable strategy for both players so it's easier to compare .

[/ QUOTE ]

I wildly disagree with this EV. My simulation of the exact strategies mentioned here gives close to +0.065 for player1.

Marv


#include <stdlib.h>
#include <stdio.h>

int main()
{
int n = 0;
double sum = 0.0;

srand48(123);

for (n=0; ; n++) {
double h1 = drand48();
double h2 = drand48();

if (h1 < 0.1 || h1 > 0.8)
if (h2 < 0.8)
sum += 1;
else
sum += (h1 > h2 ? 3 : -3);
else
if (h2 > 1/3.0 && h2 < 0.8)
if (h1 < 0.3 || (h1 > 0.4 && h1 < 0.6))
sum += -1;
else
sum += (h1 > h2 ? 3 : -3);
else
sum += (h1 > h2 ? 1 : -1);


if (!(n % 1000000))
printf("%i %g\n", n, sum/n);
}
}

mykey1961 09-10-2007 01:04 PM

Re: Why Position Matters Using Game Theory *DELETED*
 
Post deleted by mykey1961

jay_shark 09-10-2007 01:07 PM

Re: Why Position Matters Using Game Theory
 
Am I the only person trying to find a mathematical solution to this ?

It seems like you guys are spewing random numbers with disregard to the solution .

marv 09-10-2007 01:19 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
Marv,

try

SB
[0,0.1] bet
[0.1,0.3] check-fold
[0.3,0.4] check-call
[0.4,0.6] check-fold
[0.6,0.8] check-call
[0.8,1.0] bet

vs

BB
if SB Bets
[0,1/10] fold
[1/10,1] Call
if SB Checks
[0,17/30] Check
[17/30,1] Bet

I'm thinking the EV for SB will be -0.49

[/ QUOTE ]

I get about -0.044 for this pair.

To Jay. If we can't agree on the EV of one strategy vs another we have no hope of solving these problems.

Read the Mathematics of Poker for one way to get exact solutions to [0,1] games. This is old, old stuff, and I'm sure someone will use the method described in that book to produce the correct answer at some point.

My techniques don't apply to the continuous [0,1] game but can handle more general discrete games, so I'm not trying to solve your problem, I'm just trying to show you that your own approach is giving completely rubbish answers. If this is not helpful I'll just stop and let you be.

Marv

jay_shark 09-10-2007 01:26 PM

Re: Why Position Matters Using Game Theory
 
EV = (3x-1)/2*(3x-1)/6*5/3 + 3x*(1-x)
EV' = -10x/4 -1/6 +3 -6x

Set this equal to 0 and we get x=17*2/(3*14) ~ 0.8095

So opponent 2's optimal calling range should be about [0.8095,1]

Player one should shove with a= 5/7 .

Can one do better than this ?

If so , then I must have my equations wrong .

I may have to start from scratch is this is not working out .

jay_shark 09-10-2007 01:41 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]


I wildly disagree with this EV. My simulation of the exact strategies mentioned here gives close to +0.065 for player1.

Marv


#include <stdlib.h>
#include <stdio.h>

int main()
{
int n = 0;
double sum = 0.0;

srand48(123);

for (n=0; ; n++) {
double h1 = drand48();
double h2 = drand48();

if (h1 < 0.1 || h1 > 0.8)
if (h2 < 0.8)
sum += 1;
else
sum += (h1 > h2 ? 3 : -3);
else
if (h2 > 1/3.0 && h2 < 0.8)
if (h1 < 0.3 || (h1 > 0.4 && h1 < 0.6))
sum += -1;
else
sum += (h1 > h2 ? 3 : -3);
else
sum += (h1 > h2 ? 1 : -1);


if (!(n % 1000000))
printf("%i %g\n", n, sum/n);
}
}

[/ QUOTE ]

Marv , we can work together on this .

My intuition tells me that this game should be negative EV for player 1 . Are you saying that this is not the case ?

mykey1961 09-10-2007 01:51 PM

Re: Why Position Matters Using Game Theory
 
[ QUOTE ]
Am I the only person trying to find a mathematical solution to this ?

It seems like you guys are spewing random numbers with disregard to the solution .

[/ QUOTE ]

Is it better to spew calculated numbers that aren't the solution because your formula isn't accurate?

jay_shark 09-10-2007 01:59 PM

Re: Why Position Matters Using Game Theory
 
Actually my latest answer is very close to Marv's . The only difference is that he's working in the discrete case where as I'm not .


marv 09-10-2007 02:11 PM

Re: Why Position Matters Using Game Theory
 
With optimal play on both sides, player 2 will have a positional advantage, but under optimal play each player will be using a best response to the other players strategy.

In my example which wasn't quite optimal for player 1, if P1 checks with [0.1,0.8] and folds to a bet too often (as he does in my example), player 2's best response to a check must be to bet everything in [0,1]. Your proposal for player 2 wasn't betting enough so player 1 was getting more EV than he should.

Note that player 1's distribution after check is not that much weaker than after he bets. This is typical when player 1 may have further decisions after checking, and is why we wouldn't expect a strategy of the form 'always fold after checking' to be optimal - it means P1's initial action gives away too much information.

Marv


All times are GMT -4. The time now is 12:50 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.